导图社区 操作系统
第一章 计算机系统概述(操作系统)的内容包括操作系统的四个重要特征、操作系统的目标和功能、操作系统发展历程等等。
编辑于2022-08-10 23:00:36 湖北省第一章 计算机系统概述(操作系统)
1. 概念
操作系统是指控制和管理整个计算机系统的硬件与软件资源, 合理的组织和调度计算机的工作和资源的分配,进而为用户 和其他软件提供方便接口与环境的程序集合。
2. 操作系统的四个重要特征
最重要的两个基本特征
并发性
定义:并发是指两个或者多个事件在同一时间间隔内发生。 在多道程序环境下,一段时间内有多道程序在同时 执行,但实际上单处理机环境下只能有一道程序执行 ,因此微观上这些程序仍是分时交替进行的。
共享性
定义:共享性是指系统中的资源可供内存中多个并发执行的进程 共同使用
两种不同的资源共享方式
互斥访问方式
一段时间内只允许一个进程访问该资源
同时访问方式
允许多个进程“同时访问”。此同时意为 “宏观上同时,微观上交替”
虚拟性
定义:把一个物理上的实体变为若干逻辑上的对应物
异步性
定义:由于资源有限,进程的执行并不是一管到底的, 而是走走停停的,它以不可预知的速度向前推进,这 便是进程的异步性
3. 操作系统的目标和功能
1. 操作系统是计算机资源的管理者
2. 操作系统为用户与计算机硬件系统之间提供接口
命令接口
定义:用户利用命令接口来组织和控制作业的执行
种类
联机命令接口
一条一条命令的做,强调了人与机器的交互性
脱机命令接口
一堆一堆命令的做
程序接口(系统调用)
定义:程序接口由一组系统调用(广义指令)组成,用户通过在程序中使用这些系统调用来请求操作系统为期提供服务
3. 操作系统实现了对计算机资源的扩充
4. 操作系统发展历程
1. 手工操作阶段(无操作系统)
2. 批处理阶段(操作系统开始出现)
1. 单道批处理系统
单道系统是解决人际矛盾以及CPU和IO设备速率不匹配的矛盾下形成的
特性
自动性
顺序性
单道性
2. 多道批处理系统
多道程序设计技术允许多个程序同时进入内存并允许他们在CPU中交替运行
特性
多道
宏观上并行,微观上串行
优缺点
优点:资源利用率高,系统吞吐量大
缺点:用户响应时间长,不提供人机交互,用户既不能了解程序运行情况,也不能控制计算机
3. 分时操作系统
定义:把处理器的运行时间分成很短的时间片,按时间片将处理器分配给各联机作业使用
分时操作系统最重要的是实现了《人机交互》
特性
同时性
指多个终端用户同时使用一台计算机
交互性
独立性
系统中多个用户可以彼此独立的操作,互不干扰
及时性
用户请求能在很短时间内得到相应
4. 实时操作系统
为了能在某个时间限制内完成某些紧急任务而不需要时间片排队,实时操作系统应运而生
5. 网格操作系统和分布式操作系统
6. 个人计算机操作系统
第二章 进程和线程
进程
进程的概念
进程是进程实体的运行过程,是系统进行资源分配和调度的一个基本单位
进程的组织
进程控制块(PCB)
PCB是进程实体的一部分,是进程存在的唯一标识
程序段
程序段即为能被进程调度程序到CPU执行的程序代码段
数据段
进程的特征
动态性
并发性
独立性
异步性
进程的状态与转换
运行态:占有CPU,且在CPU上运行 就绪态:已经具备运行条件,但是没有空闲CPU,暂不能运行 阻塞态:因等待某一事件而暂时不能运行 只有运行到阻塞是进程自发执行的
进程控制
进程的创建
引起进程创建的事件
1. 用户登录
2. 作业调度
3. (系统)提供服务
4. (用户程序)应用请求
进程的终止
引起进程终止的事件
1. 正常结束(进程自己请求停止)
2. 异常结束(整数除0,非法使用特权指令)
3. 外界干预(Ctrl+Alt+delete用户主动杀死进程)
进程的阻塞和唤醒
阻塞是进程的一种主动行为
当阻塞进程所期待的事件出现时,调用唤醒原语,从阻塞态转为就绪态
进程的通信
定义:进程通信指进程之间的信息交换
种类
共享存储
在进程之间创建一块可以直接访问的共享空间,可以通过对这片共享空间进行读写操作(任意位置)实现信息交换
种类
基于数据结构共享(低级方式)
基于存储区的共享(高级方式)
消息存储
进程间的数据交换以格式化的信息为单位,进程通过操作系统提供的发送信息和接收信息的两个原语进行数据交换。(是当前应用最广泛的进程通信)
种类
直接通信方式
发送进程直接把信息发送给接收进程
间接通信方式
发送进程把信息发送给某个中间实体(信箱) 接收进程从中间实体中获得消息
管道通信
管道通信存取数据的顺序都是固定的,且遵循FIFO(先进先出)原则进程只能从固定的一端存储数据,另一端读取数据,就如同水流一般
如若管道塞满数据,则进入阻塞状态,直到有进程取出数据为止,管道为空同理。
若要实现管道要同时实现发出数据和接受数据的功能,则需要两根管道
线程
定义:线程是“轻量级进程”,它是一个基本的CPU执行单元,也是程序执行流的最小单元 引入线程后,进程只作为除CPU外的系统资源的分配单位,而线程变成了处理机调度的基本单位
线程的属性
1. 线程是处理机调度的基本单位
2. 线程是一个轻型实体,它不拥有系统资源
3. 不同的线程可以执行相同的程序
4. 同一进程的各个线程共享该进程所拥有的资源
5. 线程是处理机独立调度的单位,多个线程可以并发执行,单CPU处理机中,各线程交替的占用CPU,多CPU中,各个线程可同时占用不同的CPU
6. 线程同样也拥有运行态、阻塞态、就绪态等各个状态
7. 线程之间的切换在进程内部,故所需很少时空开销
8. 同一进程中的线程互相通信甚至不需要系统的干预
线程的状态与转换
类似于进程的状态与转换
线程的实现方式
用户级线程
有关关于线程管理(创造、撤销和切换)的所有工作都由应用程序在用户态完成,内核意识不到线程的存在
优缺点
优点
1. 线程切换不需要转换到内核空间,节省了开销
2. 不同进程可以根据自身需求,对自己的线程选择 不同的调度算法
3. 用户级线程实现的操作与操作系统无关,对线程 的管理是用户程序的一部分
缺点
1. 当线程执行一个系统调用时,若该线程被阻塞,则该进程 内所有线程均被阻塞
2. 不能发挥多处理机优势,内核每次分配给进程的只有一个CPU 因此进程中仅有一个线程可以执行
内核级线程
内核空间为每个内核级线程设置一个线程控制块,内核能够感知到线程的存在,并控制它
优缺点
优点
1. 能发挥多处理机的优势,内核可以同时调度很多线程并行执行
2. 如果一个线程被阻塞,其他线程不受影响
3. 内核本身也采用多线程技术,提高系统的执行速度和效率
缺点
同一进程的线程切换,需要从用户态到核心态的转换,系统开销大
组合方式
多对一模型
多个用户级线程映射到一个内核级线程,线程管理在用户空间内,效率较高,但若有一个线程发生阻塞,则整个进程均被阻塞
一对一模型
每个用户级线程对应一个内核级线程,优点是当一个线程被阻塞之时,允许另一个线程运行,缺点是需要的内核级线程多,开销较大
多对多模型
将n个用户级线程映射到m个内核级线程上,要求n>=m,其克服了上述两个模型的缺点,且共同具有两者的优点