操作系统复习提纲

2020-05-04 15:53

操作系统复习提纲

-钟惠平 第一章操作系统

操作系统定义 1.运行在内核态的软件

2.操作系统的任务是创建好的抽象,并实现和管理它所创建的抽象对象。作为资源管理者,记录哪个程序使用什么资源,对资源请求进行分配,评估使用代价,调解资源请求。

3.计算机系统资源(硬件资源、软件资源)的管理员,又是计算机系统用户(用户、应用程序)的服务员。俗称管家婆。

计算机的两种运行模式:内核态,用户态,(进程的状态) 软件:内核态(操作系统),用户态(普通软件)

资源管理的方式:多路复用(共享)资源

多路复用:通常表示在一个信道上传输多路信号或数据流的过程和技术 1.时间复用,排队

2.空间复用:每个客户得到资源的一部分。

操作系统的发展史 硬件和用户需求 推进了操作系统的发展

1.(第二代)批处理系统:输入室收集全部的作业,用相对便宜的计算机,如IBM 1401,将他们读到磁带上。装入磁带机上,一个特殊的程序读取一个作业 结果写到第二盘磁带上,不断循环执行作业,第一批作业结束,换第二批,并将输出磁带进行打印。

2.批处理系统:操作系统的前身,关键词:系统软件,控制下,计算机,自动,成批处理,多个用户的作业。

优点:系统吞吐量大,资源利用率高 缺点:在批处理系统中,作业一旦投入就不受用户控制,直到结束,缺乏交互性。

3.(第三代)集成电路芯片 多道程序设计

多道程序设计:内存中分几部分,每部分存放不同的作业,一个在等待IO,另外一个作业就可以使用CPU

4.个人计算机,大规模集成电路与现代操作系统

在操作系统中引入多道程序设计技术以后,会使系统具有以下特征 1.Multi-channel (多道性 ) 2.Schedulable(调度性 )

3.Disorder/Uncertainty (无序性/不确定性 )

4.Parallel macro, serial micro (宏观上并行、微观上串行)

实现多道程序设计的条件: 1. 内存管理技术:内存中分几部分…. 2. SPOOLing技术(假脱机技术):提高I/0速度,输入缓冲区---》磁盘输入井

3. DMA直接内存访问,内存和I/O设备之间的数据传输,类似于包工头,CPU不干预。 4. 分时技术,每个用户都有一个联机终端,操作系统分时段为每个终端用户轮流服务 假设A,B,C三个作业所需CPU时间均为T,多道程设计中,A,B,C三个作业所需的CPU时间是多少? 答案:T

是什么推动了操作系统的发展? 1.硬件的技术、工艺、成本

2.人们对计算机的需求:功能多,复杂性 3.提高硬件的性能和利用率

系统硬件

cpu : 从内存中取出指令并执行 指令集: 取指令、解码和执行指令

寄存器: 保存关键变量和临时数据的。 通用(general ):保存变量和临时结果 专门(special) :程序员可见

Program counter 程序计数器:下一条指令的地址 堆栈指针stack pointer :指向内存中当前栈的顶端

程序状态字(Program Status Word, PSW):CPU优先级、模式和各种其他控制位等

执行指令模型 executing instruction models 1.同时读取、解码和执行一条指令 简单模式

2.流水线: pipeline 三个指令是分开工作的。同时取出多条指令,一个CPU有分开的取指单元、解码单元和执行单元

弊端:进入流水线,必须执行完毕。

3.超标量CPU: superscalar CPU 多个执行单元,在执行单元前加一个保持缓冲区。有多个执行单元,一旦空闲,就从缓冲区中读取待执行的指令。

系统调用:从操作系统中获得服务。 从用户态切换到内核态 TRAP指令把用户态切换到内核态并启用操作系统

系统调用可看成一个特别的过程调用指令:具有从用户态切换到内核态的特别能力

多线程(multithreading)或超线程(hyperthreading) 1.多线程 宏观并行,微观串行 2.多线程也不是真正的并行处理,在一个时刻只有一个进程在运行,但是线程的切换时间减少到纳秒数量级,允许CPU保持两个不同的线程状态,然后在纳秒级的时间尺度内进行切换 例如某个进程需要从内存读出一个字,多线程CPU可以切换至另一个线程

MMU,Memory Management Unit 1.存储器管理单元; 2.CPU的一个部件

3.快速的将程序生成的地址转换为主存中的真实物理地址,即实现虚拟内存机制 --程序放在磁盘上,主存作为一种缓存,保存最频繁使用的部分程序 --使得运行大于物理内存的程序成为可能

注:缓存的思想很重要 1.只要存在大量的资源可以划分为小的部分,那么这些资源中的某些部分就会比其他部分更频繁的得到使用。

缓存的使用带来性能上的改善

1.内存保留频繁使用的文件的一部分 2.缓存路径名转换为磁盘地址的结果

3.缓存Web页面(URL)转换为网络地址(IP地址)

Memory 存储器 1.RAM(Random Access Memory) 2.ROM(Read Only Memory)

3.EEPROM(Electrically Erasable Programmable Read Only Memory) 4.闪存 5.CMOS

实现I/0的三种方式:

程序控制I/O (Programmed I/O) 中断驱动I/O (Interrupt-Driven I/O)

使用DMA的I/O (Direct Memory Access I/O )

程序控制I/O(Programmed I/O) 1.用户程序发出一个系统调用,内核将其翻译成一个对应设备驱动程序的过程调用 ,设备驱动程序启动I/O,并连续不断的检查该设备,直到任务完成,操作系统将控制权返回给调用者。

2.忙等待方式 比喻:你烧开水,一直在开水前面等它烧开

(中断驱动 I/O)Interrupt-Driven I/O 1.设备驱动程序启动设备并让该设备在操作完成时发出一个中断 2.设备驱动程序通过写设备寄存器通知设备控制器做什么

3.设备控制器启动设备,设备完成工作后,设备控制器发送中断信号 4.处理器检查是否存在中断请求,若决定响应中断 -可能挂起正在执行的程序

-转而去执行中断处理程序(interrupt-handler routine,设备驱动程序的一部分),例如将磁盘buffer中的数据读入内存

比喻:水壶自动式,在水壶上设定闹钟,烧开了就闹铃。

使用DMA的I/O (Direct Memory Access) 1.直接存储器访问芯片控制内存和控制器之间的位流,无需CPU干预

2.CPU对DMA芯片进行设置,说明需要传送的字节数,有关的设备,内存地址和操作方向,接着启动DMA

3.DMA芯片完成任务后,发送一个中断

包工头式:比喻:你请一个人来帮你烧开水。

启动计算机:

1.主板BIOS芯片进行设备自检 2.读取CMOS数据

3.读取启动设备的第一个扇区 4.读取活动分区里的启动装载模块 5.加载操作系统

三个抽象 cpu抽象成进程 内存抽象成虚拟地址 磁盘抽象成文件

操作系统概念 进程 1.正在执行的一个程序

-地址空间Address space(程序,数据,堆栈)

-相关资源集(程序计数器,堆栈指针,打开文件的清单??) 2.是容纳运行一个程序所需所有信息的容器 3.操作系统中有一个进程表(process table),每个进程是其中的一项 4.一个进程包括:

地址空间/磁芯映像core image Process table(进程表项) 地址空间 1.管理和保护主存的地址空间 -避免内存中同时存在的程序彼此干扰 2.管理进程的地址空间 -一个或多个进程需要的地址空间 3.虚拟内存技术,把程序的部分地址空间装入主存,部分留在磁盘上,根据需要再进行交换,OS创建了一个地址空间的抽象,是进程可以引用的地址的集合 4.程序地址空间<->物理地址空间

文件:操作系统隐藏磁盘和其他I/O设备的细节特征,提供给程序一个良好、清晰的独立于设备的抽象,即文件模型

特殊文件:使I/O设备看起来像文件一样,通过系统调用,像文件读写一样对设备进行读写

管道pipe: 一种虚文件,连接两个进程,使得进程间通信也类似于普通文件的读写

Shell 是终端用户和操作系统之间的接口,非常重要,但是它不是操作系统的组成部分

Processes进程

进程地址空间(磁芯映像)、资源集、进程表、进程表项 Address spaces地址空间

虚拟内存技术、进程地址空间映射内存地址空间 Files文件

层次结构文件系统、文件系统挂载、特殊文件、管道 Input/Output输入输出

设备控制器、设备、驱动程序 I/O的三种方式

系统调用: 系统调用把应用程序的请求传给内核,调用相应的的内核函数完成所需的处理,将处理结果返回给应用程序

操作系统的两大功能: 为应用程序提供抽象和管理计算机资源 为应用程序的运行创建良好的环境:

第一章课后习题

22.块特殊文件和字符特殊文件的差? 答案:块特殊文件可以寻址 1.Block special file 块特殊文件,指那些可随机存取的块组成的设备,如磁盘

2.Character special file 字符特殊文件,用于接收或输出字符流的设备,如打印机 相同点:按惯例,保存在/dev目录中

第一章课后习题 22 块可寻址 23

库调用的名字更重要,系统调用是采用系统调用号来识别

25.对程序员而言,系统调用就像对其他库过程的调用一样。有无必要让程序员了解哪一个库过程导致了系统调用?在什么情形下,为什么?

一般不需要,除非考虑性能,使用系统调用,需要额外的开销

操作系统结构: 1.Monolithic systems 单体系统 2.Layered systems 层次式系统 3.Microkernels 微内核 4.Client-server systems 客户机-服务器模式


操作系统复习提纲.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:case study-香格里拉酒店

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: