Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器 软件资源

软件开发小程序制作系统集成与运维空间租用硬件开发视频监控技术咨询与支持——联系电话:0311-88999002/88999003

首页 / 操作系统 / Linux

从printk和logMsg看Linux和vxworks的设计理念差异

从printk和logMsg看Linux和vxworks的设计理念差异

printk是linux内核的打印函数,类似用户态下的printf,可在中断上下文调用;同样,logMsg是vxworks内核的打印函数,也可在中断上下文调用。linux开始作为桌面系统设计,后来广泛用于服务器领域,慢慢扩展到了嵌入式系统;而vxworks则以高性能实时嵌入式系统闻名。从这可以看出,它们的差异是很大的,考查两个同样的功能在不同系统的实现,管中窥豹,虽有不足,但也可以了解两个系统(分时系统与实时系统)设计上的一些考虑。下面先看看printk的...
pthread互斥信号量使用总结

pthread互斥信号量使用总结

glibc提供的pthread互斥信号量可以用在进程内部,也可以用在进程间,可以在初始化时通过pthread_mutexattr_setpshared接口设置该信号量属性,表示是进程内还是进程间。进程内的使用较为简单,本文的总结主要是针对进程间的,进程内的也可以参考,其代码实现原理是类似的。一、实现原理pthread mutex的实现是非常轻量级的,采用原子操作+futex系统调用。在没有竞争的情况下,即锁空闲时,任务获取信号量只需要通过原子操作锁的状态值...
Linux内存管理伙伴算法

Linux内存管理伙伴算法

在系统初始化进行到伙伴系统分配器能够承担内存管理的责任后,必须停用bootmem分配器,毕竟不能同时用两个分配器管理内存。在UMA和NUMA系统上,停用分别由free_all_bootmem和free_all_bootmem_node完成(前面的博客已经详细讨论过)。伙伴系统基于一种相对简单而令人吃惊的强大算法,它结合了优秀内存分配器的两个关键特性:速度和效率。Linux内核中采用了一种同时适用于32位和64位系统的内存分页模型,对于32位系统来说,两级页...
bash 脚本编程四 外部参数 IFS

bash 脚本编程四 外部参数 IFS

通过$0可以获取传递来的第一个参数,就是脚本自己,$1可以获得第二个参数,比如:#!/bin/bashecho"$0"echo"$1"运行程序 ./test/shq看到:$./test.shq./test.shq传递参数的时候,如果是字符串,可以用单引号或者双引号包起来,表示这是一个完整的参数:./test.sh"thisisatest"既然扯到双引号,要注意,如果在双引号里使用了变量,也会用其值替换,比如: ./test.sh"$HOME"./test....
bash 脚本编程一 文件头,变量,空格

bash 脚本编程一 文件头,变量,空格

必须在脚本文件开头写下:#!/bin/bash意思是这是一个bash shell脚本,而不是其他流行的脚本文件。 调用一个基本的Linux命令,echo"hello,world"保存为test.sh文件,打开执行权限:sudochmod+x./test.sh运行吧: ./test.sh看到了hello,world.添加一个注释吧,用#开头(pound sign)的所有字符都是注释,除了第一行以外#!/bin/bashecho"hello,world"#th...
<< 3441 3442 3443 3444 3445 3446 3447 3448 3449 3450 >>