【操作系统】基础知识
操作系统是一组控制和管理计算机硬件和软件资源,合理地对各类作业进行调度,以及为用户提供交互接口方便用户使用的程序的集合。
操作系统的作用
- 作为用户与计算机硬件系统之间的接口。
- 作为计算机软硬件资源的管理者。主要包括处理器(CPU)管理(分配和控制处理器)、存储器管理(内存分配与回收)、I/O设备管理(I/O设备的分配与操作)、文件管理(文件的存取、共享和保护)。
- 实现对计算机资源的抽象
操作系统发展过程
- 无操作系统的计算机系统。人工操作方式(用户独占全机、CPU等人操作);脱机输入/输出方式(相对于人工,减少了CPU空闲,提高了I/O速度)。
- 单道批处理系统。系统中存在一个监督程序,主要特征:自动性(无需人工干预)、顺序性(各个作业完成顺序为进入顺序)、单道性(内存中仅有一道程序运行)。
3.多道批处理系统。用户所提交的作业都先存放在外存上并排成一个队列,称为“后备队列”;然后,由作业调度程序按一定的算法从后备队列中选择若干个作业调入内存,使它们共享CPU 和系统中的各种资源。优点是提高了CPU利用率、可提高内存和I/O 设备利用率、增加系统吞吐量;缺点是作业周转时间长、作业与用户无交互能力。多道批处理系统需要解决CPU管理、内存管理、I/O设备管理、文件管理和作业管理。
多道是针对调度任务数量来说,在单处理机下,某一时刻只有一个任务执行。
4.分时系统(CTSS)。分时系统是指在一台主机上连接了多个带有显示器和键盘的终端,同时允许多个用户通过自己的终端,以交互方式使用计算机,共享主机中的资源。分时系统中的关键是及时接收,及时处理。主要特征:多路性(多个终端和用户)、独立性(用户之间独立)、及时性、交互性。
5.实时系统(RTS)。实时系统能及时(或即时)响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。实时系统的关键是实时控制、实时信息处理。实时任务的分类按周期性:周期性实时任务、非周期性实时任务。按截止时间:硬实时任务(截止时间要求严格)、软实时任务。主要特征:多路性、独立性、及时性(相对分时要求更高)、交互性、可靠性。
操作系统的基本特征
操作系统具有并发、共享、虚拟和异步这四个基本特征。其中,并发特征是操作系统最重要的特征,其它三个特征都是以并发特征为前提的。并发和共享是操作系统的两个最基本的特征,它们又是互为存在的条件。
- 并发:并行性是指两个或多个事件在同一时刻发生;而并发性是指两个或多个事件在同一时间间隔内发生。为了支持并发引入了进程(操作系统中资源分配的基本单位)和线程(通常在一个进程中可以包含若干个线程,它们可以利用进程所拥有的资源,线程作为独立运行和独立调度的基本单位)。
- 共享:指系统中的资源可供内存中多个并发执行的进程(线程)共同使用,称为资源共享,或称为资源复用。实现资源共享的两种方式:互斥共享方式(在一段时间内只允许一个进程(线程)访问该资源,这种资源成为临界资源或独占资源)、同时访问方式。
- 虚拟:指通过某种技术把一个物理实体变为若干个逻辑上的对应物。物理实体是实际存在的,而逻辑仅是用户感觉上的东西。在操作系统中利用了两种方式实现虚拟技术,即时分复用技术(包括虚拟CPU、虚拟设备)和空分复用技术(包括虚拟磁盘、虚拟存储)。
- 异步:进程是以人们不可预知的速度向前推进,此即进程的异步性(Asynchronism)。尽管如此,但只要在操作系统中配置有完善的进程同步机制,且运行环境相同,作业经多次运行都会获得完全相同的结果。
操作系统的主要功能
- 处理机管理:进程控制(创建终止及状态切换)、进程同步(进程互斥方式、进程同步方式)、进程通信、调度(作业调度、进程调度)。
- 存储器管理:内存分配和回收(静态和动态两种方式)、内存保护、地址映射(地址空间中逻辑地址到内存空间中的物理地址之间)、内存扩充。
- 设备管理:缓冲管理、设备分配、设备处理。
- 文件管理:文件存储空间管理、目录管理、文件读写管理和保护。
用户与操作系统的接口
用户接口(用户获取操作系统服务的接口)、程序接口(用户程序系统调用的接口)。
操作系统的结构
我们把早期的无结构OS(第一代)、模块化结构的OS(第二代)和分层式结构的OS(第三代),都统称为传统结构的OS,而把微内核结构的OS称为现代结构的OS。
微内核:为了提高操作系统的“正确性”、“灵活性”、“易维护性”和”可扩充性”,在进行现代操作系统结构设计时,大多也采用基于客户/服务器模式的微内核结构,将操作系统划分为两大部分:微内核和多个服务器。内核是指能实现现代OS最基本的核心功能的部分。微内核并非是一个完整的OS,而只是操作系统中最基本的部分,它通常用于:① 实现与硬件紧密相关的处理;② 实现一些较基本的功能;③ 负责客户和服务器之间的通信。将操作系统中最基本的部分放入内核中,而把操作系统的绝大部分功能都放在微内核外面的一组服务器(进程)中实现。
微内核的主要功能:进程(线程)管理、低级存储管理、中断陷入处理。优点(扩展性、可靠性、移植性、支持分布式系统、面向对象技术)效率降低的最主要的原因是,在完成一次客户对OS提出的服务请求时,需要利用消息现多次交互和进行用户/内核模式及上下文的多次切换。
参考
《计算机操作系统第三版》汤小丹