复试篇--操作系统

操作系统引论:

多道批处理系统:
先将用户所提交的作业存放到外存中,形成一个后备队列,再从队列中选出一批作业放到内存,然后这批作业按照一定的算法来共享CPU。

目的:提高资源利用率和系统吞吐率

分时操作系统:
将作业直接存放在内存中。一台计算机连接着多个终端,系统迅速接收终端请求并处理,然后返回结果给终端。按照时间片轮转的规则使用CPU

特点:多路性(多个终端)、交互性、及时性

实时操作系统:比分时操作系统的实时性和可靠性更强

并发与并行:

并发:宏观上并行,微观上串行(只有一个处理器)
并行:利用多个处理器来实现多个程序同时执行

操作系统的主要功能:

进程管理:进程控制、进程同步、进程通信、进程调度

内存管理:内存分配和回收、内存保护(设置界限寄存器)、
地址映射、虚拟内存

设备管理:缓冲管理、设备分配、设备处理

文件管理: 文件存储、文件查找

进程

程序并发所带来的影响:间断性、失去封闭性、不可再现性(并发程序如果各自按照不同的顺序执行,会造成不同的结果)

进程的状态:
创建状态
就绪态:获得了除了CPU之外的一切资源
执行态
堵塞态
终止状态

进程管理的功能:进程控制(各种状态之间的转换)、进程同步

管程:一个管程定义了一个数据结构和能为并发进程所执行的一组操作,这组操作能同步进程和改变管理中的数据。

进程通信
共享存储器通信
管道通信
消息传递通信(分为直接消息通信和间接消息通信–信箱)
客户机-服务器系统

线程:
为了减少程序在并发执行时候所付出的时空开销,使OS具有更好的并发性

线程中的寄存器:程序计数器PC、状态寄存器和通用寄存器

处理机调度

处理机调度层次:
高级调度:作用对象是作业。决定把外存上处于后备队列中的哪几个作业调入内存,并为其创建进程和分配资源

中级调度:又称内存调度。把内存中暂时不需要运行的进程调至外存中等待。

低级调度:又称进程调度。根据某种算法决定把就绪队列中的哪个进程应该获得处理机

进程调度算法:
多级反馈队列调度:
(1)设置多个就绪队列,且每个队列的优先级不同,第一个就绪队列优先级最高,然后递减。
(2)每个就绪队列按照FCFS算法来处理,若能在时间片内完成,则处理该队列的下一个进程,否则,把该进程放到下一个队列的队尾。
(3)先处理完高优先级的队列,当此队列空闲时候,才处理低优先级的。

存储器管理

重定位:程序模块在链接时候用的是相对地址,起始地址都为0,要使得程序能够装载进内存中运行,要把相对地址转化为物理地址。

静态重定位:在装入内存前就把相对地址转为物理地址,占用的内存是连续的,在转换后不能更改。

动态重定位:CPU每次访问内存单元的时候才进行地址转换。模块装入内存的时候还是逻辑地址,利用硬件的重定位寄存器可以得到物理地址。目标模块转入内存的位置可以是不相邻的,只要为每个模块配置一个重定位寄存器即可。动态重定向有利于内存的紧凑操作,可以提高内存的利用率。

分页和分段存储管理方式:
引入这两种方式的原因:若采用连续存储方式,会造成很多碎片,虽然可以用紧凑技术来把碎片拼接,但是要付出很大的代价。因此引入了可以离散存储的方式—分页存储和分段存储。

分页存储:
两级页表和多级页表:
引入原因:若只采用单级页表,若逻辑地址空间很大的时候,那么页表就会很大。而且页表占用的是连续的存储空间,这现实。因此,为了能让页表离散化,采用多级页表。

分段存储:
引入原因:满足程序员在编程和使用上多方便的需求
段表组成:段号 + 段长 + 基址

端也是存储方式:
将用户程序分成若干和段,再把每个段分成若干个页。
逻辑地址组成:段号 + 页号 + 页内地址
需要的硬件:段表寄存器,存储了段表始址和段表长度,从段表项中可以找到页表始址。

虚拟存储器:
请求分页存储管理方式
缺页中断和普通的中断有什么不同点?
普通的中断是在指令执行完开始检查,缺页中断是在指令执行期间,若发现所访问的指令或者数据不在内存中,就产生中断信号。

从何处调入页面
分页系统外存分为两部分,存放文件的文件区和用于存放对换页面的对换区。Unix系统中,与进程有关的文件都放在文件区,凡是未运行过的页面,都应该从文件区调入,对于曾经运行改过又被换出的页面,放在兑换区,方便下一次调入。

LRU置换算法所需要用到的硬件:
移位寄存器:每个页面都配置一个移位寄存器,每次访问一个页面,该页面的寄存器的最高位就会被置1,然后隔一段时间每个寄存器都会右移移位。因此,值最小的寄存器就是最长时间未被使用的寄存器。
栈:栈顶始终是最新被访问的页面,栈底是最久未被访问的页面,是要被置换出去的。

输入输出系统

中断和陷入:
主要的区别是中断的来源是CPU内部还是外部,外部的叫中断,内部的叫陷入。

设备驱动程序:
为了实现I/O系统的高层与设备控制器之间的通信。
作用:
1.它将抽象的I/O请求转换成具体的I/O操作后传送给控制器。
2.对服务请求进行校验
3.检查设备转态
4.启动I/O设备

SPOOLing系统的特点:
(1)提高了I/O速度。将对低速的I/O设备的I/O操作演变成对磁盘缓冲区中数据的存取。
(2)将独占设备改造成共享设备。
(3)实现了虚拟设备功能。

守护进程:
凡是将独占设备改造成可供多个进程共享的设备时,都要为该设备配置一个守护进程和一个假脱机文件队列。守护进程是允许使用该独占式设备的唯一进程。

磁盘访问:
先寻道,把磁头移动到指定的磁道。
然后再把指定扇区移动到磁头下面的磁道。

文件管理

按文件中的数据形式分类:
(1)源文件,通常是是ASCII码组成
(2)目标文件,源文件经过编译程序编译过,但是尚未经过链接程序链接。
(3)可执行文件,目标代码经过链接程序链接后所形成的文件。

按文件的组织形式分类:
(1)顺序文件
(2)索引文件,为每一个记录设置一个索引项。
(3)索引顺序文件。并不是为每一个记录设置一个索引项,而是为一组记录中的第一个记录创建一个索引项。

利用符号链接来实现文件共享:
主用户的目录项中存放的是指向数据文件的索引指针,而其他共享用户存放的是该文件的路径名。这样做的好处是避免主用户删除指针后,其他用户留下一空指针的情况。

事务的并发控制:
互斥锁与共享锁:互斥锁只允许一个对象进行读或者写操作。但是数据允许多个人同时读,所以又引入了共享锁。共享锁可允许多个用户同时读。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值