操作系统复习笔记

操作系统复习笔记
操作系统复习笔记

操作系统复习

chapter 1

1.1 虚拟机

解释:在裸机上加载一层软件,来管理整个计算机系统,形成一个虚拟的计算机

应用:虚拟机将复杂的计算机硬件与用户的编程分离开来,为用户提供一个友好的程序设计接口,以降低编程的复杂度。

另一个虚拟机

由一台裸机向上层提供若干台虚拟机。

不同的虚拟机上可以运行不同的操作系统。

1.2操作系统

system view:

——是裸机上的第一层软件,是对硬件功能的首次扩充,是资源的分配者、管理者。user view:

——是程序设计接口的提供者

1.3 操作系统设计的基本要求:

Portability可移植性 Security安全性 Fairness公正性 Robustness强壮性Efficiency有效性 Interfaces接口统一性 ===> 支持 POSIX 标准 ...

1.4 操作系统的特点

并发——多个事件在同一时间段内发生。

操作系统中各进程间的并发,系统与应用间的并发。

操作系统要完成这些并发过程的管理。

并行(parallel)是指在同一时刻发生。

共享——多个进程共享有限的计算机系统资源。

操作系统要对系统资源进行合理分配和使用。

资源在一个时间段内交替被多个进程所用。

虚拟——一个物理实体映射为若干个对应的逻辑实体(分时或分空间)。

虚拟是操作系统管理系统资源的重要手段,可提高资源利用率。

异步性——(也称不确定性)指进程的执行顺序和执行时间的不确定性。

操作系统必须保证一个进程在不确定的环境下运行有确定的结果。

1.5微内核结构

将操作系统划分成多个模块,

只有一个模块运行在内核,其它模块运行在用户态。 ==> 以提高系统的可靠性but slower

windows 是宏内核因为操作系统和设备驱动共享内核保护模式的内存空间

1.6 进程的地址空间—— A list of memory locations from some minimum (usually 0) to some maximum, which the process can read and write.

1.7 文件——由文件名标识的一组信息的集合

文件名——用于文件管理(在文件系统中逻辑定位一个文件)

i-node ——管理文件管理的结点(在文件系统中物理定位一个文件)

一个文件 <---------> i-node

1.8 inode 号码

inode 在 inode 区的位置

1.9路径名——文件的逻辑定位

目录——组织文件系统的一种实施方法

(文件的逻辑定位与物理定位的结合点)

1.10 文件的硬链接

——文件的一种共享方式

文件的软链接(符号链接)

1.11 A pipe is a sort of pseudo file that can be used to connect two processes

1.12shell

——命令解释器,是由操作系统提供给用户的命令行接口

1.13

核心态和用户态——两种处理器的访问模式

系统调用——操作系统提供给用户的编程接口

1.14操作系统的特权操作

输入/输出操作

存取内存管理寄存器

开、关中断

停机

1.15 POSIX Portable Operating System Interface

为了提高 UNIX 环境下应用程序源代码的可移植性

1.16系统调用的种类

——进程管理 fork() execve() wait() getpid()

——信号管理 signaction() kill()

——文件管理 open() read() mknod() creat() pipe()

——目录管理 mkdir() rmdir() link() mount()

——权限管理 chmod() getuid() setuid()

——时间管理 time() times() utime()

chapter 2

2.1单道程序特点

顺序性——按程序设定的顺序执行

封闭性——资源独占;只有该指令序列才能改变机器的状态;

程序运行的结果只取决于该程序以及初值。

可再现性

缺点:资源浪费可实现的功能简单:无程序间合作;无程序间交互。

2.2多道程序

间断(异步)性:——程序"走走停停",失去原有的时序关系。

制约性:——程序之间的同步或共享资源的互斥使用。

失去封闭性:——资源共享;程序受其他程序的控制逻辑的影响。

失去可再现性:——外界环境在程序的两次执行期间发生变化,失去原有的可重复特征。

2.3进程

——程序的一次执行过程

进程引入的动机:

为了描述程序在并发执行时对系统资源的共享,

我们需要一个描述程序执行时动态特征的概念,这就是进程。

——是一个具有一定独立功能的程序

在一个数据集合上的一次动态执行过程,是一个独立调度的活动,

是一个可以分配给予资源的抽象实体。

2.4进程的基本特征

——动态性:是程序的一次执行

——并发性:能在并发的环境中运行

——独立性:是运行的基本单位,资源分配和调度的单位

——不可再现性:向前推进的速度不可再现

2.5进程的创建和终止

——创建进程的时机

系统初始化

用户进程调用了 fork 系统调用

响应用户的命令行请求(shell command)

批处理作业的初始化

——进程终止的时机

正常退出(进程调用了 exit 系统调用 ...)

出错退出(预料中的错误)

严重错误(预料之外的错误)

被其它进程 kill

......

2.6

2.7进程上下文

——是进程的映像(或环境),是对进程执行活动的描述。

进程上下文包含以下部分:

——寄存器内容

——与该进程相关的内核控制用数据结构(PCB)

——进程的用户地址空间内容

2.8进程管理表: 存放了每个进程的控制信息(PCB)Process Control Block (进程控制相关的核心数据结构)

PCB 的主要内容:

进程标识符

进程名——进程描述信息

——————

进程状态

进程优先级——进程运行控制信息

——————

计费和调度信息

内存分配情况

打开文件状态

资源占用情况——资源占用信息

——————

程序计数器

...... ——CPU现场保护结构

2.9使用线程的主要原因:

——线程间的数据共享

——线程创建的速度快

——进程中的多个执行线索实现更多样的任务模型

——在多CPU环境中实现并行算法

2.10线程

——信息共享

同一进程中的线程共享进程中的全局数据,打开文件...

——运行独立

线程是CPU调度的单位,具有就绪、阻塞和执行等基本状态线程拥有必不可少的私有资源,如:线程执行状态、寄存器上下文、程序计数器和栈

2.11线程和进程的关系:

——线程是进程中的一个运行线索

——进程作为资源分配的基本单位(CPU资源除外)

2.12线程模型优越性

——数据共享

——通信

不同进程间的线程通信:靠IPC提供的各个方法

同一进程的线程间通信:可以通过直接读写进程数据段来进行通信(如全局变量)

——调度

线程上下文切换比进程上下文切换要快(同一进程内)

2.13——在内核中实现线程

由内核实现线程的创建和撤销,(系统调用)线程的控制信息存放在内核

——在用户空间中实现线程

用户进程利用线程库(run-time system)提供的创建、同步、调度等管理线程的函数来控制线程,(库函数)线程的控制信息也存放在进程用户数据区中

2.14 进程间通信(IPC)IPC ——InterProcess Communication

IPC 主要解决三方面的问题:

——进程之间传递数据

——进程之间约定次序

——进程之间协调对共享数据的互斥访问

2.15低级通信机制

——传递状态和整数值(控制信息),以实现进程间的同步和互斥。

同步:保持不同的进程所发生的事件的某种顺序性。(用于实现进程之间的协作)

互斥:对共享数据的互斥访问:任一时刻只能有一个进程可以对共享数据进行存取。

(用于保护共享数据)

低级通信机制包括:锁变量、信号量、关中、睡眠和唤醒、管程、信号、...

优点:速度快

缺点:传送信息量小;编程复杂,容易出错

2.16高级通信机制

高级通信机制包括:

——消息机制

——管道机制

——共享存储单元机制

——......

优点:能够传送任意数量的数据

2.17竞态条件( Race Condition)

——两个或多个进程同时读写某些共享数据(公共区域),其最后结果的正确与否取决于各个进程存取这个公共区域的确切时序。

==> 结论:必须避免共享数据出现竞态条件。

2.18临界区(Critical Section)

临界区——在一组合作的进程{p1,p2,...pn}中每个进程都含有对同一共享数据进行存取的代码段,这种代码段称作为临界区。

引入临界区的目的:为了避免共享资源上的竞态条件

====> 临界区代码段的穿插执行,引起共享数据上的竞态条件。

临界区的设计原则:

——任何两个进程不能同时处于临界区

——不应对CPU的速度和数目作任何假设

——临界区外的进程不得阻碍其他进程进入临界区

——不得使进程在临界区外无休止地等待=====> 饥饿

2.19 忙等待的互斥busy waiting

——是互斥的一种实现方案:持续地检测一个状态变量,

直到它具有某一特定值之后,才继续往下执行

Possible Solutions for Busy_Waiting:

Strict Alternation Peterson's solution Disabling Interrupts Lock V ariables TSL

1)严格交替法:两个进程的互斥

2)Peterson 方案

Peterson 方案的特点:

——进程进入C.S.的顺序无须严格交替

——如果两个进程几乎同时调用enter_region( ) 函数时,两个进程不会同时进入C.S.,也不

会同时处于忙等待——临界区外的进程不会阻塞其他进程进入临界区

3)禁止中断法(开中关中)

——不适用于一般用户的编程(开中、关中属于特权操作),可用于内核编程

——不适用于多CPU的场合

——是忙等待的互斥(等待进程处于就绪状态,不是受阻状态)

4)锁操作法——使用锁变量实现互斥

锁变量:可在进程之间共享的变量,可在线程之间共享的变量

5)实现原子操作

方法1 ——关中

方法2:——TSL指令(Test & Set)TSL register,lock_name

2.20睡眠和唤醒(实现非忙等待)

为什么需要非忙的等待?

——提高资源利用率

——避免副作用

睡眠(SLEEP)和唤醒(WAKEUP)原语

SLEEP 原语——将引起调用进程阻塞(即进入blocked状态),直到另一进程将其唤醒WAKEUP 原语——唤醒进程(它带一个参数,即要被唤醒的进程)

原语:作为OS核心代码执行,不受进程调度的打断。

进程可以利用sleep( )和wakeup( ) 实现非忙等待

2.21优先级翻转问题(priority inversion problem):

一台计算机有两个进程,H优先级较高,L优先级较低。

调度规则规定:只要H处于就绪态它就可以运行。在某一时刻,L处于临界区中,此时H 变为就绪态,准备运行(例如,一条I/O操作结束)。现在H开始忙等待,但由于当H就绪时L不会被调度,也就无法离开临界区。所以H将永远忙等待下去,L永远得不到机会。H,L进程进入活锁状态

2.22信号量(semaphore) 实现非忙等待的互斥与同步

可以实现有条件的sleep( ) 和wakeup( ),是一个新的“变量类型”

——信号量中包含一个整型变量sem_value,代表可用资源实体的数量。

——信号量中包含一个指针ptr_sem_queue,指向一个等待队列,队列中包含阻塞在该信号量的各个进程的PCB结构。

——可以通过Down()、Up()两个标准的原语来改变信号量的值。

当多个信号量穿插在一起使用时,要特别当心语句的次序!

2.23信号量实现同步与互斥的缺点:

——同步操作分散,可读性差

——多信号量编程易产生死锁

2.24

二进制信号量== 互斥量

条件变量用来实现线程间同步

2.25高级通信机制

1)共享存储单元机制

特点——允许两个或多个进程共享同一给定的内存区域, IPC各机制中速度最快的一种。关键——需要谨慎处理共享内存存取的互斥问题。

实现——UNIX System V 中,由一个进程设立,其他进程可以共享。

2)管道

作用——在进程之间按照FIFO的方式传递数据,也能用于进程之间的同步。

特点——管道中的数据只能在一个方向上流动,管道中的数据一经读取,将不再存在。实现——管道的传统实现方式是通过文件系统作为存储数据的地方。

它也是UNIX IPC 最古老的形式之一。

无名管道,父子进程之间有名管道,任意进程之间

管道为系统所拥有(而不是用户)管道数据无需永久保存管道的容量是有限的

管道有两个指针:

——当前位置指针(由读进程使用) ——长度指针(由写进程使用)

这两个指针决定读写管道数据的位置

当管道已满时,则向管道写数据的进程将被挂起

当管道为空时,则试图从管道中读取数据的进程将被挂起

2.26消息传递

消息传递原语:send(destination,&message); receive(source, &message); 消息传递的各种方式:

使用消息缓存区使用mail box 不使用缓存区(采用会合原则)

会合原则(rendezvous principle):

如果SEND在RECEIVE之前执行,则发送进程被阻塞,直到RECEIVE发生。

如果RECEIVE先被执行,则接收者阻塞直到SEND发生。

执行消息传递时,消息可以直接从发送者拷贝到接收者,不用任何中间缓冲。

2.27进程调度

——当有多个进程就绪时,操作系统必须决定先运行哪一个。

操作系统中作出这种决定的部分称作调度程序(scheduler),它使用的算法称作调度算法进程调度的时机

——A new process starts

——The running process exits

——The running process is blocked

——I/O interrupt (some processes will be ready)

——Clock interrupt (every 10 milliseconds)

1)最简单的调度策略:FCFS(先来先服务)(非抢占型调度)

2)抢占型调度:

【时间片轮转调度】关键:确定时间片的长度

太长:周转慢太短:进程切换的系统开销大结论:100ms--200ms

【优先级调度】

——给不同类型的进程赋予不同级别的优先级;

——调度算法总是选优先级高的进程占用CPU。

设定优先级的高低所考虑的因素:

——占CPU时间短、较底层的进程优先级应该比较高。

——I/O密集型进程应尽快完成CPU上的处理。

——高优先级的进程在运行了一段时间后,其优先级可适当下调。

【“优先级+ 时间片”】

——每个进程有一个静态的优先级。

——各级之间采用优先级调度。

——每一级内采用时间片轮转调度。

问题:低优先级的进程有可能饿死。

改进:动态调整进程的优先级。

适用:优先级高的进程运行的速度快,占cpu的时间短的系统。

【多重队列调度】

——系统构造了多个队列,各个队列有不同的优先级。

——进程就绪之初,进入不同的优先级队列。

——当一个进程从cpu上被切换下来后排入下一个优先级队列。

——各级队列的时间片各不相同,下一级的时间片是上一级的两倍。

——调度程序总是选较高优先级的进程运行。

——当下级进程长时间未被调度,其优先级将上升一级。

cpu密集型进程:得到的时间片逐渐变长,切换次数较少。

I/O密集型进程:有较高的优先级,cpu占用的时间短,交互响应速度快。

评价:兼顾cpu密集进程和I/O密集进程。

3)最短进程优先算法(非抢占型调度)批处理系统

原则:选择最短的作业占用CPU。

目标:缩短进程的平均运行时间。

问题:预先难以知道进程的本次运行时间。

解决方法:根据进程过去的行为进行推测、估计其将来的运行时间。

最短进程优先算法只在所有作业同时可用的情况下才是最优的。==> 最短剩余时间优先4)保证调度算法

特点:向用户保证遵守某种原则,作出明确的性能保证。

例如:若你的进程工作时有n个用户登录则你将获得cpu处理能力的1/n。

实现:

系统跟踪各进程自创建以来已使用了多少CPU时间,然后计算各进程应获得的CPU时间。——计算出该进程已获得的CPU时间和应获得的CPU时间之比。

——该算法转向比率最低的进程,直到该进程的比率超过次最低进程为止。

评价:实现比较困难

5)彩票调度算法

——为进程发放针对系统各种资源(如CPU时间)的彩票。

——当调度程序需作出决策时,随机选择一张彩票,持有该彩票的进程将获得系统资源。——对于CPU调度,系统可能每20毫秒抽一张彩票,中彩者运行。

改进措施

——对需要优先考虑的进程可以多发放一些彩票,以提高中彩概率。

——相互合作的进程之间可以转让彩票(如client进程和server进程)。

评价:实现简单,反应灵敏

6)公平分享调度算法

——从进程的角度评价CPU的占用比例

7)【实时调度】

实时调度的特点:

——要求更详细的调度信息。

如就绪时间、开始或完成截止时间、处理时间、

资源要求、绝对或相对优先级(硬实时或软实时)。

——采用抢占式调度。

——快速中断响应,在中断处理时(硬件)关中断的时间尽量短。

——快速上下文切换:相应地采用较小的调度单位(如线程)。

实时调度算法:

——硬实时(必须满足截止时间的要求)

——软实时(可以容忍一定的截止时间延迟)

实时事件:

——周期性出现

——随机性出现

2.28线程调度算法

内核级线程:可使用进程模型中的各种“进程间调度”(线程调度由内核完成)

用户级线程:进程内部采用轮转或优先级调度(无中断控制)由库函数中的运行时系统完成

优缺点:

——线程间切换的耗费

用户级线程:在用户态进行,无须转到核内==> 小

内核级线程:在内核态进行==> 大

——调度算法

用户级线程:==> 可以是应用程序专用的调度算法

内核级线程:==> 用户没有决策权

——调度状态的颗粒度

用户级线程:==> 大进程受阻,进程内线程全“受阻”

内核级线程:==> 小

——并发程度

用户级线程:==> 低

内核级线程:==> 高

2.29进程状态与线程状态的关系

进程blocked线程blocked 线程blocked进程可running

2.30两级调度算法

一般情况下正在运行的进程都在内存中。如果没有足够的内存,

则某些进程的进程图像将全部或部分地被放在磁盘上。

低级调度——低级调度程序选择当前在内存中的就绪进程占用cpu

高级调度——高级调度程序实现进程在内存和磁盘间来回交换(时机与实施)

高级调度程序用于决策的标准包括:

——进程自上次被换入或换出以来的时间

——进程最近使用的CPU时间

——进程图像的大小

——进程的优先级

chapter 3

3.1死锁

——若干个进程组成的集合中,每一个进程都在等待一个事件发生,而此事件只能由本集合中的另一个进程才能引发,则这种情况被视为死锁。

3.2死锁条件(必要条件)

——互斥条件:每一资源或者被分配给一个进程,或者空闲。

——保持和等待条件:已分配到了一些资源的进程可以申请新的资源。

——非剥夺条件:已分配给一进程的资源不可被剥夺,只能由占有它的进程显式地释放。——循环等待条件:系统必然有一条由两个或两个以上的进程组成的循环链,链中的每一个进程都在等待相邻进程占用的资源。

3.3死锁解决的各种算法

——忽略从新开机(鸵鸟算法)——预防谨慎分配资源(检测和恢复)——恢复破坏死锁的必要条件

3.4避免死锁的几种算法

前提:预先知道进程的资源使用情况。

关键:走一步算几步,预测是否会发生死锁。

1)单种资源的银行家算法2)资源轨迹图3)多种资源的银行家算法

一个状态是安全的——

存在一个状态序列能够使所有进程均得到其所需的所有资源

3.5 I/O设备组成部分:

——设备控制器——设备主体

3.6设备控制器设置的目的:

——解释cpu 的控制指令

cpu 通过写设备控制器中的寄存器来向I/O设备发命令或写数据;

设备控制器解释命令,并向设备发出控制信号或数据

——接收、检测来自设备的数据或状态

cpu 通过读设备控制器中的寄存器来取得数据或状态

——整合、校验来自设备的数据,并输出到内存

3.7内存映射I/O优点

驱动程序可以直接读写控制寄存器、数据缓存区,而不需要使用I/O 指令

==> 可以用C 编写控制I/O 的程序==> 驱动程序可以放到核外

缺点:内存的高速缓存(cache)对被映射到内存地址段的控制寄存器会有副作用====> OS 启用“页面禁止缓存”方式来管理I/O

识别地址是内存的,还是I/O设备的——硬件增添了额外的复杂性

====> 使用双总线内存体系结构

3.8程序控制I/O (Programmed I/O)

——I/O 操作由程序发起,并等待操作完成,数据的每次读写都通过程序控制。

缺点:在外设进行数据处理时,CPU只能等待

中断驱动方式

——I/O 操作由程序发起,在操作完成时(如数据可读或已经写入)由外设向CPU发出中断信号,通知I/O程序,数据的每次读写通过CPU。

优点:在外设进行数据处理时,CPU不必等待,可以继续执行该程序或其他程序。

缺点:CPU每次处理的数据量少(通常不超过几个字节),只适于数据传输率较低的设备。直接存储器存储访问方式(Direct Memory Access, DMA)

目的:减轻cpu在I/O过程中的负担,从而使cpu从I/O的数据传送中解脱出来。

方法:由DMA控制器来控制数据从设备到内存的传送。

对象:块设备(高速设备)的数据I/O。

实现:1) 由驱动程序设置DMA控制器中的若干寄存器值(如内存始址、传送字节数),然后发起I/O操作。2) 由DMA控制器主导完成内存与外设的成批数据交换,在操作完成时,DMA控制器向CPU发出中断信号。

通道控制方式

——通道控制器(Channel Processor)有自己的专用存储器,可以执行由通道指令组成的通道程序,因此可以进行较为复杂的I/O控制。

3.9 I/O 软件的组织

第4层:用户层软件(最上层)

第3层:与设备无关的操作系统I/O 软件

第2层:设备驱动程序set register check status

第1层:中断处理程序(底层)

3.10 中断处理程序

——保护末被硬件保护的所有寄存器(包括处理机状态字PSW)

(将寄存器复制到PCB 表中)

——为中断处理程序设置上下文(如TLB、MMU 或页表)

——为中断处理程序设置栈指针

——应答中断控制器(或开中)

——识别中断源,分析产生中断的原因

——运行中断处理程序,处理发生的中断事件(如读写设备寄存器)

——执行调度程序,选择当前进程

——为下一个进程设置上下文(如TLB、MMU 或页表)

——装入下一个进程的寄存器(包括处理机状态字PSW)

——开始运行下一个进程

3.11精确中断:

——PC 保存在一个已知的地方

——PC 指向的指令之前的所有指令已经完全执行

——PC 指向的指令之后的所有指令都没有执行

——PC 指向的指令的执行状态是已知的

3.12设备驱动程序的设计要点:

—设备驱动程序在发布了I/O 指令后,将等待I/O 的完成(阻塞)(中断处理时将其唤醒)——设备驱动程序必须是可重入的(reentrant)

即: 程序的一次执行结束之前,又一个执行过程开始执行该程序

——在一个支持设备热插拔的系统中,设备驱动程序正在执行时被告知设备已被拔出,这时设备驱动程序必须做好善后处理

——设备驱动程序不能使用系统调用(用户库函数),它可以直接使用相关内核函数,以获得相应的服务==X==> printf(...) =====>printk(...)

3.13设备无关的I/O软件

设置目的:包装执行适用于所有设备的常用I/O功能,并向用户层软件提供一个统一的接口。设备无关性——以同样的方式访问文件与设备,与它们的物理设备无关。

设备无关的I/O软件的功能:向上提供一个统一的接口缓存数据

错误报告专用设备的分配与释放定义一个与设备无关的块大小

3.14 SPOOLing 系统

它是在多道程序系统中实现共享的独占设备的互斥访问的一种方法。

3.15提高磁盘I/O的一些方法

——提前读

——延迟写

——虚拟盘(RAM盘)

RAM盘:将RAM存储器的一部分用来构造一个按磁盘方式读写的存储区域。

特点:它是一个没有寻道和旋转延迟的块设备,适于存储需要频繁存取的程序和数据。

3.16磁头臂调度算法

先来先服务(FIFS)特点:简单,但无法优化t1

最短寻道(SSF)磁盘调度算法——下一个请求总是选择和磁盘臂最接近的柱面请求==> 特点:柱面移动数较少,但远离柱面中部区域的请求得到的服务差。

(这里获得最小响应时间的目标和公平性之间存在冲突。)

电梯算法

——电梯保持按一个方向运动,直到在那个方向上没有更远的请求为止,然后改变方向。特点:有时比SSF算法好,有时不如。但对任意的一组请求,移动磁盘臂次数的上界是固定的,正好是柱面数的两倍。

3.17稳定的存储器两个相同的磁盘

3.18时钟硬件

工作原理:晶体振荡器信号送入计数器,并使其递减计数至零,

当计数至零时,产生一个时钟中断。

时钟软件

——维护日期时间

——防止进程的运行时间超出其允许的时间(时间片)

——对CPU使用进行记账

——处理用户进程提出的闹钟系统调用

——为系统本身的其它部分提供监视定时器

——支持直方图监视和统计信息搜集

3.19维护时间的方法:

3.20

3.21软定时器(基于软件的定时器模式)

需求:——间隔时间极短的软件定时器:

中断的开销太大+ 时钟间隔太长(软件定时器的间隔时间要求极短)轮询的等待耗费太大解决方法:不使用时钟中断,当从内核返回之前(系统调用结束TLB未命中页面失效I/O 中断CPU 变得空闲)检查是否有定时器时间到2us - 18us

3.22 alarm 功能实现概要

——用户进程提出闹钟请求

——系统为该进程设置闹钟,并为其设置闹钟时间到的响应函数。

——时钟中断到来时,clock_handler 检查next_alarm时间是否到。

如果时间到了,则启动相应的操作。

3.23用户进程的切换时机:

——用户进程被系统进程抢占设备中断的到来

——用户进程被其他用户进程抢占进程时间片用完

——用户进程放弃运行前提条件不满足(用户进程受阻)

chapter 4

4.1存储器管理

——存储资源的分配和回收:

——地址变换:

——存储共享和保护:

——存储器扩充

4.2使用位图的内存管理

——内存按一定的长度分割成一个一个分配单位每一个分配单位对应位图中的一位——分配时,搜索位图,找到一个连续的0串,并将其置为1串

——回收时,将位图相应位置为0 (0代表空闲)

4.3使用链表的内存管理

将已分配的内存段和空闲的内存段用链表管理起来。

链表结构的改进:

==> 将已分配的内存段和空闲的内存段分别用链表管理起来。

==> 链表中的结点按段的长度从小到大排序。或按段的起始地址从小到大排序4.4

4.5 空闲内存的回收算法

要求:回收后相邻段必须合并(按地址排序为宜)

4.6

4.7分页技术的优点

没有外碎片,碎片大小不超过页的大小

一个进程的图像不必在内存中连续存放,便于改变进程图像所占内存空间大小

4.8每个进程的页表可能不同

页表项结构

4.9多级页表

4.10

TLBs的匹配时并行的,由硬件完成

4.11

内存中有必要建立完整的页表吗?

逆向页表进程的不完整页表

问题:从虚拟地址到物理地址的转换变得很困难

解决:TLBs 使用哈希表组织逆向页表

4.12页面替换算法

自然页流:当前使用的页面集随时间不断变化

特点:每个时间点上使用页面不多,而且变化缓慢

1)最优页面替换法

先计算经过多少条指令再被引用,最久的先淘汰(不实用)可作为评价标准

2)最近未使用页面替换算法(NRU)

利用页表项中的引用位R和修改位M

实现方便,性能虽不是最佳,却也令人满意

3)先进先出页面替换算法(FIFO)很少使用纯粹的该算法

4)第二次机会页面替换算法对FIFO的改进

检测R位,若为0删除,若为1将它移到队尾且将R清零(修改装入时间)

(何时清除R位,每个时钟到来清除R位)

5)时钟页面替换算法对第二次机会算法的改进

只是将单链换成了环链

6)最久未使用页面替换算法(LRU)

淘汰掉没有使用的时间最长的页面

法一:每次被访问的页都移到队尾,淘汰掉队头就行

法二:设置一个64位计数器,执行一条指令就加1,再存入页表项中

7)用软件模拟LRU算法

每个页有个软件计数器,每次时钟中断,R位往上加,计数最小被替换

问题:早先密集可能大于最近刚使用

改进(老化算法)==》易于实现的有效算法

在R位被加进来之前计数器右移一位,R位被加到最左边

4.13工作集模型避免系统颠簸

当正在运行的进程数量增加到一定程度时,cpu的使用率反而下降====> 系统颠簸

工作集——进程最近时段内使用的页的集合:w(t,τ)

工作集模型:跟踪进程的工作集,使保证进程的工作集在内存中,这样能使进程运行时页面故障的发生率下降。

工作集的跟踪方法:

——用老化算法来跟踪页面

——若页面的计数器的高n 位含有“1”,则该页面属于工作集

工作集页面置换算法:

在需要淘汰页面时,找一个不在工作集中的页面。

4.14局部分配与全局分配

当进程pa发生页面故障时,淘汰的页面是在进程pa的页面中找?(局部分配)

还是在内存中的所有页面中找?(全局分配)

结论:进程按比例分配初始页面数+ 全局分配页面

4.15分离的指令空间与数据空间

好处:

——进程的地址空间变大

——有利于实现进程之间共享正文段

4.16内存映射的文件mmap系统调用

如果两个或两个以上的进程同时映射了同一个文件,他们就可以通过共享内存来通信。

4.17清楚策略

paging daemon:

——定期检查内存可分配页面数的情况

——当低于一定量时,启动页面替换算法,换出页面

4.18分页式虚存中的一些实现问题

page fault 指令备份锁定内存中的页面后备存储

4.19 策略与机制的分离

——把策略从机制中分离出来将决策算法放到用户空间运行

策略(user space) 外部页面调度算法

机制(kernel space) 缺页处理程序

机制(MMU相关代码)

4.20分段式虚存

[分段式虚存基本思想] 将程序地址按逻辑分段

[分段编址优点]

——面向程序,面向用户;

——某段大小的变化不会影响其他段;

——可以以段为单位,实现数据或过程的保护和共享。

[分段式虚地址] (段号,段内位移)

新版教材全国自考网络操作系统02335_复习笔记.

1.计算机系统的定义:计算机系统 是一种可以按用户的要求接收和存储信息、自动进行数据处理并输出结果信息的系统。【广义的包含:机械式系统和电子式系统,电子式又可划分为模拟式和数字式】 【计算机系统包括:硬件系统和软件系统】 2.操作系统的定义:操作系统是计 算机系统中的一个系统软件,它是这样一些程序模块的集合:它们能有效地组织和管理计算机系统中的硬件及软件资源,合理地组织计算机的工作流程,控制程序的执行,并向用户提供各种服务功能,使得用户能够灵活、方便、有效地使用计算机,并使整个计算机系统高效地运行。设置操作系统的目的:提高计算机系统的效率,增强系统的处理能力,充分发挥系统资源利用率,方便用户的使用。【操作系统的任务:1、组织和管理计算机系统中的硬件及软件资源;2、向用户提供各种服务功能。】 3.操作系统的作用和地位 操作系统是系统软件,连接了硬件和软件,是两者之间的桥梁。作为系统软件,其是 a.计算机资源的管理者、b.人机交互的接口、c.扩展机和虚拟机。【所以对操作系统来讲,具体应用领域的工作不是其所关心的事。】 4.操作系统的主要特征 (1)并发性b.共享性:(互斥共享:打印机,磁带机,扫描仪;同时共享)处理机、CPU、辅助存储器、输入/输出设备c.随机性。【在计算机系统中,对资源的共享有两种形式:互斥共享和同时共享】【操作系统的分类:批处理、分时、实时、桌面、嵌入式、网络、分布式操作系统】 5.批处理操作系统的概念 用户将需要计算的一组任务(一般称为作业,即JOB)请求交给系统操作员,系统操作员在收到后并不立即将其输入计算机,而是在收到一定数量的用户作业之后组成一批作业,再把这批作业输入到计算机中。 【又分为单道批处理、多道批处理系统:不适合交互式的作业】 6.分时(交互式)操作系统的概 念多个用户通过终端设备与计算机交互来运行各自的作业,并且共享一个计算机系统而互不干扰,每个终端可由一个用户使用,每个用户就好像自己拥有一台计算机。 7.实时操作系统的概念使计算机 能在规定的时间内及时响应外部事件的请求,同时完成对该事件的处理,并能够控制所有实时设备和实时任务协调一致的工作的操作系统。【特征:及时性、实时性、高可靠性、高过载防护性】 8.网络操作系统的概念 基于计算机网络、在各种计算机操作系统之上按网络体系结构协议标准设计开发的软件,它包括网络管理、通信、安全、资源共享、各种网络应用。 9.分布式操作系统的概念 将大量的计算机通过网络连结在一起,可以获得极高的运算能力及广泛的数据共享,这样的系统称为分布式系统,为分布式系统配置的操作系统称为分布式操作系统。 10.操作系统的基本功能:a.进程 (线程)管理、b.处理机调度、c.存储管理、d.文件管理、e.输入/输出管理。 11.存储管理的任务(P25 L3) 存储管理的任务是管理计算机内存的资源a.当多个程序共享有限的内存资源时,要考虑如何为多个程序分配有限的内存空间;b.存放在内存中的多个程序和数据应该彼此隔离、互不侵扰;c.解决内存扩充的问题,即将内存和外存结合起来管理,为用户提供一个容量比实际内存大得多的虚拟存储器。 【存储管理的主要任务 a.内存的分配和回收b.存储共享c.存储保护d.“扩充”内存容量。】 12.文件管理的任务(P26 L3) 其任务为有效地支持文件的存储、检索和修改等操作,解决文件的共享、保密和保护问题,以使用户方便、安全地访问文件。 13.输入/输出管理的功能: 其功能是按照输入/输出子系统的结构和设备类型指定分配和使用设备的策略,为输入/输出操作的进程分配一条传输信息的通路,合理地控制输入/输出操作,最大程度地实现并行操作。 14.网络操作系统的结构 a.整体式结构(结构紧密,用户界面简单直接,系统效率较高)、 b.层次式结构(易于调试、修改、扩充、维护、保证正确性)、 c.微内核(客户机/服务器)结构(特点:提供最基本服务和其他服务,很好的扩展性,简化应用程序开发,减少磁盘空间和存储器的需求,微内核和硬件部件有接口,并向可安装模块提供一个接口)。 15.网络操作系统的特点a.微内 核,即运行在核心态的内核;b.以通信方式请求服务并返回结果,即运行在用户态的并以客户机/服务器方式运行的进程层。【优点:可靠、灵活、适宜于分布式

操作系统原理知识知识点复习,梁光祥

目录 第一章操作系统概论 (2) 1.1操作系统概念 (2) 1.2操纵系统的主要功能 (2) 1.3操作系统的基本特征 (3) 1.4操作系统的逻辑结构和运行模型 (3) 1.5操作系统的形成与发展 (3) 1.6操作系统主要类型 (3) 第二章进程管理 (4) 2.1.进程概念 (4) (4) 2.2.进程控制 (5) 2.3.进程互斥与同步 (5) 2.4.进程通信 (5) 2.5.线程 (5) 第三章处理器调度与死锁 (6) 3.1.处理器调度 (6) 3.2.死锁 (7) 第四章存储管理 (8) 4.1.程序的链接和装入 (8) 4.2.分区式存储管理 (8) 4.3.分页式存储管理 (8) 4.4.分段式存储管理 (9) 4.5.段页式存储管理 (9) 4.6.虚拟存储管理 (10) 第五章设备管理 (11) 5.1.输入输出系统 (11) 5.2.输入输出控制方式 (11) 5.3.缓冲技术 (14) 5.4.分配策略: (14) 5.5.输入输出软件 (14) 5.6.虚拟设备 (14) 5.7.磁盘存储管理 (14) 第六章文件管理 (15) 6.1.概述 (15) 6.2文件数据的组织和存储 (15) 6.3.文件目录 (15) 6.4.文件储存空间管理 (16)

第一章操作系统概论1.1操作系统概念 1.配备操作系统的目的 1)方便人们使用计算机 2)有效管理计算机 2.操作系统的目标 1)有效地管理计算机的硬件和软件资源 2)提高系统效率 3)具有可扩充性 4)具有开放性 5)具有可靠性 6)具有可移植性 1.2操纵系统的主要功能 1.处理器管理功能 1)进程控制 2)进程同步 3)进程通信 4)调度 2.存储管理功能 1)内存的分配与回收 2)内存保护 3)地址映射 4)内存扩充 5)内存共享 3.设备管理功能 1)缓冲管理 2)设备分配与回收 3)设备驱动 4)实现设备独立性 5)实现虚拟设备 4.文件管理功能 1)文件的存储空间管理 2)目录管理 3)文件的读写管理 4)文件保护 5.网络功能 1)网络资源管理 2)网络通信管理

计算机操作系统教学大纲

《计算机操作系统》课程教学大纲 一. 课程名称 操作系统原理 二. 学时与学分 学时共64学时(52+12+8) 其中,52为理论课学时,12为实验学时,8为课外实验学时 学分 4 三. 先修课程 《计算机组成原理》、《C语言程序设计》、 《IBM—PC宏汇编程序设计语言》、《数据结构》 四. 课程教学目标 通过本课程的学习,要达到如下目标: 1.掌握操作系统的基本原理与实现技术,包括现代操作系统对计算机系统资源的管理策略与方法、操作系统进程管理机制、现代操作系统的用户界面。 2.了解操作系统的结构与设计。 3.具备系统软件开发技能,为以后从事各种研究、开发工作(如:设计、分析或改进各种系统软件和应用软件) 提供必要的软件基础和基本技能。 4.为进一步学习数据库系统、计算机网络、分布式系统等课程打下基础。 五. 适用学科专业 信息大类各专业

六. 基本教学内容与学时安排 主要内容: 本课程全面系统地阐述计算机操作系统的基本原理、主要功能及实现技术,重点论述多用户、多任务操作系统的运行机制;系统资源管理的策略和方法;操作系统提供的用户界面。讨论现代操作系统采用的并行处理技术和虚拟技术。本书以Linux系统为实例,剖析了其特点和具体的实现技术。 理论课学时:52学时 (48学时,课堂讨论2学时,考试2学时) ?绪论4学时 ?操作系统的结构和硬件支持4学时 ?操作系统的用户界面4学时 ?进程及进程管理8学时 ?资源分配与调度4学时 ?存储管理6学时 ?设备管理4学时 ?文件系统6学时 ?Linux系统8学时 七、教材 《计算机操作系统》(第2版),庞丽萍阳富民人民邮电出版社,2014年2月 八、考核方式 闭卷考试

操作系统笔记

操作系统的定义: 操作系统(Operating System, OS)是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充 操作系统的目标和作用 在计算机系统上配置操作系统主要目标与计算机系统的规模和应用环境有关。 操作系统的目标 方便性 硬件只能识别机器代码(0、1) OS提供命令,方便用户使用计算机 有效性 使CPU、I/O保持忙碌,充分利用 使内存、外存数据存放有序,节省空间 合理组织工作流程,改善资源利用率,提高吞吐量可扩充性 计算机技术的发展:硬件/体系结构/网络/Internet OS应采用层次化结构,便于扩充和修改功能层次和模块开放性 支持网络环境,兼容遵循OSI标准开发的硬件和软件操作系统的作用 1. 用户与计算机硬件系统之间的接口 命令方式 用户通过键盘输入联机命令(语言) 系统调用方式 用户程序通过系统调用,操纵计算机 图形、窗口方式 用户通过窗口、图标等图形界面操纵计算机 2.计算机系统资源管理者 4大类资源:处理机;存储器;I/O设备;信息(文件:程 序、数据) 3.对计算机资源的抽象(扩充机器) 裸机:只有硬件的计算机,难以使用 虚机器:在裸机增加软件(OS等),功能增强,使用方便 推动操作系统发展的主要动力

1.不断提高计算机资源利用率 早期计算机很昂贵,为提高资源利用率,产生了批处理系统 2.方便用户 为改善用户上机、调试程序时的条件,产生了分时系统 3.器件的不断更新换代 OS随之更新换代,如:8位->16位->32位 4.计算机体系结构的不断发展 单处理机OS->多处理机OS->网络操作系统 操作系统的发展过程 无操作系统时代 OS尚未出现,人们如何使用计算机 人工操作方式 人工操作方式的缺点 用户独占全机 CPU等待人工操作 结果:资源利用率低下 脱机输入输出系统 低速设备 纸带机/卡片机 高速设备 磁带/磁盘 I/O速度提高,缓解了I/O设备与CPU的速度矛盾 主机:用于计算的主计算机 外围机:也是计算机,处理输入输出,使之不占用主机CPU时 间 外围机控制输入/输出 输入:低速设备->高速设备 输出:高速设备->低速设备

计算机操作系统知识点总结

计算机操作系统知识点总结 导读:我根据大家的需要整理了一份关于《计算机操作系统知识点总结》的内容,具体内容:计算机操作系统考试是让很多同学都觉得头疼的事情,我们要怎么复习呢?下面由我为大家搜集整理了计算机操作系统的知识点总结,希望对大家有帮助!:第一章1、操作系统的定义、目标... 计算机操作系统考试是让很多同学都觉得头疼的事情,我们要怎么复习呢?下面由我为大家搜集整理了计算机操作系统的知识点总结,希望对大家有帮助! :第一章 1、操作系统的定义、目标、作用 操作系统是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充。设计现代OS的主要目标是:方便性,有效性,可扩充性和开放性. OS的作用可表现为: a. OS作为用户与计算机硬件系统之间的接口;(一般用户的观点) b. OS作为计算机系统资源的管理者;(资源管理的观点) c. OS实现了对计算机资源的抽象. 2、脱机输入输出方式和SPOOLing系统(假脱机或联机输入输出方式)的联系和区别 脱机输入输出技术(Off-Line I/O)是为了解决人机矛盾及CPU的高速性和I/O设备低速性间的矛盾而提出的.它减少了CPU的空闲等待时间,提高了I/O速度.

由于程序和数据的输入和输出都是在外围机的控制下完成的,或者说,它们是在脱离主机的情况下进行的,故称为脱机输入输出方式;反之,在主机的直接控制下进行输入输出的方式称为联机(SPOOLing)输入输出方式 假脱机输入输出技术也提高了I/O的速度,同时还将独占设备改造为共享设备,实现了虚拟设备功能。 3、多道批处理系统需要解决的问题 处理机管理问题、内存管理问题、I/O设备管理问题、文件管理问题、作业管理问题 4、OS具有哪几个基本特征?它的最基本特征是什么? a. 并发性(Concurrence),共享性(Sharing),虚拟性(Virtual),异步性(Asynchronism). b. 其中最基本特征是并发和共享. c. 并发特征是操作系统最重要的特征,其它三个特征都是以并发特征为前提的。 5、并行和并发 并行性和并发性是既相似又有区别的两个概念,并行性是指两个或多个事件在同一时刻发生;而并发性是指两个或多少个事件在同一时间间隔内发生。 6、操作系统的主要功能,各主要功能下的扩充功能 a. 处理机管理功能: 进程控制,进程同步,进程通信和调度. b. 存储管理功能:

02323操作系统概论2012年4月自考试题及答案

全国2012年4月高等教育自学考试 操作系统概论试题 课程代码:02323 一、单项选择题(本大题共20小题,每小题1分,共20分) 在每小题列出的四个备选项中只有一个选项是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.操作员接口是操作系统为用户提供的使用计算机系统的手段之一,该接口是指()A.一组操作控制命令B.一组系统调用程序 C.一条访管指令D.一条I/O指令 2.在一个能提供多个用户同时直接输入、调试和运行自己程序的计算机系统中应配置() A.批处理操作系统B.分时操作系统 C.实时操作系统D.嵌入式操作系统 3.多道程序系统指的是() A.在实时系统中同时运行多个程序 B.同一时刻在一个处理器上运行多个程序 C.在网络系统中同时运行多个程序 D.在一个处理器上并发运行多个程序 4.进程有若干属性,它们是() A.进程是静态的、有多种状态;多个进程可以对应于相同的程序 B.进程是动态的、只有一种状态;多个进程可以对应于相同的程序 C.进程是动态的、有多种状态;多个进程不可以对应于相同的程序 D.进程是动态的、有多种状态;多个进程可以对应于相同的程序 5.控制进程的原语中,创建原语的功能是() A.分配工作区、建立进程控制块、置进程为运行态 B.分配工作区、建立进程控制块、置进程为就绪态 C.分配工作区、建立进程控制块、置进程为等待态 D.分配工作区、建立进程控制块、置进程为挂起态 6.操作系统会按若干原因选择进程运行,不是 ..立即进入操作系统进行进程选择的情况是() A.运行进程的时间片用完B.运行进程出错 C.运行进程要等待某一事件发生D.有新进程进入就绪状态 7.基址寄存器和界限寄存器是属于() A.指令寄存器B.通用寄存器 C.控制寄存器D.时钟寄存器

操作系统概论复习大纲

操作系统概论自学考试大纲 第一章引论 (一)内容简介 本章介绍了学习操作系统必须先掌握的一些基础知识,包括以下几部分内容: 1.计算机系统 2.操作系统 3.操作系统的形成和操作系统的基本类型 4.操作系统的发展 5.处理器的工作状态 6.操作系统与用户的接口 (二)学习的目的与要求 了解操作系统在计算机系统中的作用;各类操作系统的特点;用户与操作系统的关系;处理器的工作状态和系统功能调用的作用。 重点是:操作系统在计算机系统中的作用;各类操作系统的特点;程序状态字的作用;系统功能调用。 (三)考核知识点与考核要求 根据本章内容的特点,和大纲要求掌握的重点,该章考核可以出以下题型:选择题,名词解释,问答题。 名词解释:操作系统、嵌入式操作系统、特权指令 问答题: 1. 计算机系统由哪些部分组成? 2. 从资源管理的观点看,操作系统有哪些功能? 3. 各类操作系统的特点? 4. 操作系统为什么要提供“系统功能调用”? 第二章处理器管理 (一)课程内容 本章介绍了操作系统中处理器管理部分的实现,包括以下几部分内容: 1.多道程序设计 2.进程的概念 3.进程控制块 4.进程队列 5.中断与中断处理 6.处理器调度 7.线程的概念 (二)学习目的与要求 通过本章学习应该掌握多道程序设计时如何提高计算机系统效率的;进程和程序有什么区别;进程的基本状态以及状态的变化;处理器调度策略;中断的作用。

重点是:多道程序设计,进程,处理器调度。 (三)考核知识点与考核要求 根据本章内容的特点,和大纲要求掌握的重点,该章考核可以出以下题型:选择题,名词解释,问答题,综合题。 名词解释:多道程序设计,进程,中断,线程 问答题: 1.进程有哪些基本状态,画出进程基本状态变化图。 2.进程控制块的作用和基本内容? 3.简述中断响应的过程。 4.设计调度算法的原则有哪些? 5.有哪些作业调度策略,其各自的特点是什么? 6.有哪些进程调度策略,其各自的特点是什么? 7.在分时系统中采用时间片轮转的调度策略有哪些优越性? 8.采用多线程技术有哪些优越性? 综合题(辅导时可以修改下时间) 1.在单道批处理系统中,有四个作业到达输入井和需要的计算时间如表所示,现采用响应比最高者优先算法,忽略作业调度所需的时间。当第一个作业进入系统后就可开始调度。 (1)填充表中空白处 (2)四个作业的执行次序为__________________。 (3)四个作业的平均周转时间为__________________。 2.在某计算中心的一道单道程序设计系统中,有A、B、C三个作业在等待处理,它们到达系统的时间和估计需计算的时间如下表所示: 法调度时各自的等待时间和完成时间。

操作系统课程教学大纲

GDOU-B-11-213 《操作系统》课程教学大纲 课程简介 课程简介: 本课程主要讲述操作系统的原理,使学生不仅能够从系统内部了解操作系统的工作原理,而且可以学到软件设计的思想方法和技术方法。主要内容 包括:操作系统的概论;操作系统的作业管理;操作系统的文件管理原理; 操作系统的进程概念、进程调度和控制、进程互斥和同步等;操作系统的各 种存储管理方式以及存储保护和共享;操作系统的设备管理一般原理。其次 在实验环节介绍实例操作系统的若干实现技术,如:Windows操作系统、Linux 操作系统等。 课程大纲 一、课程的性质与任务: 本课程计算机学科的软件工程专业中是一门专业方向课,也可以面向计算机类的其它专业。其任务是讲授操作系统的原理,从系统内部了解操作系统的工作原理以级软件设计的思想方法和技术方法;同时介绍实例操作系统的若干实现技术。 二、课程的目的与基本要求: 通过本课程的教学使学生能够从操作系统内部获知操作系统的工作原理,理解操作系统几大管理模块的分工和管理思想,学习设计系统软件的思想方法,通过实验环节掌握操作系统实例的若干实现技术,如:Windows操作系统、Linux操作系统等。 三、面向专业: 软件工程、计算机类 四、先修课程: 计算系统基础,C/C++语言程序设计,计算机组成结构,数据结构。 五、本课程与其它课程的联系:

本课程以计算系统基础,C/C++语言程序设计,计算机组成结构,数据结构等为先修课程,在学习本课程之前要求学生掌握先修课程的知识,在学习本课程的过程中能将数据结构、计算机组成结构等课程的知识融入到本课程之中。 六、教学内容安排、要求、学时分配及作业: 第一章:操作系统概论(2学时) 第一节:操作系统的地位及作用 操作系统的地位(A);操作系统的作用(A)。 第二节:操作系统的功能 单道系统与多道系统(B);操作系统的功能(A)。 第三节:操作系统的分类 批处理操作系统(B);分时操作系统(B);实时操作系统(B)。 第二章:作业管理(2学时) 第一节:作业的组织 作业与作业步(B);作业的分类(B);作业的状态(B);作业控制块(B)。 第二节:操作系统的用户接口 程序级接口(A);作业控制级接口(A)。 第三节:作业调度 作业调度程序的功能(B);作业调度策略(B);作业调度算法(B)。 第四节:作业控制 脱机控制方式(A);联机控制方式(A)。 第三章:文件管理(8学时) 第一节:文件与文件系统(1学时) 文件(B);文件的种类(B);文件系统及其功能(A)。 第二节:文件的组织结构(1学时) 文件的逻辑结构(A);文件的物理结构(A)。 第三节:文件目录结构(1学时) 文件说明(B);文件目录的结构(A);当前目录和目录文件(B)。 第四节:文件存取与操作(1学时) 文件的存取方法(A);文件存储设备(C);活动文件(B);文件操作(A)。 第五节:文件存储空间的管理(2学时) 空闲块表(A);空闲区表(A);空闲块链(A);位示图(A)。 第六节:文件的共享和保护(2学时)

(考研复试)操作系统笔记

1:操作系统的目标:提高资源利用率,提高系统吞吐量,使用户使用更方便,兼容新的计算机硬件和软件。 2:操作系统的作用:用户和计算机硬件之间的接口,使用户方便的操纵硬件,计算机系统的管理者,对计算机资源进行抽象。 3:计算机系统的发展:人工操作方式(穿孔卡片),单道批处理系统(每次只从磁盘中调入一个程序进内存),多道批处理系统(调入多个程序,CPU可以切换),分时操作系统(将一台主机给多个用户使用)实时操作系统(响应快,同时面对大量的远程终端)。 4:操作系统特点:并发,共享,虚拟(空分,时分),异步。5:操作系统的功能:CPU管理(进程控制,同步,通信,调度),存储器管理(内存分配,内存保护,地址映射,内存扩充)设备管理(缓冲管理,设备分配,设备处理)文件管理(存储管理,目录管理,读写保护管理)接口(用户接口管理,程序接口管理) 6:操作系统结构:模块化操作系统,分层式操作系统,C/S 操作系统(分布式),微内核结构(建立在前三者的基础上,微内核只提高“最基本”的服务,进程调度、进程间通信、存储管理、处理I/O设备。其他服务,如文件管理、网络支持等通过接口连到微内核,微内核具有良好的移植性)。 7:传统操作系统中,进程是资源分配和独立运行的基本单

位。 8:为了并发才引入进程。 9:进程控制块PCB:是一个记录型数据结构,记录了操作系统所需的用户描述进程的当前状况和控制进程运行的全部信息,使一个在多道环境环境下不能独立运行的程序成为一个可以独立运行的基本单位。系统创建一个进程的时候就要顺带着创建PCB,OS要调用一个进程的时候就要先查看PCB,系统将PCB组织成若干个链队列或索引表,PCB中有进程标识符,处理机状态,进程调度信息,进程控制信息等。10:进程的特性:动态,并发,独立(独立运行,独立分配资源,独立接受调度),异步(不可预知的速度前进)。11:进程的三种基本状态:就绪,阻塞,执行(就绪到执行到阻塞再回到就绪,执行可以直接回到就绪),此外还有挂起,创建,终止。 12:进程的创建:申请PCB,为新进程分配资源(子进程可以继承父进程,比如父进程打开的文件,和父进程的缓冲区等),初始化PCB,把新的进程插入队列。 13:进程的终止:找出PCB,读出进程状态,若进程在执行,就终止进程,若进程有子孙进程,还要把子进程终止。收回资源,移出PCB。 14:进程的阻塞:停止执行,PCB插入阻塞队列,CPU给另外一个就绪进程。

操作系统知识点整理

第一章操作系统引论 操作系统功能: 1. 资源管理:协调、管理计算机的软、硬件资源,提高其利用率。 2. 用户角度:为用户提供使用计算机的环境和服务。 操作系统特征:1.并发性:指两个或多个事件在同一时间间隔内发生。 2.共享性:资源可供内存中多个并发执行的进程(线程)共同使用 3.虚拟性:是指通过某种技术把一个物理实体变为若干个逻辑上的对应物 在操作系统中,虚拟的实现主要是通过分时使用的方法。 4.异步性:进程是以人们不可预知的速度向前推进,此即进程的异步性 客户/服务器模式的优点: 1.提高了系统的灵活性和可扩充性 2.提高了OS的可靠性 3.可运行于分布式系统中 微内核的基本功能: 进程管理、进程间通信、存储器管理、低级I/O功能。 第二章进程 程序和进程区别:程序是静止的,进程是动态的,进程包括程序和程序处理的对象 程序顺序执行:顺序性,封闭性,可再现性 程序并发执行:间断性,无封闭性,可再现性 进程:1.进程是可并发执行的程序的一次执行过程; 2.是系统进行资源分配和调度的一个独立的基本单位和实体; 3.是一个动态的概念。 进程的特征: 1.动态性: 进程是程序的一次执行过程具有生命期; 它可以由系统创建并独立地执行,直至完成而被撤消 2.并发性; 3.独立性; 4.异步性; 进程的基本状态: 1.执行状态; 2.就绪状态; 3.阻塞状态; 进程控制块PCB:记录和描述进程的动态特性,描述进程的执行情况和状态变化。 是进程存在的唯一标识。 进程运行状态: 1.系统态(核心态,管态)具有较高的访问权,可访问核心模块。 2.用户态(目态)限制访问权 进程间的约束关系: 1.互斥关系 进程之间由于竞争使用共享资源而产生的相互约束的关系。

02323操作系统概论2006年4月试题及答案

2006年4月高等教育自学考试全国统一命题考试 操作系统概论试卷 (课程代码2323) 一、单项选择题(本大题共15小题,每小题1分.共15分) 在每小题列出的四个备选项中只有一个选项是符合题目要求的。请将其代码填写在题后的括号内。错选、多选或未选均无分。 l、以资源管理的观点考察操作系统,操作系统的功能是【】 A、存储管理、设备管理、文件管理、目录管理 B、设备管理、文件管理、目录管理、处理器管理 c、文件管理、目录管理、处理器管理、存储管理 D、处理器管理、存储管理、设备管理、文件管理 2、关于基本类型的操作系统,正确的描述是【】 A、批处理系统需要提供与用户交互的功能 B、实时操作系统的主要功能是提供与用户交互的功能 c、分时操作系统需要提供与用户交互的功能; D、分时操作系统需要提供在严格的时限内处理完接受的请求 3、关于中断,正确的描述是【】 A、程序中断是自愿性中断事件 B、输入输出中断是强迫性中断事件 C、外部中断是自愿性中断事件 D、硬件故障中断是自愿性中断事件 4、关于处理器调度,正确的说明是【】 A、处理器的调度有两级,输入井是用于作业和进程调度的 B、处理器的调度有两级,输入井是用于进程调度的 C、处理器的调度有两级,输入井是用于作业调度的 D、处理器的调度有两级,输入井是用于作业和进程注册的 5、常用的进程调度算法是【】 A、先来先服务、时间片轮流调度、最高优先级调度。 B、时间片轮流调度、最高优先级调度、响应比高者优先。 C、最高优先级调度、响应比高者优先、先来先服务。 D、响应比高者优先、先来先服务、时间片轮流调度。 6、采用两级页表的页式存储管理中,按给定的逻辑地址进行读写时,通常需访问主存 【】 A、1次 B、2次 C、3次 D、4次 7、淘汰过去一段时间里被访问次数最少的页的算法是【】 A、LRU B、LFU C、FIFO D、随机 8、文件系统的使用者需要记住【】 A、存放文件的磁盘的容量 B、文件的逻辑结构

操作系统概论重点整理2017(2017年张琼声版)

操作系统概论-02323(2017年张琼声版本) 第1章操作系统简介 1.1什么是操作系统 (1)操作系统概念: 操作系统是一种复杂的系统软件,是不同程序代码、数据结构、初始化文件的集合,可执行。 操作系统是提供计算机用户与计算机硬件之间的接口,并管理计算机软件和硬件资源,并且通过这个接口使应用程序的开发变得简单、高效。 接口是两个不同部分的交接面。接口分为硬件接口和软件接口,计算机的所有功能最终都是由硬件的操作来实现的,计算机屏蔽了对硬件操作的细节。 (2)操作系统完成的两个目标: 1)与硬件相互作用,为包含在所有硬件平台上的所有底层可编程部件提供服务; 2)为运行在计算机系统上的应用程序(即用户程序)提供执行环境。 现代计算机特点是支持多任务,一方面保证用户程序的顺利执行,另一方面使计算机系统资源得到高效的利用,保证计算机系统的高性能。 (3)操作系统的功能: 处理机管理、内存管理、设备管理、文件管理。 1.2操作系统的发展 1)无操作系统 2)单道批处理系统 3)多道程序系统(多道批处理系统、分时系统) 4)微机操作系统 5)实时操作系统 6)嵌入式操作系统 7)物联网操作系统 1.2.1无操作系统阶段: 电子管,无存储设备,第一台:1946年宾夕法尼亚大学的「埃尼阿克」 单道批处理系统: 晶体管,磁性存储设备,内存中有一道批处理作业,计算机资源被用户作业独占。 吞吐量是指单位时间内计算机系统处理的作业量

1.2.2单道批处理系统 特点:自动性、顺序性、单道性。 优点:减少了等待人工操作的时间 缺点:CPU资源不能得到有效的利用。 1.2.3多道程序系统 多道程序系统:集成电路芯片,出现了分时操作系统(多个终端)。 特点:多道性、无序性、调度性、复杂性。 优点:能够使CPU和内存IO资源得到充分利用,提高系统的吞吐量。 缺点:系统平均周转时间长,缺乏交互能力。 1.2.4微机操作系统: 第一台Intel公司顾问GaryKildall 编写的CP/M系统,是一台磁盘操作系统,用于Intel8080. 1.2.5操作系统特点 (1)分时系统: 特点:多路性、及时性、交互性、独立性。 优点:提供了人机交互,可以使用户通过不同终端分享主机。 缺点:不能及时接收及时处理用户命令。 (2)实时操作系统(用户实时控制和实时信息处理): 实时操作系统:广泛应用于各种工业现场的自动控制、海底探测、智能机器人和航空航天等。 特点:多路性、独立性、及时性、交互性、可靠性。 在实时系统中,往往采取多级容错措施来保证系统安全和数据安全。 (3)操作系统产品: 1)主机操作系统(批处理、事务处理(银行支票处理或航班预订)、分时处理) 2)微机操作系统 3)服务器操作系统 4)嵌入式操作系统(物联网操作系统) 1.3操作系统的特征 现代操作系统都支持多任务,具有并发、共享、虚拟和异步性特征。 (1)并发: 指两个或多个事件在同一时间间隔内发生; (2)共享:指系统中的资源可供内存中多个并发执行的进程共同使用。 资源共享两种方式:互斥共享,同时共享; (3)虚拟:指通过某种技术把一个物理实体变成若干逻辑上的对应物;

操作系统课程设计2014教学大纲

《操作系统课程设计》大纲 一、设计目的和要求 目的:本课程设计是为配合计算机相关专业的重要专业课《操作系统》而开设的,其主要内容是让学生实际进行操作系统功能模块的设计和编程实现。通过本课程设计的实施,使学生能将操作系统的概念具体化,并从整体和动态的角度去理解和把握操作系统,以巩固和补充操作系统的原理教学,提高学生解决操作系统设计及实现过程中的具体问题的能力。 要求:通过本课程设计的实施,要求培养学生以下能力: (1)培养学生在模拟条件下与实际环境中实现功能模块和系统的能力:课程设计要求学生实际进行操作系统功能模块的设计和编程实现,具体包括:基于线程的多任务调度系统的设计与实现;一个简单文件系统的设计与实现。 (2)培养学生设计和实施工程实验的能力,合理分析试验结果的能力:学生在完成项目的过程中,需要进行实验设计、程序调试、错误分析,从而熟悉实验设计方法及实验结果的分析方法。 (3)培养学生综合运用理论和技术手段设计系统和过程的能力:学生需根据设计项目的功能要求及操作系统原理的相关理论提出自己的解决方案,需考虑项目实现的软硬件环境,设计相关数据结构及算法,在实现过程中发现解决方案的问题并进行分析改进。 (4)培养学生分析并清楚阐述设计合理性的能力:要求学生在项目上机验收和实验报告中分析阐述设计思路的合理性和正确性。 (5)培养学生的组织管理能力、人际交往能力、团队协作能力:课程设计分小组进行,每个小组有一个组长,负责组织本组成员的分工及合作。 二、设计学时和学分 学时:32 ;学分:1 三、设计的主要内容 以下三个题目中:1、2中选做一题,第3题必做。 1、基于线程的多任务调度系统的设计与实现 (1)线程的创建、撤消和CPU切换。 掌握线程的定义和特征,线程的基本状态,线程的私有堆栈,线程控制块TCB,理解线程与进程的区别,实现线程的创建、撤消和CPU切换。 (2)时间片轮转调度 理解各种调度算法、调度的原因,完成时钟中断的截取,具体实现调度程序。 (3)最高优先权优先调度 理解优先权的概念,并实现最高优先权优先调度策略。 (4)利用记录型信号量实现线程的同步

考研计算机操作系统学习笔记

第一章操作系统引论 操作系统的定义:是计算机系统中的一个系统软件,管理和控制计算机系统中的硬件和软件资源,合理的组织计算机的工作流程,以便有效利用这些资源为用户提供一个功能强大、使用方便的工作环境,从而在计算机与用户之间起到接口的作用。 1.1操作系统的目标与作用 1.目标:有效性、方便性、可扩充性、开放性 2.作用:a. OS作为用户与计算机硬件系统之间的接口;b. OS作为计算机系统资源的管理者;c. 实现了对计算机资源的抽象 3.操作系统为用户提供三种类型的使用接口:1.命令方式;2.系统调用方式;3.图形、窗口方式 1.2操作系统的发展过程 无操作系统的计算机系统、批处理系统(单道、多道)、分时系统、实时系统 1.单道批处理系统特征:自动性、顺序性、单道性。 多道批处理系统的优缺点:优点:资源利用率高、系统吞吐量大;缺点:平均周转时间长、无交互能力。 2.分时系统和实时系统的特征: 分时系统的特征:多路性、独立性、及时性、交互性、可靠性 实时系统的特征:实时性、可靠性、安全性 3.分时系统和实时系统的比较:a.及时性:实时信息处理系统对实时性的要求与分时系统类似都以人所能接受的等待时间来确定,但实时控制系统的及时性则是以控制对象所要求的开始截止时间或完成截止时间来确定的;b.交互性:实时信息系统虽然也具有交互性,但其交互性仅限于访问系统中某些特定的专用服务程序,不像分时系统能向终端用户提供数据处理和资源共享等服务;c.可靠性:分时系统虽然也要求系统可靠,但相比实时系统则要求系统具有高度的可靠性。 1.3操作系统的基本特性 基本特性:并发性、共享性、虚拟技术、异步性 1.4操作系统的主要功能 操作系统的主要任务:为多道程序的运行提供良好的运行环境,以保证多道程序能有条不紊的、高效的运行,并能最大程度的提高系统中各种资源的利用率和方便用户的使用。 主要功能:处理机管理(进程管理、进程同步、进程通信、处理机调度) 存储器管理(内存分配、内存保护、地址映射、内存扩充) 设备管理(设备管理、设备分配、设备处理、虚拟设备) 文件管理(文件存储空间的管理、目录管理、文件读/写管理和保护) 1.5操作系统与用户之间的接口: 1.用户接口:供用户组织和控制作业的执行和管理计算机系统; 2.程序接口:供编程人员使用操作系统提供的系统调用来请求操作系统提供服务。 1.6OS结构设计 1.操作系统结构:无结构OS、模块化结构OS、分层式结构OS、微内核结构OS 2.微内核技术:把操作系统中更多的成分和功能放到更高的层次(用户模式)中去运行,而留下一个 尽可能小的内核,用它来完成操作系统最基本的核心功能,称之为微内核技术。 补1.计算机操作系统的性能指标 系统可靠性、系统吞吐量、资源利用率、周转时间、可移植性、可扩展性 系统吞吐量:指系统在单位时间内处理的信息量;周转时间:指用户从提交作业到得到计算结果这段时间,又称系统响应时间。 补2.硬件将处理机划分为两种状态即管态和目态

2015年4月全国自考操作系统概论考前密卷02323(含答案)

2015年4月全国自考操作系统概论考前密卷02323(含答案) 一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个选项是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 第1题进程——资源图中出现(),会产生死锁。 A. 断点 B. 互斥 C. 环路 D. 同步 【正确答案】 C 【你的答案】 本题分数1分 第2题多道批处理系统的硬件支持是60年代初发展起来的() A. RISC技术 B. 通道和中断机构 C. 集成电路 D. 高速缓存 【正确答案】 B 【你的答案】 本题分数1分 第3题操作系统中,存储介质上的分块是()来进行划分的。 A. 根据文件的逻辑结构 B. 根据逻辑记录的大小 C. 根据用户的实际需要 D. 根据存储介质的特性 【正确答案】 D 【你的答案】 本题分数1分 第4题死锁四个必要条件中,无法破坏的是() A. 互斥使用资源 B. 占有且等待资源 C. 非抢夺式分配 D. 循环等待资源

【正确答案】 A 【你的答案】 本题分数1分 第5题当一进程运行时,系统可基于某种原则,强行将其撤下,把处理器分配给其他进程,这种调度方式是() A. 非剥夺方式 B. 剥夺方式 C. 中断方式 D. 查询方式 【正确答案】 C 【你的答案】 本题分数1分 第6题访问一次磁盘操作必须给出如下参数() A. 磁头号 B. 扇区号 C. 柱面号 D. 三个都给出 【正确答案】 D 【你的答案】 本题分数1分 第7题操作系统通过()对进程进行管理。 A. 进程名 B. 进程控制块 C. 进程启动程序 D. 进程控制区 【正确答案】 B 【你的答案】 本题分数1分 第8题共享设备是指可让若干个作业同时使用的设备,这里的“同时使用”是指() A. 多个作业在同一时刻使用共享设备 B. 一个作业尚未撤离,另一个作业即可使用共享设备,但任一时刻只有一个作业占用该设备

操作系统概论自考复习资料.doc

操作系统(operating system , OS)是计算机系统中必不可少的系统软件。它是计算机系统中各种资源的管理者和各种活动的组织者、指挥者。它使整个计算机系统协调一致且有效地工作。通过本课程的学习,我们将知道操作系统要做什么、怎么做和为什么要这样做。 学习操作系统,首先我们应该知道操作系统的概念。本章主 要讲述了以下几个问题。 一、什么是操作系统 二、操作系统的形成 三、操作系统的类型 四、操作系统的功能 一、什么是操作系统 在回答这个问题之前,我们先来了解一下什么是计算机系统。计算机系统是按用户的要求接收和存储信息、自动进行数据处理并输出结果信息的系统。 计算机系统由硬件系统和软件系统组成。软硬件系统的组成部分就是计算机系统的资源,当不同的用户使用计算机时都要占用系统资源并且有不同的控制需求。 操作系统就是计算机系统的一种系统软件,由它统一管理计算机系统的资源和控制程序的执行。 操作系统的设计目标一是使计算机系统使用方便。二是使得计算机系统能高效地工作。 二、操作系统的形成 早期没有操作系统→原始汇编系统→管理程序→操作系统可以看到,操作系统是随着计算机硬件的发展和应用需求的推动而形成的。 三、操作系统的类型

按照操作系统提供的服务,大致可以把操作系统分为以下几类: 批处理操作系统、分时操作系统、实时操作系统、网络操作系统和分布式操作系统。其中批处理操作系统、分时操作系统、实时操作系统是基本的操作系统(加亮) 1、批处理操作系统按照用户预先规定好的步骤控制作业的执行,实现计算机操作的自动化。又可分为批处理单道系统和批处理多道系统。单道系统每次只有一个作业装入计算机系统的主存储器运行,多个作业可自动、顺序地被装入运行。批处理多道系统则允许多个作业同时装入主存储器,中央处理器轮流地执行各个作业,各个作业可以同时使用各自所需的外围设备,这样可以充分利用计算机系统的资源,缩短作业时间,提高系统的吞吐率。 2、分时操作系统,这种系统中,一个计算机系统与许多终端设备连接,分时系统支持多个终端用户,同时以交互方式使用计算机系统,为用户在测试、修改和控制程序执行方面提供了灵活性。分时系统的主要特点是同时性、独立性、及时性和交互性。 3、实时操作系统能使计算机系统接收到外部信号后及时进行处理,并在严格的规定时间内完成处理,且给出反馈信号。它是较少有人为干预的监督和控制系统。实时系统对可靠性和安全性要求极高,不强求系统资源的利用率。 4、网络操作系统可以把若干计算机联合起来,实现各台计算机之间的通信及网络中各种资源的共享,像我们现在使用的Windows ,UNIX和Linux等操作系统都是网络操作系统。 5、分布式操作系统的网络中各台计算机没有主次之分,在任意两台计算机间的可进行信息交换和资源共享。这一点上分布式操作系统和网络操作系统差别不大,他们的本质区别在于:分布式操作系统能使系统中若干计算机相互协作完成一个共同的任务。这使得各台计算机组成一个完整的,功能强大的计算机系统。 四、操作系统的功能 从资源管理的观点出发,操作系统功能可分为五大部分:处理器管理、存储管理、文件管理、设备管理和作业管理。 计算机系统是由硬件系统和软件系统两部分组成,操作系统是软件系统的一个组成部分,它是直接在硬件系统的基础上工作的,所以在研究操作系统之前,先必须对计算机系统的结构有一个基本的了解,本章就是讲述计算机系统结构的基本知识。

操作系统课程教学网站论文

摘要 通过操作系统教学网站的建设,完成了对于操作系统课程的远程化授课。可以使学生不受时间空间的限制,通过网络对于这门课程进行学习。建立起了基于B/C的网络化教学系统。本网站采用当前最流行的JSP网络编程技术,可以实现数据的高效、动态、交互访问,具有强大的Server/Client交互能力。本文中所做的主要工作:介绍Win2000 +JSP(J2DK+TOMCAT)系统并且嵌入 JAVABEAN的一般原理;阐述整个操作系统教学网站的概要设计,系统结构及工作原理;分析了系统实现中的特殊性、难点和重点;详细设计实现学院介绍、教学资源、课程表、课堂教学、在线答疑、其他课程、课件下载、留言反馈、自我测试、成绩管理、站内搜索、公告专栏、友情链接、校园风景、新闻中心、栏目导航等程序模块;各个模块的具体实现,且分析并解决实现中的若干技术问题;建立完整的实验网站,进行测试并分析结果。 关键字: JAVABEAN JSP 交互访问 JAVASCRIPT JDBC

Abstract Through the operating system teaching website construction, completed long-distance has taught regarding the operating system curriculum, was allowed to cause the student without the time space limit, and carried on the study through the network regarding this curriculum. Established based on the B/C network teaching system. This website uses the current most popular JSP network programming technology, may realize the data to be highly effective, dynamically, alternately visits, and has the formidable Server/Client interactive ability. In this article does main work: Introduced Win2000 +JSP (J2DK+TOMCAT) the system and to insert JA V ABEAN the general principle; Elaborates the entire operating system teaching website outline design, the system structure and the principle of work; Has analyzed in the system realization particularity, the difficulty and key; The detailed design realization institute introduced, in the teaching resources, the class schedule, the classroom instruction, the on-line Q/A, other curricula, class downloading, the message feedback, the self- test, the result management, the station search, program module and so on announcement column, friendship link, campus scenery, news center, column navigation; Each module concrete realization, also in analysis and solution realization certain technical questions; The establishment integrity experimental website, carries on the test and the analysis result. Key words: JA V ABEAN JSP alternately visits JA V ASCRIPT JDBC

相关文档
最新文档