操作系统发展历程
多道程序设计是个很重要的概念。早期的批处理系统一次只能处理一个任务,多道程序设计使得批处理系统可以一次处理多个任务,大大提升系统运行效率。多道程序设计是指在计算机内存中同时存放多个程序,程序之间相互不干扰,在计算机的管理程序之下相互穿插运行。对多道程序的管理是操作系统的重要功能。
操作系统对多道程序和系统资源的管理,可以分为五大功能:进程管理、存储管理、作业管理、文件管理、设备管理。
操作系统概述
操作系统是管理计算机硬件和软件资源的计算机程序,本质是个软件程序。操作系统管理配置内存、决定资源供需顺序、控制输入输出设备等;操作系统也提供让用户和系统交互的操作界面。操作系统的种类是多样的,不局限于计算机,从手机到超级计算机,操作系统可简单也可复杂,在不同设备上,操作系统可向用户呈现多种操作手段。
操作系统基本功能
计算机系统中有几大资源:处理器资源、存储器资源、IO设备资源、文件资源。操作系统第一个基本功能是统一管理计算机资源。
操作系统的第二个功能是实现了对计算机资源的抽象,用户无需面向硬件接口编程:如IO设备管理软件提供读写接口、文件管理软件提供文件操作接口。
操作系统的第三个基本功能是提供了用户与计算机之间的接口。有三种接口形式:图形窗口形式(比如Windows界面)、命令形式(shell终端敲入命令)、系统调用形式(程序调用的接口)。
操作系统特性
并发性
并发性是后面三种特性的前提,只有理解了并发性,才能理解其他特性。
并发需要和并行区分理解:并行是指两个或多个事件可以在同一时刻发生;并发是指两个或多个事件可以在同一时间间隔内发生。
多道程序设计是并行和并发的基础。在单处理器的系统中只存在并发的概念,同一时刻只有一个程序占用CPU,多个程序交替执行;多处理器系统中,单个处理器并发执行,所有处理器并行执行。
共享性
共享性表现为操作系统中的资源可供多个并发程序共同使用,这种共同使用的形式称之为资源共享。
资源共享根据属性可以分为互斥共享形式和同时访问形式:
- 互斥共享:当资源被程序A占用时,其他想使用资源的话只能等待A使用完,比如打印机资源;
- 同时访问:某种资源在一段时间内并发的被多个程序访问,这种“同时”是宏观的,从宏观看资源可以被同时访问,比如硬盘资源;
虚拟性
虚拟性表现为把一个物理实体转变为若干个逻辑实体,物理实体是真实存在的,逻辑实体是虚拟的。虚拟技术主要有时分复用技术和空分复用技术。
- 时分复用:资源在时间上进行复用,不同程序并发使用,多道程序分时使用计算机的硬件资源,时分复用可以提高资源利用率;
- 空分复用:用来实现虚拟磁盘、虚拟内存等,提高资源的利用率,提升编程效率;
异步性
异步性表现为在多道程序的环境下,允许多个进程并发执行。由于进程在使用资源时可能需要等待或放弃,所以进程的执行并不是一气呵成的,而是以走走停停的形式推进。