使用书籍《操作系统概念》
操作系统复习笔记Part I
Chapter 1 概述
什么是OS? ——操作系统是管理计算机硬件的系统软件
- 计算机系统的组成
- 计算机系统的运行
中断类型
中断指当事件发生时,CPU暂时停止当前程序的执行转而执行处理新情况的程序和执行过程。
中断(硬件/软件)
- 硬中断:硬件,外设触发;
- 软中断:系统调用(中断指令)引起
- 同步IO
线程启动一个IO后立即进入等待状态(wait),直到IO完成才继续执行 - 异步IO
线程发送一个IO请求到内核,然后继续处理其他的事情,内核完成IO后,通知线程IO操作完成
I/O结构
- DMA(直接内存访问):在本地缓冲和内存之间传送整块的数据。适用于大量数据的移动,如磁盘IO。
- 直接进行数据交换,独立于正在进行的CPU(数据交换时无需CPU干预,只有开始交换和结束交换时需要CPU的参与)
- 采用内存和外设直接数据交换的方式,只有当有一段数据传送时才会请求CPU中断,减少了CPU的负担。
多处理器系统(multiprocessing system)
优点:
- 增加吞吐量
- 规模经济
- 增加可靠性
类型:
- SMP(对称多处理):每个处理器都参与完成相同的任务(数据不一致?)
- AMP(非对称处理):每个处理器有各自特定的任务,主从关系,主处理器调度从处理器并安排工作
名词解释:
● 分时:将时间划分成时间片,进程按时间片轮流执行——主要提高响应速度
● 多道:系统中存在多个程序同时执行/安排作业使得CPU总有一个执行作业,从而提高CPU的利用率——主要提高CPU利用率
并行(parallel):指在同一时刻,有多条指令在多个处理器上同时执行。所以无论从微观还是从宏观来看,二者都是一起执行的。(微观上是同时执行的)并发(concurrency):指在同一时刻只能有一条指令执行,但多个进程指令被快速的轮换执行,使得在宏观上具有多个进程同时执行的效果,但在微观上并不是同时执行的,只是把时间分成若干段,使多个进程快速交替的执行(宏观上)。
● 分时主要针对提高系统的响应速度,改善用户体验;多道主要针对增加系统的利用率。
● 核心态:操作系统内核执行的受保护的状态(特权态/特权指令:只能由OS内核使用,不允许用户直接使用)
● 用户态:用户进程执行所在的状态
● 区别:处于用户态只能访问进程的地址空间,用户态需要通过中断或系统调用才能进入核心态。
Chapter 2 操作系统结构
系统调用
系统调用与API
- 系统调用是:操作系统提供给应用程序的接口,应用程序通过系统调用获得操作系统的服务
- API是一个提供给应用程序的接口函数,与程序员直接进行交互。
- 区别与联系:
- 系统调用根据API通过软中断机制向内核提交请求,以获取内核服务的接口
- API(与程序员直接交互)可能需要一个或几个系统调用来共同完成其功能。
程序员调用的是API(与内核无直接联系),然后与系统调用共同完成函数的功能
机制与策略:
- 机制,是指实现某一功能的具体方式(How to do)
- 策略,则是在机制的基础上,借助于某些参数和算法来实现该功能的优化,或达到不同的功能目标(What to do)
- 机制和策略分离的好处:
1.使得系统更容易被维护;在机制不变的情形下,可以通过策略的变化适应新的需求;
2.使得系统更具灵活性;通过通用机制的设计,最大化系统灵活性。
OS Structure
- MS-DOS
- 分层
- 微内核——提供基本核心功能:进程管理、存储器管理、进程间通信、低级I/O
- 优点:
1.便于拓展操作系统,新服务在用户空间内增加
2.安全性和可靠性
- 优点:
- 模块化——内核提供核心功能,其他服务在内核运行时动态实现。主模块只有核心功能,并知道如何调度任何其他模块(内核&其他功能模块在同一地址空间)。拓展性好,可动态挂载添加模块。
名词辨析
- 微内核和模块化内核
微内核:操作系统内核只包含最基本的功能(进程调度和进程间通讯)
模块化内核:操作系统内核的一些功能可以作为模块挂载
区别:(地址空间的差别)
微内核中内核和其它操作系统的功能模块(如虚存管理)在不同的地址空间运行,模块化内核中它们在一个地址空间。
在微内核结构的操作系统中,进程间通讯可以不在微内核内。
错。进程通讯是内核的核心功能,对微内核系统,也在微内核内实现。