`
jiangduxi
  • 浏览: 456636 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

操作系统的主要功能

阅读更多
处理机管理功能
进程控制
   在传统的多道程序环境下,要使作业运行,必须先为它创建一个或几个进程,并为之分配必要的资源。当进程运行结束时,立即撤消该进程,以便能及时回收该进程所占用的各类资源。进程控制的主要功能是为作业创建进程、撤消已结束的进程,以及控制进程在运行过程中的状态转换。 在现代OS中,进程控制还应具有为一个进程创建若干个线程的功能和撤消(终止)已完成任务的线程的功能。
进程同步
   为使多个进程能有条不紊地运行,系统中必须设置进程同步机制。进程同步的主要任务是为多个进程(含线程)的运行进行协调。
有两种协调方式:
引用

1. 进程互斥方式, 这是指诸进程(线程)在对临界资源进行访问时, 应采用互斥方式;
2. 进程同步方式,指在相互合作去完成共同任务的诸进程(线程)间,由同步机构对它们的执行次序加以协调。

   为了实现进程同步,系统中必须设置进程同步机制。最简单的用于实现进程互斥的机制,是为每一个临界资源配置一把锁W,当锁打开时,进程(线程)可以对该临界资源进行访问;而当锁关上时,则禁止进程(线程)访问该临界资源。

进程通信
    在多道程序环境下,为了加速应用程序的运行,应在系统中建立多个进程,并且再为一个进程建立若干个线程,由这些进程(线程)相互合作去完成一个共同的任务。而在这些进程(线程)之间,又往往需要交换信息。例如,有三个相互合作的进程, 它们是输入进程、计算进程和打印进程。输入进程负责将所输入的数据传送给计算进程;计算进程利用输入数据进行计算, 并把计算结果传送给打印进程;最后,由打印进程把计算结果打印出来。进程通信的任务就是用来实现在相互合作的进程之间的信息交换。
   当相互合作的进程(线程)处于同一计算机系统时,通常在它们之前是采用直接通信方式,即由源进程利用发送命令直接将消息(message)挂到目标进程的消息队列上,以后由目标进程利用接收命令从其消息队列中取出消息。

调度
   在后备队列上等待的每个作业,通常都要经过调度才能执行。在传统的操作系统中,包括作业调度和进程调度两步。作业调度的基本任务,是从后备队列中按照一定的算法,选择出若干个作业,为它们分配其必需的资源(首先是分配内存)。 在将它们调入内存后,便分别为它们建立进程,使它们都成为可能获得处理机的就绪进程,并按照一定的算法将它们插入就绪队列。而进程调度的任务,则是从进程的就绪队列中选出一新进程,把处理机分配给它,并为它设置运行现场, 使进程投入执行。值得提出的是,在多线程OS中,通常是把线程作为独立运行和分配处理机的基本单位,为此,须把就绪线程排成一个队列,每次调度时,是从就绪线程队列中选出一个线程,把处理机分配给它。

存储管理器功能
内存分配
  OS在实现内存分配时,可采取静态和动态两种方式。在静态分配方式中,每个作业的内存空间是在作业装入时确定的;在作业装入后的整个运行期间, 不允许该作业再申请新的内存空间,也不允许作业在内存中“移动”; 在动态分配方式中,每个作业所要求的基本内存空间, 也是在装入时确定的,但允许作业在运行过程中,继续申请新的附加内存空间,以适应程序和数据的动态增涨,也允许作业在内存中“移动”。
  为了实现内存分配,在内存分配的机制中应具有这样的结构和功能:
引用

   1. 内存分配数据结构, 该结构用于记录内存空间的使用情况, 作为内存分配的依据;
   2. 内存分配功能,系统按照一定的内存分配算法, 为用户程序分配内存空间;
   3. 内存回收功能,系统对于用户不再需要的内存,通过用户的释放请求,去完成系统的回收功能。

内存保护
    内存保护的主要任务是确保每道用户程序都只在自己的内存空间内运行,彼此互不干扰。
     为了确保每道程序都只在自己的内存区中运行,必须设置内存保护机制。一种比较简单的内存保护机制,是设置两个界限寄存器,分别用于存放正在执行程序的上界和下界。系统须对每条指令所要访问的地址进行检查,如果发生越界,便发出越界中断请求,以停止该程序的执行。如果这种检查完全用软件实现,则每执行一条指令,便须增加若干条指令去进行越界检查,这将显著降低程序的运行速度。因此,越界检查都由硬件实现。当然, 对发生越界后的处理, 还须与软件配合来完成。

地址映射
   一个应用程序(源程序)经编译后,通常会形成若干个目标程序;这些目标程序再经过链接便形成了可装入程序。这些程序的地址都是从“0”开始的,程序中的其它地址都是相对于起始地址计算的; 由这些地址所形成的地址范围称为“地址空间”, 其中的地址称为“逻辑地址”或“相对地址”。此外,由内存中的一系列单元所限定的地址范围称为“内存空间”, 其中的地址称为“物理地址”。
   在多道程序环境下,每道程序不可能都从“0”地址开始装入(内存), 这就致使地址空间内的逻辑地址和内存空间中的物理地址不相一致。使程序能正确运行,存储器管理必须提供地址映射功能,以将地址空间中的逻辑地址转换为内存空间中与之对应的物理地址。该功能应在硬件的支持下完成。
内存扩充
   存储器管理中的内存扩充任务,并非是去扩大物理内存的容量,而是借助于虚拟存储技术,从逻辑上去扩充内存容量,使用户所感觉到的内存容量比实际内存容量大得多; 或者是让更多的用户程序能并发运行。这样,既满足了用户的需要,改善了系统的性能,又基本上不增加硬件投资。 为了能在逻辑上扩充内存,系统必须具有内存扩充机制, 用于实现下述各功能:
引用

   (1) 请求调入功能。
   (2) 置换功能。


设备管理器功能

  设备管理用于管理计算机系统中所有的外围设备, 而设备管理的主要任务是,完成用户进程提出的I/O请求; 为用户进程分配其所需的I/O设备;提高CPU和I/O设备的利用率;提高I/O速度;方便用户使用I/O设备。为实现上述任务,设备管理应具有缓冲管理、设备分配和设备处理,以及虚拟设备等功能。

缓冲管理
  CPU运行的高速性和I/O低速性间的矛盾自计算机诞生时起便已存在。 而随着CPU速度迅速、大幅度的提高,使得此矛盾更为突出,严重降低了CPU的利用率。如果在I/O设备和CPU之间引入缓冲,则可有效地缓和CPU和I/O设备速度不匹配的矛盾,提高CPU的利用率,进而提高系统吞吐量。 因此,在现代计算机系统中, 都毫无例外地在内存中设置了缓冲区,而且还可通过增加缓冲区容量的方法,来改善系统的性能。
    最常见的缓冲区机制有单缓冲机制、能实现双向同时传送数据的双缓冲机制,以及能供多个设备同时使用的公用缓冲池机制

设备分配
  设备分配的基本任务,是根据用户进程的I/O请求、系统的现有资源情况以及按照某种设备分配策略,为之分配其所需的设备。如果在I/O设备和CPU之间,还存在着设备控制器和I/O通道时,还须为分配出去的设备分配相应的控制器和通道。
   为了实现设备分配,系统中应设置设备控制表、控制器控制表等数据结构,用于记录设备及控制器的标识符和状态。据这些表格可以了解指定设备当前是否可用,是否忙碌,以供进行设备分配时参考。在进行设备分配时,应针对不同的设备类型而采用不同的设备分配方式。对于独占设备(临界资源)的分配,还应考虑到该设备被分配出去后,系统是否安全。 设备使用完后,还应立即由系统回收。

设备处理
  设备处理程序又称为设备驱动程序。其基本任务是用于实现CPU和设备控制器之间的通信,即由CPU向设备控制器发出I/O命令,要求它完成指定的I/O操作;反之由CPU接收从控制器发来的中断请求,并给予迅速的响应和相应的处理。
   处理过程是:设备处理程序首先检查I/O请求的合法性,了解设备状态是否是空闲的,了解有关的传递参数及设置设备的工作方式。然后,便向设备控制器发出I/O命令,启动I/O设备去完成指定的I/O操作。设备驱动程序还应能及时响应由控制器发来的中断请求,并根据该中断请求的类型,调用相应的中断处理程序进行处理。对于设置了通道的计算机系统, 设备处理程序还应能根据用户的I/O请求,自动地构成通道程序。

文件管理器功能
文件存储空间的管理
  由文件系统对诸多文件及文件的存储空间,实施统一的管理。其主要任务是为每个文件分配必要的外存空间,提高外存的利用率,并能有助于提高文件系统的运行速度。
   为此,系统应设置相应的数据结构,用于记录文件存储空间的使用情况,以供分配存储空间时参考;系统还应具有对存储空间进行分配和回收的功能。为了提高存储空间的利用率,对存储空间的分配,通常是采用离散分配方式,以减少外存零头,并以盘块为基本分配单位。盘块的大小通常为512 B~8 KB

目录管理
  为了使用户能方便地在外存上找到自己所需的文件,通常由系统为每个文件建立一个目录项。 目录项包括文件名、文件属性、文件在磁盘上的物理位置等。由若干个目录项又可构成一个目录文件。目录管理的主要任务, 是为每个文件建立其目录项,并对众多的目录项加以有效的组织,以实现方便的按名存取。即用户只须提供文件名, 即可对该文件进行存取。其次,目录管理还应能实现文件共享,这样,只须在外存上保留一份该共享文件的副本。此外,还应能提供快速的目录查询手段,以提高对文件的检索速度。
文件的读/写管理和保护
  (1) 文件的读/写管理。该功能是根据用户的请求,从外存中读取数据;或将数据写入外存。在进行文件读(写)时,系统先根据用户给出的文件名,去检索文件目录,从中获得文件在外存中的位置。然后,利用文件读(写)指针,对文件进行读(写)。一旦读(写)完成,便修改读(写)指针,为下一次读(写)做好准备。由于读和写操作不会同时进行,故可合用一个读/写指针。
   (2) 文件保护。
引用

   防止未经核准的用户存取文件;
   防止冒名顶替存取文件;
   防止以不正确的方式使用文件。


用户接口
  命令接口
   (1)联机用户接口。这是为联机用户提供的,它由一组键盘操作命令及命令解释程序所组成。当用户在终端或控制台上每键入一条命令后,系统便立即转入命令解释程序,对该命令加以解释并执行该命令。在完成指定功能后,控制又返回到终端或控制台上,等待用户键入下一条命令。这样,用户可通过先后键入不同命令的方式,来实现对作业的控制,直至作业完成。
   (2) 脱机用户接口。该接口是为批处理作业的用户提供的,故也称为批处理用户接口。该接口由一组作业控制语言JCL组成。批处理作业的用户不能直接与自己的作业交互作用,只能委托系统代替用户对作业进行控制和干预。这里的作业控制语言JCL便是提供给批处理作业用户的、为实现所需功能而委托系统代为控制的一种语言。用户用JCL把需要对作业进行的控制和干预,事先写在作业说明书上,然后将作业连同作业说明书一起提供给系统。当系统调度到该作业运行时,又调用命令解释程序,对作业说明书上的命令,逐条地解释执行。如果作业在执行过程中出现异常现象,系统也将根据作业说明书上的指示进行干预。这样,作业一直在作业说明书的控制下运行,直至遇到作业结束语句时,系统才停止该作业的运行。
程序接口
   该接口是为用户程序在执行中访问系统资源而设置的,是用户程序取得操作系统服务的惟一途径。它是由一组系统调用组成,每一个系统调用都是一个能完成特定功能的子程序,每当应用程序要求OS提供某种服务(功能)时,便调用具有相应功能的系统调用。早期的系统调用都是用汇编语言提供的,只有在用汇编语言书写的程序中,才能直接使用系统调用;但在高级语言以及C语言中,往往提供了与各系统调用一一对应的库函数,这样,应用程序便可通过调用对应的库函数来使用系统调用。但在近几年所推出的操作系统中,如UNIX、OS/2版本中,其系统调用本身已经采用C语言编写,并以函数形式提供,故在用C语言编制的程序中, 可直接使用系统调用
图形接口
   用户虽然可以通过联机用户接口来取得OS的服务,但这时要求用户能熟记各种命令的名字和格式,并严格按照规定的格式输入命令,这既不方便又花时间,于是,图形用户接口便应运而生。图形用户接口采用了图形化的操作界面, 用非常容易识别的各种图标(icon)来将系统的各项功能、各种应用程序和文件,直观、逼真地表示出来。用户可用鼠标或通过菜单和对话框,来完成对应用程序和文件的操作。此时用户已完全不必像使用命令接口那样去记住命令名及格式,从而把用户从繁琐且单调的操作中解脱出来。

分享到:
评论

相关推荐

    mfc实现模拟操作系统(c++源码)(功能包括任务管理器、资源管理器)

    采用模拟的方法编写与操作系统内核相关的程序,设计、实现一种操作系统的某几个主要功能(作业系统、资源管理系统),巩固和加深对操作系统的主要功能、基本原理、主要算法和实施技术的理解,将操作系统理论与实际相...

    自考《操作系统概论》串讲笔记.docx

    网络操作系统的主要功能是实现各台计算机系统之间的通信以及网络中各种资源共享。分布式操作系统采用客户/服务器模式(C/S),其主要特点是统一性和透明性。嵌入式操作系统的主要特点是微型化和实时性。 五、处理器...

    操作系统概论02323 电子书

    从资源管理的角度分析,操作系统的功能主要包括: - **处理器管理**:负责处理器的分配和调度,特别是在多道程序或多用户环境下,根据一定的策略合理分配处理器资源,以实现高效的多任务处理。 - **存储管理**:...

    王道操作系统课件 2024

    1. **操作系统概念与功能** (1.1_1_操作系统的概念、功能.pdf) 操作系统是计算机系统的核心,负责管理和控制硬件资源,提供用户接口和服务。其基本功能包括处理器管理、内存管理、设备管理、文件管理和作业调度等。...

    计算机操作系统PPT

    根据功能和应用场景,操作系统主要分为分时、实时和批处理三种类型,各自有其特定的特点和适用范围。 分时系统允许多个用户同时交互地使用计算机,通过时间片轮转的方式分配CPU时间,提高计算机资源的利用率。实时...

    一个简单的文件系统(操作系统课程设计)

    一个简单的文件系统(操作系统课程设计)主要任务是对用户文件和系统文件进行管理,以方便用户使用,并保证文件的安全性。文件管理具有对文件存储空间的管理、目录管理、文件的读/写管理以及文件的共享与保护功能。...

    操作系统目录

    操作系统的主要功能包括进程管理、存储管理、文件管理、设备管理等。 操作系统的形成可以追溯到计算机系统的发展历史。早期的计算机系统是专门用来进行科学计算的,后来逐渐发展出了批处理操作系统、分时操作系统和...

    操作系统(第4版)第1章 操作系统引论

    操作系统的主要功能是提供一个更方便、更有效的环境,来执行用户的程序。下面将详细介绍操作系统的基本概念和功能。 一、操作系统的定义和功能 操作系统是计算机系统中的软件部分,它是用户和计算机硬件之间的中介...

    计算机操作系统课后答案.doc

    "计算机操作系统课后答案" 计算机操作系统是计算机科学中最重要的组成部分之一,它管理计算机硬件资源,提供了一个基础平台,供用户运行应用程序。在计算机操作系统中,有许多重要的概念和技术,本文将对计算机操作...

    操作系统概念 中文版

    ### 操作系统的主要功能 1. **进程管理**:控制程序的执行过程,创建、调度和终止进程。 2. **存储管理**:管理主存空间,确保程序能够正确地访问内存。 3. **文件管理**:提供对文件的组织、存储、检索和保护机制...

    单片机设计作品-多功能应用操作系统

    本设计是基于单片机STC15F2K60S2的一款功能类似手机操作系统的设计。硬件主要涉及了LCD12864显示模块、DS1302实时时钟模块、蜂鸣器、矩阵键盘、DS18B20温度传感器模块。主要集成的功能应用有电子琴、音乐播放器、...

    银河麒麟桌面操作系统V10用户手册.pdf

    文件管理的组成要素、主要功能以及常用操作也被详细阐述。 7. 软件的安装与卸载 用户手册会指导用户如何从软件源安装软件、手动安装及卸载程序,以及如何使用软件商店进行软件的注册和登录。 8. 系统默认软件介绍 ...

    自考操作系统02326笔记2017版教程 第一章

    考试重点: 1. 操作系统的基本概念和操作系统的地位 2. 操作系统的主要特征和基本功能 3. 操作系统的体系结构 4. 操作系统的发展和结构 5. 常用操作系统结构设计方法

    操作系统发展的现状 论文

    本文将详细介绍操作系统的发展现状,对操作系统的定义、发展目标、共同特征和主要功能进行了全面的阐述,并简单论述了操作系统未来的发展方向。 操作系统的发展历程可以追溯到1946年,第一台计算机ENIAC的诞生。从...

    操作系统精髓与设计原理课后答案(中文全)

    学习系统调用接口和其实现机制,有助于深入理解操作系统的功能。 9. **性能分析与优化**:通过性能监控工具,了解如何分析系统的瓶颈,以及如何通过调整参数或设计改进来提升系统性能。 通过解答《操作系统精髓与...

    QNX实时操作系统开发手册(中文)包含实例

    本手册主要介绍了QNX操作系统的基本概念、系统结构、进程间通信、文件操作命令、应用程序开发等方面的知识,旨在帮助开发人员快速熟悉QNX操作系统和编程技术。 QNX操作系统的开发环境包括开发工具、编译器、库函数...

    《操作系统原理与设计》全本

    1.7 操作系统的主要特性和需要解决的主要问题 23 1.7.1 操作系统的主要特性 23 1.7.2 操作系统需要解决的主要问题 24 CH2 操作系统的运行环境 26 2.1 中央处理器 26 2.1.1 单机系统和多机系统 26 2.1.2 寄存器 26 ...

    Java模拟操作系统(内存管理,进程管理,文件管理,进程通信)

    Java模拟操作系统是一个基于Java编程语言实现的微型操作系统模型,它主要涵盖了四个核心领域:内存管理、进程管理、文件管理和进程通信。这样的项目旨在帮助开发者理解操作系统的工作原理,并提供了一个实践平台来...

    计算机操作系统期末考试填空题

    * 操作系统的主要功能有:存储器管理、处理机管理、设备管理、文件管理和作业管理。 二、中断和异常 * 中断是指源自CPU以外事件的中断,通常与当前程序(进程)运行无关。 * 异常是指源自CPU内部事件的中断,通常...

Global site tag (gtag.js) - Google Analytics