概述
引入OS的主要目的是,为多道程序的运行提供良好的运行环境,以保证多道程序能有条不紊地,高效地运行,并能最大程度地提高系统中各个资源的利用率,方便用户的使用。
处理机管理功能
处理机管理的主要功能有:创建和撤销进程,对进程的运行进行协调,实现进程之间的信息交换,以及按照一定算法把处理机分配给进程。
- 进程控制 为作业创建进程,撤销(终止)已结束的进程,以及控制进程在运行过程中的状态转换。
- 进程同步 进程同步进制主要任务时为多个进程(含线程)的运行进行协调。常见的协调方式有:进程互斥方式(最简单的用于实现进程互斥的机制是为每个临界资源配置一把锁,当锁打开时,进程可以对临界资源进行访问。当锁关上是,禁止进程访问),进程同步方式(信号量机制)。
- 进程通信 实现相互合作进程之间的信息交换。当相互合作的进程处于同一计算机系统时,通常在它们之间采用直接通信方式,即由源进程利用发送命令直接将消息挂到目标进程的消息队列上,以后由目标进程利用接受命令从消息队列中取出消息。
- 调度 在传统的OS中,调度包括作业调度和进程调度台两步。
(1)作业调度:基本任务是从后备队列中按照一定算法选择出若干个作业,为它们分配运行所需要的资源,将这些作业 调入内存后,分别为它们创建进程,使它们都成为可能获得处理机的就绪进程,并将它们插入就绪队列中。
(2)进程调度: 是从进程的就绪队列中按照一定的算法选出一个进程,将处理机分配给它,并为它设置运行现场,使其 投入运行。
存储器管理功能
存储器管理的主要任务,是为多道程序的运行提供良好的环境,提高存储器的利用率,方便用户的使用,,并才能够逻辑上扩充内存。
- 内存分配 主要任务:为每道程序分配内存空间;提高存储器的利用率,尽量减少不可用的内存空间;允许正在允许的程序申请附加的内存空间,以适用程序和数据动态增长的需要。
OS实现内存分配时:
(1)静态分配方式:每个作业的内存空间是在作业装入时确定的,在作业装入后的整个运行期间不允许该作业再申请新的 内存空间,也不允许作业在内存中“移动”。
(2)动态分配方式:每个作业所要求的基本内存空间是在作业装入时确定的,但允许作业在运行过程中继续申请附加的内 存空间,以适应程序和数据的动态增长,也允许作业在内存中“移动”。
2.内存保护 主要内容是:确保每道用户程序仅在自己的内存空间内运行,彼此互不干扰;绝不允许用户程序访问操作系统的 程序和数据,也不允许用户程序转移到其它用户程序中执行。
简单的内存保护机制是设置两个内存寄存器,分别用于存放正在执行程序的上界和下界。在程序运行时,系统须对每条指 令所要访问的地址进行检查,如果发生越界,便发出越界中断请求,以停止该程序的执行。
3.地址映射 能够将地址空间中的逻辑地址转换为内存空间中与之对应的物理地址。该功能要在硬件的支持下完成。
4.内存扩充 借助于虚拟存储技术,从逻辑上扩充内存容量。设置内存扩充机制(包含少量的硬件),用于实现请求调入功能和置换功能。
设备管理功能
主要任务:完成用户进程提出的I/O请求,为用户进程分配所需的I/O设备,并完成指定的I/O操作;提高CPU和I/O设备的利用率,提高I/O速度,方便用户使用I/O设备。
- 缓存管理 在I/O设备和CPU之间引入缓冲,则可以有效缓存CPU和I/O设备速度不匹配的矛盾,提高CPU的利用率,进而提高系统吞吐量。设置了缓存区,常见的缓冲区机制有:单缓冲机制,能实现双向同时传送数据的双缓冲机制,能供多个设备同时使用的共用缓冲池机制。
- 设备分配 根据用户进车的I/O请求,系统现有资源情况以及某种设备分配策略,为之分配所需的设备。
- 设备处理 用于实现CPU和设备控制器之间的通信,即由CPU向设备控制器发出I/O请求,要求它完成指定的I/O操作。反之,由CPU接受由控制器发过来的中断请求,并给与迅速的响应和相应的处理。
文件管理功能
主要任务是对用户文件和系统文件进行管理以方便用户使用,并保证文件的安全性
- 文件存储空间的管理 文件系统对诸多文件及文件的内存空间实施统一的管理,主要内容是:为每个文件分配必要的内存空间,提高外存的利用率,进而提高文件系统的存,取速度。
- 目录管理 主要内容是为每个文件建立一个目录项,目录项包括文件名,文件属性,文件在磁盘的物理位置等,并对众多的目录项加以有效的组织,以实现方便的按名存取。还能实现文件共享和快速的目录查询手段。
- 文件的读/写管理和保护
操作系统与用户之间的接口
接口分为两类:
- 用户接口 为了方便用户直接或间接控制自己的作业,该操作系统向用户提供了命令接口。该接口可以进一步分为联机用户接口(由一组键盘操作命令及命令解释程序组成),脱机用户接口(为批处理作业的用户提供的)和图形用户接口三种。
- 程序接口 为用户程序在执行中访问系统资源而设置的,是用户程序取得操作系统服务的唯一途径。它是由一组系统调用组成的,每一个系统调用都是一个能完成特定功能的子程序。每当应用程序要求OS提供某种服务时,便调用具有相应功能的系统调用。
最后
以上就是等待山水为你收集整理的操作系统的主要功能的全部内容,希望文章能够帮你解决操作系统的主要功能所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复