操作系统
……
绪论
操作系统定义
操作系统是核心系统软件,负责计算机系统软、硬件资源的分配和使用;控制和协调并发活动;提供用户接口,使用户获得良好的工作环境
操作系统的特性:并发性、共享、不确定性
操作系统的资源管理功能:处理机管理、存储器管理、设备管理、文件系统
UNIX操作系统是一个交互式和多用户分时系统,可移植,结构分为核心层和实用层,核心层包括进程管理,存储管理,设备管理,文件系统几个部分
操作系统的基本类型
批量操作系统、分时操作系统、实时操作系统
操作系统大多是多用户、多任务操作系统,采用的关键技术是并行处理技术和虚拟技术
层次机构
与基本机器硬件(裸机)紧挨的是系统核(基础核心):初级中断处理、进程控制进程处理、处理机分派
往外是存储管理,I/O处理,文件存取,资源分配和调度
第2章 操作系统的结构和硬件支持
处理机的态及分类
管态:又称系统态,是操作系统的管理程序执行时及其所处的状态,可以使用所有的资源,允许访问整个存储区
用户态:又称目态,是用户程序执行时机器所处的状态,只允许用户程序访问自己的存储区域
第3章 操作系统的用户接口
- 系统功能调用的实现:操作系统的服务是通过系统调用来实现的,系统调用提供运行程序和操作系统之间的接口
第4章 进程及进程管理
进程的定义
所谓进程,就是一个程序在给定活动空间和初始环境下,在一个处理机上的执行过程
进程是竞争计算机系统有限资源的基本单位,也是进行处理机调度的基本单位
进程创建与撤销
创建原语:create
撤销原语:kill
等待原语:susp
唤醒原语:wakeup
若mutex=1,表示没有进程进入临界区
若mutex=0,表示有一个进程进入临界区
若mutex=-1,表示有一个进程进入临界区,另一个进程等待
进程通信方式:消息缓冲通道、信箱通道
线程的概念
线程是比进程更小的活动单位,它是进程中的一个执行路径
进程是任务调度的单位,也是系统资源的分配单位;而线程是进程中的一条执行路径,当系统支持多线程处理时,线程是任务调度的单位,但不是系统资源的分配单位。线程完全继承父进程占有的资源,当它活动时,具有自己的运行现场
第5章 资源分配与调度
死锁产生的原因:产生死锁的根本原因是系统能够提供的资源个数,比请求该资源的进程数要少。当系统中两个或多个进程因申请资源得不到满足,若各进程都没有能力进一步执行,系统就会发生死锁
产生死锁的4个必要条件:
- 互斥条件:资源一次只能被一个进程使用,必须等该资源被释放才能申请到该资源
- 不剥夺条件:进程所占用的资源在使用完成前,不能被其他进程强行夺走
- 占有并等待:进程每次申请资源时,继续占有已分配的资源
- 环路条件:存在一种进程的循环链,链中的每个资源都被进程占用,且被下一个资源请求
死锁的避免
有序资源分配法、银行家算法
第6章 处理机调度
- 作业调度的功能
- 确定数据结构
- 确定调度算法
- 分配资源
- 善后处理
- 作业调度算法
- 先来先服务调度算法
- 短作业优先调度算法
- 响应比高者优先调度算法
第7章 主存管理
虚存的定义
计算机系统在处理应用程序时,只装入部分程序代码和数据就启动运行,由操作系统和硬件相配合完成主存和辅存之间的信息的动态调度,这样的计算机系统好像为用户提供了一个其存储容量比实际主存大得多的存储器,这个存储器称为虚拟存储器,之所以叫虚拟存储器,是因为这样的存储器实际并不存在,是由于系统提供了自动覆盖功能后,给用户造成的一种虚拟的感觉,仿佛有一个很大的主存供他使用一样
虚拟存储手段扩充主存的方法:分页式存储管理、分段式存储管理、段页式存储管理
分区存储管理
放置策略:
首次适应算法(按地址查找第一个能装人它的空闲区)
最佳适应算法(将程序放入主存中与它随需大小最接近的空闲区)
最坏适应算法(将程序放入最不适应它的空闲区,及最大空闲区内)
第8章 设备管理
缓冲技术
中断技术和通道技术可以缓解CPU和I/O设备间速度不匹配的问题