认识操作系统

操作系统,简称OS,是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。操作系统是用户和计算机的接口,同时也是计算机硬件和其他软件的接口。操作系统的功能包括管理计算机系统的硬件、软件及数据资源,控制程序运行,改善人机界面,为其它应用软件提供支持,让计算机系统所有资源最大限度地发挥作用,提供各种形式的用户界面,使用户有一个好的工作环境,为其它软件的开发提供必要的服务和相应的接口等。实际上,用户是不用接触操作系统的,操作系统管理着计算机硬件资源,同时按照应用程序的资源请求,分配资源。其具有内容庞杂、涉及面广,实践性强,技术发展快的特点。

操作系统采用的技术

操作系统采用的技术主要有并行处理技术和虚拟技术。其中,并行处理技术为多用户、多任务同时执行(并发执行),) 系统资源共享,虚拟技术将用户的逻辑视图与操作系统所管理的物理视图分离。

图像说明文字

操作系统内容提炼

  • 现代操作系统内容框架

图像说明文字

  • 操作系统与各层的关系

OS对各层进行管理与控制。其与硬件的关系为控制CPU的工作 ,访问存储器,设备驱动、中断处理;与用户及其他软件的关系 为进行控制、管理,提供方便的用户界面,提供优质的服务。

图像说明文字

同时,各层又对OS进行制约和影响。下层硬件环境对OS的制约,表现在提供OS的运行基础,限制了OS功能的实现;用户和上层软件对OS提出要求要求,即要满足用户需求,提供优质的服务,拥有方便的用户界面。

图像说明文字

  • 计算机系统结构与操作系统的关系

计算机系统结构与操作系统是一对矛盾,也可以说是顺序计算机模式和并行计算模型之间的矛盾。为了解决这一矛盾,OS采用了一系列软件技术,如多道程序设计技术、分时技术、资源分配与调度等。计算机体系结构与硬件技术也进行了变化,将单CPU计算机改变为多计算机系统、消息传递型多计算机。

  • 多任务并发执行的机制和策略

多任务并发执行的机制所需的数据结构有进程控制块和进程队列。而采取的策略则是多任务协调。

  • 系统资源管理的机制和策略

资源分配机构主要有资源描述器和资源信息块。资源描述器是描述描述各类资源的最小分配单位的数据结构,它的内容包括资源名、资源类型、最小分配单位的大小、地址、分配标志、描述器链接信息、存取权限、密级、存取时间。源信息块是描述某类资源的请求者、可用资源和该类资源分配程序等必要信息的数据结构。资源分配策略有以下几点。

先请求先服务,即每一个新产生的请求均排在队尾,而当资源可用时,资源分配程序则从队列中选取第一个请求,并满足其需要。排序原则为按请求的先后次序排序。

图像说明文字

优先调度,即在优先调度策略下,对于每一个进程要指定一个优先级,优先级反映了进程要求处理的紧迫程度。每一个新产生的请求按优先级的高低插入到队列适当的位置上,而当资源可用时,资源分配程序则从队列中选取第一个请求,并满足其需要。排序原则为按优先级的高低排序。

图像说明文字

针对设备特性的调度策略,主要有调度的目标(当有大量I/O请求时,降低完成这些I/O服务的总时间)、移臂调度(总是选取与当前移动臂前进方向上最近的那个I/O请求,使移臂距离最短。)、旋转调度(总是选取与当前读写头最近的那个I/O请求,使旋转圈数最少)。

操作系统课程重点、难点解析

  • 进程状态及变迁

进程的三个基本状态为运行、就绪和等待。其进程状态变迁如下。

图像说明文字

图像说明文字

  • 进程的同步与互斥

进程为什么需要同步呢?

主要因为失去会程序的封闭性和可再现性,若一个程序的执行可以改变另一个程序的变量,那么,后者的输出就可能有赖于各程序执行的相对速度,即失去了程序的封闭性特点。

如何实现正确的同步?

想要实现正确的进程同步需要操作系统提供同步工具,保证锁、上锁原语、开锁原语能实现互斥,信号灯、P操作原语、V操作原语能实现同步与互斥。用户编程时,正确描述有直接相互制约关系的各进程的同步关系。

什么是进程同步?

所谓同步,就是并发进程在一些关键点上可能需要互相等待与互通消息,这种相互制约的等待与互通消息称为进程同步。

  • 页式存储管理

虚地址结构

当CPU给出的虚地址长度为16位,页面大小为1KB时,在分页系统中地址结构的格式如下。

图像说明文字

CPU给出的虚地址长度为32位,页面大小为4KB时,虚存的大小:220 ×212

图像说明文字

页表与页式存储管理功能之间的关系

页式存储管理功能有页式地址变换、请调页面、淘汰页面。页表如下。

图像说明文字

页面淘汰算法

先进先出淘汰算法(FIFO算法) 就是总是选择在主存中居留时间最长(即最早进入主存)的一页淘汰。先进先出淘汰算法的实现需要建立一个页面进入主存的先后次序表;建立一个替换指针,指向最早进入主存的页面;当需要置换一页时,选择替换指向的那一页,然后调整替换指针的内容。

最久未使用淘汰算法(LRU算法) 就是总是选择最长时间未被使用的一页淘汰。最久未使用淘汰算法的实现需要用引用位考察页面的使用情况;当访问页面时,将引用位置1,并记时;当要淘汰一页时,选择时间最长的一页淘汰。

  • 文件索引结构

索引文件

系统为每个文件建立逻辑块号与物理块号的对照表,称为该文件的索引表。文件由数据文件和索引表构成。这种文件称为索引文件。访问索引文件需要两步操作,先查文件索引,由逻辑块号查得物理块号,再由此磁盘物理块号而获得所要求的信息。其特点为充分利用磁盘空间,易于文件的增删,直接读写任意记录。

图像说明文字

  • 索引表的组织——多级索引

文件目录项中有一组表项用于索引。每一个表项登记的是逻辑记录所在的磁盘块号。文件目录项中的4个表项作为直接索引, 所支持的文件大小: 4×512B。

图像说明文字

文件目录项中有一组表项,其内容登记的是第一级索引表块的块号。第一级索引表块中的索引表项登记的是文件逻辑记录所在的磁盘块号。用磁盘块作为一级间接索引表,每2个字节为一个表项 ,一个磁盘块可有256个表项。文件目录项中的4个表项指向一级间接索引表。所支持的文件大小:4×256×512B。

图像说明文字

文件目录项中有一组表项,其内容登记的是第二级索引表块的块号。第二级索引表块中的索引表项登记的第一级索引表块的块号,第一级索引表项中登记的是文件逻辑记录所在的磁盘块号。文件目录项中的4个表项指向二级间接索引表,所支持的文件大小:4×2562×512B。

图像说明文字

UNIX syatem V 采用 i_addr[13]地址表来构造文件的索引结构,文件的大小:(10+256+2562+2563) × 512B。

图像说明文字

Linux系统的Ext2文件系统的索引结构索引节点中的i_block数组有15个单元用作地址索引表,第0 ~ 第11个数组单元用做直接索引,第12个数组单元用做一级间接索引,第13个数组单元用做二级间接索引,第14个数组单元用做三级间接索引。

图像说明文字