操作系统的主要功能
操作系统的主要功能
目录
操作系统是用户与硬件之间的桥梁,它主要负责管理计算机系统中的所有资源,并负责它们的调度和使用,充分发挥这些资源的作用和方便用户使用计算机。
从 资源管理的角度 来看,操作系统的功能主要有:
- 处理机管理功能;
- 存储器管理功能;
- 设备管理功能;
- 文件管理功能;
- 用户接口;
一. 处理机管理功能
处理机的分配和运行,都是以进程为基本单位,因而对处理机的管理,可归结为对进程的管理。
1.1 进程控制
- 为作业创建一个或多个进程,并为之分配必要资源。
- 撤销已结束的进程,回收其占用的资源。
- 控制进程运行过程的状态转换。
1.2 进程同步
- 互斥方式:诸进程访问临界资源;锁机制;
- 同步方式:在相互合作完成任务的进程之间由同步机构对执行次序加以协调;信号量机制;
1.3 进程通信
相互合作的诸进程之间需要互换信息,即合作进程间需要通信,以协调进程间的协作。
1.4 进程调度
- 作业调度: 为部分后备作业分配资源、将其调入内存、创建进程、插入到就绪队列,等待进程调度。
- 进程调度: 为就绪队列的某进程分配处理器,设置运行现场,使其能够运行。
处理机管理的主要功能
二. 存储器管理功能
存储器管理的主要任务,是为多道程序的运行提供良好的环境,方便用户使用存储器,提高存储器的利用率以及能从逻辑上扩充内存。
2.1 内存分配
主要任务是为每道作业分配内存空间,减少内存碎片,提高内存利用率,允许正在运行的程序动态申请存储空间。
- 静态分配: 装入作业时分配其所需全部存储空间,运行期间不可再申请存储空间,也不能“移动”。
- 动态分配: 装入作业时分配其所需的基本存储空间,运行期间可再申请存储空间,也可以“移动”。
2.2 内存保护
- 通过设置界限寄存器实现,主要任务是保证各道程序之间互不干扰,各自在系统为其分配的内存空间运行,禁止用户程序访问操作系统的程序和数据。
- 为了确保每道程序都只在自己的内存区中运行,必须设置内存保护机制。设置两个界限寄存器,分别用于存放正在执行程序的上界和下界。越界检查都由硬件实现。对发生越界后的处理,还须与软件配合来完成。
- 下界寄存器: 存放程序装入内存后的开始地址(首址);
- 上界寄存器: 存放程序装入内存后的末地址;
- 判别式:
下界寄存器 ≤ 物理地址 < 上界寄存器
2.3 地址映射
- 程序中的地址称为“逻辑地址”或“相对地址”,这些程序的地址都是从“0”开始的,程序中的其它地址都是相对于起始地址计算的;
- 内存中单元的地址称为“物理地址“或“绝对地址”,由内存中的一系列单元所限定的地址范围;
- 多道程序下,进程装入内存后要由逻辑地址到内存物理地址进行变换,该功能应在硬件的支持下完成。
2.4 内存扩充
借助于虚拟存储技术,从逻辑上去扩充内存容量,借助于虚拟存储技术。改善了系统的性能,基本上不增加硬件投资。
- 请求调入: 部分装入,即运行期间由操作系统在需要时装入所需部分。
- 置换: 内存空间不够时,可调出部分不活跃程序或数据到外存,将需要调入的部分放入内存。
三. 设备管理功能
设备管理用于管理计算机系统中所有的外围设备, 而设备管理的主要任务是,完成用户进程提出的I/O请求;为用户进程分配其所需的I/O设备;提高CPU和I/O设备的利用率;提高I/O速度;方便用户使用I/O设备。为实现上述任务,设备管理应具有 缓冲管理 、 设备分配 和 设备处理 ,以及 虚拟设备 等功能。
3.1 缓冲管理
匹配CPU和外设的速度,提高两者的利用率。最常见的缓冲区机制有单缓冲机制、能实现双向同时传送数据的双缓冲机制,循环缓冲以及能供多个设备同时使用的公用缓冲池机制。
3.2 设备分配
根据用户请求,分配I/O设备及相应的控制器和通道。
3.3 设备处理
通过设备驱动程序完成,实现CPU和设备控制器之间的通信。
3.4 设备独立性和虚拟设备
- 设备独立性: 应用程序独立于物理设备,使得用户编制的程序与实际使用的物理设备无关。
- 虚拟设备功能: 每次仅允许一个进程使用的物理设备,变为能“同时”供多个进程共享的设备。(即多个对应的逻辑设备)
四. 文件管理功能
文件管理的主要任务:对用户文件和系统文件进行管理,以方便用户使用并保证文件安全。
4.1 文件存储空间的管理
- 解决如何存放信息,以提高空间利用率和读写性能;
- 存储空间的使用情况,空间分配与回收;
4.2 目录管理
- 解决信息检索问题,对众多目录项加以有效组织。
- 目录项包括文件名、文件属性、文件在磁盘上的物理位置等。
4.3 文件的读/写管理和保护
- 文件的读/写管理:
- 该功能是根据用户的请求,从外存中读取数据;或将数据写入外存。
- 文件保护:
- 防止未经核准的用户存取文件;
- 防止冒名顶替存取文件;
- 防止以不正确的方式使用文件。
五. 用户接口
目标: 提供一个友好的用户访问操作系统的接口。
5.1 命令接口
- 联机用户接口: 这是为联机用户提供的,它由一组键盘操作命令及命令解释程序所组成。当用户在终端或控制台上每键入一条命令后,系统便立即转入命令解释程序,对该命令加以解释并执行该命令。
- 脱机用户接口: 该接口是为批处理作业的用户提供的,故也称为批处理用户接口。批处理作业的用户不能直接与自己的作业交互作用,只能委托系统代替用户对作业进行控制和干预。
5.2 程序接口
该接口是为用户程序在执行中访问系统资源而设置的,是用户程序取得操作系统服务的惟一途径。它是由一组系统调用组成,每一个系统调用都是一个能完成特定功能的子程序,每当应用程序要求OS提供某种服务(功能)时,便调用具有相应功能的系统调用。
5.3 图形接口
图形用户接口采用了图形化的操作界面, 用非常容易识别的各种图标(icon)来将系统的各项功能、各种应用程序和文件,直观、逼真地表示出来。用户可用鼠标或通过菜单和对话框,来完成对应用程序和文件的操作。
有兴趣的朋友还可以看一下下面的两篇,顺着看下去就好了: