- OS要完成的两个目标:1)与硬件部分交互;2)为应用程序提供执行环境
- OS将PC物理组织的低层细节对用户隐藏.该特性依靠特殊的硬件特性来禁止用户APP直接与低层硬件进行交互,或者禁止直接访问任意的物理地址
- 硬件为CPU引入了两种执行模式:特权模式(内核态)/非特权(用户态)
- 多用户系统: 1)并发(concurrently):几个APP同时处于活动态并竞争资源;
2)独立(independently):每个APP能执行自己的任务.
- 内核体系: Linux提供模块(Module:目标文件),其代码可以在运行时链接或解除到内核,从而节省内存,且平台无关,无性能损失.
- 文件:字节序列组成的信息载体;名称以除"/"和"\0"外的字符组成; 路径名以"/"开头的为绝对路径,否则为相对(于当前目录)路径.
- 硬链接:同一文件可以有几个,即一个文件对应几个文件名,指令"$ln p1
p2":不允许为目录创建它(易形成环形圆),只能在同一文件系统中创建;
- 软(符号)链接:其实是短文件(含另一文件的人一个路径名),在ln 命令后添加 "-s".
- 文件操作:文件系统是硬盘分区物理组织的用户级视图,每个实际的文件操作在内核态下执行.
- 进程/内核模式: 内核本身不是进程,而是进程的管理者; 进程使用系统调用来请求内核服务,之后切换至内核态; OS含有几个内核线程的特权进程;
激活内核例程:1)系统调用;2)异常;3)中断;4)内核线程执行
- 进程实现: 进程由进程描述符来包含当前状态的信息;
内核暂停进程时,将几个寄存器的内容保存到描述符内,恢复执行时,从描述符从选择合适的字段来转转CPU寄存器.
- 可重入内核: 几个进程可同时在内核态下执行,但是真正运行的唯一; 硬件中断发生时,内核应能挂起正在执行的进程(即使是内核态的);
方式:可重入函数(只能修改local var),且用锁来保证一个进程执行一个非重入函数
- 进程地址空间: 每个进程有自己的私有地址空间,含有私有栈,代码区和数据区; 进程间也能共享部分地址空间("共享内存"技术),已实现通信;
- 信号量: 在单CPU和多CPU系统上都有效,是一个与数据结构相关的计数器; 所有内核线程试图访问这个数据结构之前,都要先检查这个信号量.
- 自旋锁: 多CPU时使用,没有等待进程的链表,进程发现锁被锁时,不停地"旋转"(执行一个紧凑的循环指令).
1.绪论,布布扣,bubuko.com
1.绪论
原文:http://www.cnblogs.com/robyn/p/3729332.html