总结操作系统功能

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/PBY123789/article/details/80042870

操作系统的功能主要体现在以下5个方面。
1)处理器管理
处理器(CPU)管理主要完成处理器的分配、调度和释放等功能。由于处理器是计算机硬件中最宝贵的资源,因此,必须使处理器尽可能地忙起来,减少其等待时间,从而提高它的利用率。在单用户单任务的环境下,处理器仅为一个用户的任务服务,虽然其管理工作简单,但是它的使用效率却很低。为了尽量提高处理器的利用率,操作系统采用了多道程序技术。在多道程序环境下,为了保证这些程序能并发执行,采用合理、有效的处理器管理策略是十分必要的。
为了便于处理器的分配、调度和管理,更好地描述多道程序的并发执行,操作系统引入了进程(Process)和线程(Thread)的概念。进程是对程序并发执行的动态描述,是系统内资源分配的基本单位,在多进程操作系统中,进程也是处理器调度的基本单位。而线程是进程内部的一个控制流,是对进程的有效细化。引入线程的目的是为了减少操作系统对进程调度的开销,进一步提高系统的并发程度,使并发执行的代价降为最低。在多线程系统中,线程是处理器调度的基本单位。实际上,在多进程多线程系统中,对处理器的管理和调度最终归结为对进程和线程的管理和调度,它主要包括:
① 进程和线程控制。完成进程或线程的创建、撤销、挂起和改变执行优先级等功能。
 进程和线程的同步。协调并发进程或线程之间的执行顺序,方便进行资源共享。
③ 进程间通信。进程之间相互传输数据,以协调进程间的协作。
 进程的死锁。包括对死锁的预防、避免、检测和解除等功能。
 处理器调度。包括作业调度、中级调度、进程或线程调度。通过作业和进程的执行切换,来充分利用处理器资源和提高系统性能。
2)内存管理
内存储器简称内存(主存)。内存管理的主要任务是对内存资源的分配和回收,实现地址转换,实现内存的逻辑扩充以及提供内存共享和保护机制等功能。内存管理的目标是提高内存的利用率,方便用户使用内存,为用户提供透明服务。众所周知,计算机运行程序的前提是先将程序装入内存,但受成本等方面条件的制约,内存的容量是有限的。在多道程序系统中,用户使用内存时需考虑其他程序的影响。每个用户程序如何申请内存,如何装入内存中的指定区域,如何保护好自己的程序不受干扰或影响等问题,这都是用户程序设计人员无法事先知道的事情。因此,操作系统中的内存管理模块就是用于解决这些问题的。内存管理的具体功能如下。
① 内存的分配与回收。为需要运行的程序分配必要的内存资源,当程序运行结束后再回收其分配的内存资源,这需要在操作系统中设置相应的数据结构,用于登记当前内存的使用情况。
② 地址转换。由于内存和外存编址的不同,当程序从外存装入内存时,需将程序中的逻辑地址(相对地址)转换为内存中的物理地址(绝对地址)。这一过程可通过地址重定位完成。根据重定位时机的不同,可以分为静态重定位和动态重定位。静态重定位是在程序装入内存时进行;而动态重定位是在程序运行时进行,动态重定位通常需要硬件的支持。


 内存的共享和保护。内存管理要实现用户程序对内存资源的共享,即当多个程序包含同一个公用代码段时,这个公用代码段在内存中只保留一个副本。内存的共享提高了内存资源的利用率。内存的保护指的是要保证不同用户的程序之间互不干扰、相互保密,尤其是不允许访问操作系统的程序和数据,保证用户和系统程序在内存中的信息不被破坏。
 内存的逻辑扩充。内存容量的有限性直接制约了进程的并发执行效率,而且也限制了在内存中能运行的应用程序的规模。为了解决内存的“瓶颈”问题,必须实现内存的扩充。内存扩充可采用物理扩充和逻辑扩充两种方式。由于受客观因素的影响,无限制地进行物理扩充是不现实的,也是不经济的。借助于软件技术,可以对内存进行逻辑扩充。操作系统主要采用覆盖、交换和虚拟存储等软件技术来实现对内存的逻辑扩充,使进程的内存空间扩大,从而提高内存利用率。
3)设备管理
设备管理的主要任务是对各种外围设备进行管理,响应用户进程提出的I/O请求,为用户进程分配I/O设备,控制CPU与外设间的数据交换等。设备管理的目标:一是方便用户使用设备,二是提高CPU与I/O设备的利用率。设备管理的具体功能如下。
① 完成设备的分配与回收。根据用户的I/O请求分配相应的设备,并在使用完后回收该设备,尤其要解决在多用户间共享I/O设备资源等问题。
② 实现设备独立性。设备独立性是指提供统一的I/O设备接口,使应用程序独立于物理设备,提高可适应性。
 控制设备操作。利用设备驱动程序和控制程序完成对设备的操作。
 实现虚拟设备。虚拟设备(Virtual Device)是为实现独享设备的共享而提出的。当多个进程要共享某个独享设备时,可通过虚拟技术(如SPOOLing技术)将其转换为几个逻辑设备,分别为多个进程服务。对于每个进程来说,就如同独占该物理设备一样。
 实现缓冲区管理。为了解决CPU和I/O设备之间的速度不匹配问题,必须使用缓冲区。可通过单缓冲区、双缓冲区、多缓冲区和缓冲池技术来实现,这样可提高CPU和I/O设备的利用率。
4)文件管理
文件管理又称为外存管理。外存是存放系统中的信息资源的场所,信息资源主要包括各类程序和数据等软件资源,它们主要以文件的形式存放。文件管理的主要任务是对各种文件(包括用户文件和系统文件)进行有效管理,实现对文件的按名存取;解决文件在外存上的存储、共享、保密和保护问题,采用合理的分配策略来提高外存资源的利用率。文件管理的具体功能如下。
① 实现文件的按名存取。通过文件名找到该文件的具体存储区域并进行访问。
 文件存储空间管理。解决如何分配和回收文件空间,以提高外存空间利用率和对文件的读/写性能。
 文件和目录管理。解决文件的分类与检索问题,采用合适的目录结构将提高文件的访问效率。提供对文件和目录操作的手段,如文件的读、写、复制、删除等。可通过系统调用方式和命令方式来实现。
④ 文件的存取控制。解决文件的安全和保护问题,文件信息的安全在多用户系统中显得尤为重要。
5)用户接口
为了方便用户使用计算机,操作系统提供了用户接口。用户接口的功能是提供一个友好的用户使用计算机的途径。操作系统的用户接口有以下两种:
① 命令接口。命令接口是向一般操作级用户提供的,它由字符方式下的键盘命令和图形方式下的鼠标命令组成。
② 程序接口。程序接口是向编程人员提供的,又称为应用程序编程接口(API),它由一系列的系统调用组成。库函数是系统调用的高级形式,通过程序接口,编程人员可以在程序中调用操作系统的内核代码,完成一些与硬件相关的复杂功能。

猜你喜欢

转载自blog.csdn.net/PBY123789/article/details/80042870