*** 作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入设备与输出设备、 *** 作网络与管理文件系统等基本事务。 *** 作系统也提供一个让用户与系统交互的 *** 作界面。
*** 作系统主要包括的功能有:
1、进程管理,其工作主要是进程调度,在单用户单任务的情况下,处理器仅为一个用户的一个任务所独占,进程管理的工作十分简单。但在多道程序或多用户的情况下,组织多个作业或任务时,就要解决处理器的调度、分配和回收等问题 。
2、存储管理分为几种功能:存储分配、存储共享、存储保护 、存储扩张。
3、设备管理分有以下功能:设备分配、设备传输控制、设备独立性。
4、文件管理:文件存储空间的管理、目录管理 、文件 *** 作管理、文件保护。
5、作业管理是负责处理用户提交的任何要求。
扩展资料:
从使用者角度来说, *** 作系统可以对计算机系统的各项资源板块开展调度工作,其中包括软硬件设备、数据信息等,运用计算机 *** 作系统可以减少人工资源分配的工作强度,使用者对于计算的 *** 作干预程度减少,计算机的智能化工作效率就可以得到很大的提升。
在资源管理方面,如果由多个用户共同来管理一个计算机系统,那么可能就会有冲突矛盾存在于两个使用者的信息共享当中。
为了更加合理的分配计算机的各个资源板块,协调计算机系统的各个组成部分,就需要充分发挥计算机 *** 作系统的职能,对各个资源板块的使用效率和使用程度进行一个最优的调整,使得各个用户的需求都能够得到满足。
*** 作系统是管理计算机硬件资源,控制其他程序运行并为用户提供交互 *** 作界面的系统软件的集合。 *** 作系统是计算机系统的关键组成部分,负责管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、 *** 作网络与管理文件系统等基本任务。 *** 作系统的种类很多,各种设备安装的 *** 作系统可从简单到复杂,可从手机的嵌入式 *** 作系统到超级计算机的大型 *** 作系统。目前流行的现代 *** 作系统主要有Android、BSD、iOS、Linux、Mac OS X、Windows、Windows Phone和z/OS等,除了Windows和z/OS等少数 *** 作系统,大部分 *** 作系统都为类Unix *** 作系统。*** 作系统的主要功能是资源管理,程序控制和人机交互等。计算机系统的资源可分为设备资源和信息资源两大类。设备资源指的是组成计算机的硬件设备,如中央处理器,主存储器,磁盘存储器,打印机,磁带存储器,显示器,键盘输入设备和鼠标等。信息资源指的是存放于计算机内的各种数据,如文件,程序库,知识库,系统软件和应用软件等。
*** 作系统位于底层硬件与用户之间,是两者沟通的桥梁。用户可以通过 *** 作系统的用户界面,输入命令。 *** 作系统则对命令进行解释,驱动硬件设备,实现用户要求。以现代观点而言,一个标准个人电脑的OS应该提供以下的功能:
进程管理(Processing management)
内存管理(Memory management)
文件系统(File system)
网络通讯(Networking)
安全机制(Security)
用户界面(User interface)
驱动程序(Device drivers)
资源管理
系统的设备资源和信息资源都是 *** 作系统根据用户需求按一定的策略来进行分配和调度的。 *** 作系统的存储管理就负责把内存单元分配给需要内存的程序以便让它执行,在程序执行结束后将它占用的内存单元收回以便再使用。对于提供虚拟存储的计算机系统, *** 作系统还要与硬件配合做好页面调度工作,根据执行程序的要求分配页面,在执行中将页面调入和调出内存以及回收页面等。
处理器管理或称处理器调度,是 *** 作系统资源管理功能的另一个重要内容。在一个允许多道程序同时执行的系统里, *** 作系统会根据一定的策略将处理器交替地分配给系统内等待运行的程序。一道等待运行的程序只有在获得了处理器后才能运行。一道程序在运行中若遇到某个事件,例如启动外部设备而暂时不能继续运行下去,或一个外部事件的发生等等, *** 作系统就要来处理相应的事件,然后将处理器重新分配。
*** 作系统的设备管理功能主要是分配和回收外部设备以及控制外部设备按用户程序的要求进行 *** 作等。对于非存储型外部设备,如打印机、显示器等,它们可以直接作为一个设备分配给一个用户程序,在使用完毕后回收以便给另一个需求的用户使用。对于存储型的外部设备,如磁盘、磁带等,则是提供存储空间给用户,用来存放文件和数据。存储性外部设备的管理与信息管理是密切结合的。
信息管理是 *** 作系统的一个重要的功能,主要是向用户提供一个文件系统。一般说,一个文件系统向用户提供创建文件,撤销文件,读写文件,打开和关闭文件等功能。有了文件系统后,用户可按文件名存取数据而无需知道这些数据存放在哪里。这种做法不仅便于用户使用而且还有利于用户共享公共数据。此外,由于文件建立时允许创建者规定使用权限,这就可以保证数据的安全性。
程序控制
一个用户程序的执行自始至终是在 *** 作系统控制下进行的。一个用户将他要解决的问题用某一种程序设计语言编写了一个程序后就将该程序连同对它执行的要求输入到计算机内, *** 作系统就根据要求控制这个用户程序的执行直到结束。 *** 作系统控制用户的执行主要有以下一些内容:调入相应的编译程序,将用某种程序设计语言编写的源程序编译成计算机可执行的目标程序,分配内存储等资源将程序调入内存并启动,按用户指定的要求处理执行中出现的各种事件以及与 *** 作员联系请示有关意外事件的处理等。
人机交互
*** 作系统的人机交互功能是决定计算机系统“友善性”的一个重要因素。人机交互功能主要靠可输入输出的外部设备和相应的软件来完成。可供人机交互使用的设备主要有键盘显示、鼠标、各种模式识别设备等。与这些设备相应的软件就是 *** 作系统提供人机交互功能的部分。人机交互部分的主要作用是控制有关设备的运行和理解并执行通过人机交互设备传来的有关的各种命令和要求。
进程管理
不管是常驻程序或者应用程序,他们都以进程为标准执行单位。当年运用冯纽曼架构建造电脑时,每个中央处理器最多只能同时执行一个进程。早期的OS(例如DOS)也不允许任何程序打破这个限制,且DOS同时只有执行一个进程(虽然DOS自己宣称他们拥有终止并等待驻留(TSR)能力,可以部分且艰难地解决这问题)。现代的 *** 作系统,即使只拥有一个CPU,也可以利用多进程(multitask)功能同时执行复数进程。进程管理指的是 *** 作系统调整复数进程的功能。
由于大部分的电脑只包含一颗中央处理器,在单内核(Core)的情况下多进程只是简单迅速地切换各进程,让每个进程都能够执行,在多内核或多处理器的情况下,所有进程通过许多协同技术在各处理器或内核上转换。越多进程同时执行,每个进程能分配到的时间比率就越小。很多OS在遇到此问题时会出现诸如音效断续或鼠标跳格的情况(称做崩溃(Thrashing),一种OS只能不停执行自己的管理程序并耗尽系统资源的状态,其他使用者或硬件的程序皆无法执行)。进程管理通常实现了分时的概念,大部分的OS可以利用指定不同的特权等级(priority),为每个进程改变所占的分时比例。特权越高的进程,执行优先级越高,单位时间内占的比例也越高。交互式OS也提供某种程度的回馈机制,让直接与使用者交互的进程拥有较高的特权值。
内存管理
根据帕金森定律:“你给程序再多内存,程序也会想尽办法耗光”,因此程序员通常希望系统给他无限量且无限快的存储器。大部分的现代计算机存储器架构都是层次结构式的,最快且数量最少的暂存器为首,然后是高速缓存、存储器以及最慢的磁盘存储设备。而 *** 作系统的存储器管理提供查找可用的记忆空间、配置与释放记忆空间以及交换存储器和低速存储设备的内含物……等功能。此类又被称做虚拟内存管理的功能大幅增加每个进程可获得的记忆空间(通常是4GB,既使实际上RAM的数量远少于这数目)。然而这也带来了微幅降低运行效率的缺点,严重时甚至也会导致进程崩溃。
存储器管理的另一个重点活动就是借由CPU的帮助来管理虚拟位置。如果同时有许多进程存储于记忆设备上, *** 作系统必须防止它们互相干扰对方的存储器内容(除非通过某些协定在可控制的范围下 *** 作,并限制可访问的存储器范围)。分区存储器空间可以达成目标。每个进程只会看到整个存储器空间(从0到存储器空间的最大上限)被配置给它自己(当然,有些位置被 *** 作系统保留而禁止访问)。CPU事先存了几个表以比对虚拟位置与实际存储器位置,这种方法称为标签页(paging)配置。
借由对每个进程产生分开独立的位置空间, *** 作系统也可以轻易地一次释放某进程所占据的所有存储器。如果这个进程不释放存储器, *** 作系统可以退出进程并将存储器自动释放。
虚拟内存
虚拟内存是计算机系统内存管理的一种技术。它使得应用程序认为它拥有连续的可用的内存(一个连续完整的地址空间),而实际上,它通常是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。
在早期的单用户单任务 *** 作系统(如DOS)中,每台计算机只有一个用户,每次运行一个程序,且次序不是很大,单个程序完全可以存放在实际内存中。这时虚拟内存并没有太大的用处。但随着程序占用存储器容量的增长和多用户多任务 *** 作系统的出现,在程序设计时,在程序所需要的存储量与计算机系统实际配备的主存储器的容量之间往往存在着矛盾。例如,在某些低档的计算机中,物理内存的容量较小,而某些程序却需要很大的内存才能运行;而在多用户多任务系统中,多个用户或多个任务更新全部主存,要求同时执行独断程序。这些同时运行的程序到底占用实际内存中的哪一部分,在编写程序时是无法确定的,必须等到程序运行时才动态分配。[4]
为此,希望在编写程序时独立编址,既不考虑程序是否能在物理存储中存放得下,也不考虑程序应该存放在什么物理位置。而在程序运行时,则分配给每个程序一定的运行空间,由地址转换部件将编程时的地址转换成实际内存的物理地址。如果分配的内存不够,则只调入当前正在运行的或将要运行的程序块(或数据块),其余部分暂时驻留在辅存中。
管理计算机硬件与软件资源的计算机程序*** 作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入设备与输出设备、 *** 作网络与管理文件系统等基本事务。 *** 作系统也提供一个让用户与系统交互的 *** 作界面。
*** 作系统是管理计算机硬件资源,控制其他程序运行并为用户提供交互 *** 作界面的系统软件的集合。 *** 作系统是计算机系统的关键组成部分,负责管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、 *** 作网络与管理文件系统等基本任务。
*** 作系统的种类很多,各种设备安装的 *** 作系统可从简单到复杂,可从手机的嵌入式 *** 作系统到超级计算机的大型 *** 作系统。目前流行的现代 *** 作系统主要有Android、BSD、iOS、Linux、MacOSX、Windows、WindowsPhone和z/OS等,除了Windows和z/OS等少数 *** 作系统,大部分 *** 作系统都为类Unix *** 作系统。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)