1.文件系统的主要目的是什么

2.从零开始设计一个操作系统有多难?

3.电脑重装系统是什么意思

4.操作系统的功能是什么?

5.电脑系统是怎么做出来的?

电脑系统制作目的是_制作系统需要什么

安卓系统最初由安迪·鲁宾等人开发制作。最初开发这个系统的目的是创建一个数码相机的先进操作系统;但是后来发现市场需求不够大,加上智能手机市场快速成长,于是安卓被改造为一款面向智能手机的操作系统。

数码相机操作系统

最初开发这个系统的目的是创建一个数码相机的先进操作系统。

面向智能手机的操作系统

安卓被改造为一款面向智能手机的操作系统。

纽约市出生

鲁宾出生于纽约市。

佛罗里达州成长

鲁宾在年幼时搬到佛罗里达州迈亚密海滩住居,并且在迈亚密海滩高校毕业。

哈佛大学毕业

1960年,鲁宾在哈佛大学哈佛学院获得经济学学士学位,并入住文司洛普宿舍。

耶鲁法学院毕业

毕业后,他入读伦敦政治经济学院,1964年在耶鲁法学院获得法律学士学位。

文件系统的主要目的是什么

软件工程的目的是:在给定成本、进度的前提下,开发出具有适用性、有效性、可修改性、可靠性、可理解性、可维护性、可重用性、可移植性、可追踪性、可互操作性和满足用户需求的软件产品。追求这些目标有助于提高软件产品的质量和开发效率,减少维护的困难。

1、适用性:软件在不同的系统约束条件下,使用户需求得到满足的难易程度。

2、有效性:软件系统能最有效的利用计算机的时间和空间资源。各种软件无不把系统的时/空开销作为衡量软件质量的一项重要技术指标。很多场合,在追求时间有效性和空间有效性时会发生矛盾,这时不得不牺牲时间有效性换取空间有效性或牺牲空间有效性换取时间有效性。时/空折衷是经常采用的技巧。

3、可修改性:允许对系统进行修改而不增加原系统的复杂性。它支持软件的调试和维护,是一个难以达到的目标。

4、可靠性:能防止因概念、设计和结构等方面的不完善造成的软件系统失效,具有挽回因操作不当造成软件系统失效的能力。

5、可理解性:系统具有清晰的结构,能直接反映问题的需求。可理解性有助于控制系统软件复杂性,并支持软件的维护、移植或重用。

6、可维护性:软件交付使用后,能够对它进行修改,以改正潜伏的错误,改进性能和其它属性,使软件产品适应环境的变化等。软件维护费用在软件开发费用中占有很大的比重。可维护性是软件工程中一项十分重要的目标。

7、可重用性:把概念或功能相对独立的一个或一组相关模块定义为一个软部件。可组装在系统的任何位置,降低工作量。

8、可移植性:软件从一个计算机系统或环境搬到另一个计算机系统或环境的难易程度。

9、可追踪性:根据软件需求对软件设计、程序进行正向追踪,或根据软件设计、程序对软件需求的逆向追踪的能力。

10、可互操作性:多个软件元素相互通信并协同完成任务的能力。

软件工程的本质特性

1、软件工程关注于大型程度的构造:“大”与“小”的分界线并不十分清晰。通常把一个人在较短时间内写出的程序称为小型程序,而把多人合作用时半年以上才写出的程序称为大型程序。传统的程序设计技术和工具是支持小型程序设计的,不能简单地把这些技术和工具用于开发大型程序。现在的软件开发项目通常构造出包含若干个相关程序的“系统”。

2、软件工程的中心课题是控制复杂性:通常,软件所解决的问题十分复杂,以致不能把问题作为一个整体通盘考虑。人们不得不把问题分解,是的分解出的每个部分是可理解的而且各部分之间保持简单的通信关系。用这种风发并不能见底问题的整体复杂性,但是却可使它变成可以管理的。

3、软件经常变化:绝大多数软件都模拟了现实世界的某一部分,例如,处理读者对图书馆提出的需求或跟踪银行内钱的流通过程。现实世界在不断变化,软件为了不被很快淘汰,必须随着所模拟的现实世界一起变化。

4、开发软件的效率非常重要:社会对新应用系统的需求超过了人力资源所能提供的限度,软件供不应求的现象日益严重。因此,软件工程的一个重要课题就是,寻求开发与维护软件的更好更有效的方法和工具。

从零开始设计一个操作系统有多难?

在操作系统中,文件系统的主要目的是“实现对文件的按名存取”。文件系统是操作系统用于明确存储设备(常见的是磁盘,也有基于NAND Flash的固态硬盘)或分区上的文件的方法和数据结构;即在存储设备上组织文件的方法。

操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。文件系统指定命名文件的规则。这些规则包括文件名的字符数最大量,哪种字符可以使用,以及某些系统中文件名后缀可以有多长。文件系统还包括通过目录结构找到文件的指定路径的格式。

文件系统由三部分组成:文件系统的接口,对对象操纵和管理的软件集合,对象及属性,文件系统是软件系统的一部分,它的存在使得应用可以方便的使用抽象命名的数据对象和大小可变的空间。

从系统角度来看,文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。具体地说,它负责为用户建立文件、修改文件、存取文件、转存文件、将用户不需要的文件从磁盘上删除等。

从用户角度看,文件系统实现了“按名存取”,只要知道文件名就可以存取文件,而不必考虑文件存储在磁盘上什么地方。

电脑重装系统是什么意思

从技术的角度讲,这非常难,那是相当地难。究竟有多难,看你设计操作系统的目的是什么。如果是为了与现有的操作系统竞争,那比登天还难。如果你只是为了小范围的应用,那难度就小了很多。

从商业的角度讲,这又很容易。虽然自己什么都没有,但是有开源的 Linux 操作系统,自己捣鼓捣鼓,一个操作系统还不是就出来了。想那 Android 就是在开源的基础上搞出来的。

操作系统的功能是什么?

重装系统常用有恢复出厂重装和全新彻底重装两种,重装系统是什么意思?看以下内容:

1、有新手小白还会难理解,重装系统是将你现在的系统删除,把一个新度的一样的系统换上来,电脑是个硬件,而系统是软件,由于系统发生错误或者不想用,就可重装系统。重装系统的方法有许多,简单的有光盘内重装,买个系统光盘,放进去,运行,然后打开重装系统,重容装完后就是一个新系统。这样不详细的操作新手是不太敢重装的,用小白一键重装软件适合小白。

2、一些喜欢DIY电脑的爱好者,即使系统运行正常,他们也会定期重装系统,目的是让系统在最优状态下工作。这个看个人情况的态度的,个人觉得是主动要求的安装系统。

3、系统重装比如遇到电脑开不机,蓝屏,黑屏的情况出现需要用到一台好的电脑制作个U盘启动器重装。这是被动要求系统重装。

4、根据电脑系统的情况分析,正确看待系统重装的意义和目的。

电脑系统是怎么做出来的?

所谓软件是指为方便使用计算机和提高使用效率而组织的程序以及用于开发、使用和维护的有关文档。软件系统可分为系统软件和应用软件两大类。

1系统软件

系统软件由一组控制计算机系统并管理其资源的程序组成,其主要功能包括:启动计算机,存储、加载和执行应用程序,对文件进行排序、检索,将程序语言翻译成机器语言等。实际上,系统软件可以看作用户与计算机的接口,它为应用软件和用户提供了控制、访问硬件的手段,这些功能主要由操作系统完成。此外,编译系统和各种工具软件也属此类,它们从另一方面辅助用户使用计算机。下面分别介绍它们的功能。

1)操作系统(Operating System, OS)

操作系统是管理、控制和监督计算机软、硬件资源协调运行的程序系统,由一系列具有不同控制和管理功能的程序组成,它是直接运行在计算机硬件上的、最基本的系统软件,是系统软件的核心。操作系统是计算机发展中的产物,它的主要目的有两个:一是方便用户使用计算机,是用户和计算机的接口。比如用户键入一条简单的命令就能自动完成复杂的功能,这就是操作系统帮助的结果;二是统一管理计算机系统的全部资源,合理组织计算机工作流程,以便充分、合理地发挥计算机的效率。操作系统通常应包括下列五大功能模块:

(1)处理器管理。当多个程序同时运行时,解决处理器(CPU)时间的分配问题。

(2)作业管理。完成某个独立任务的程序及其所需的数据组成一个作业。作业管理的任务主要是为用户提供一个使用计算机的界面使其方便地运行自己的作业,并对所有进入系统的作业进行调度和控制,尽可能高效地利用整个系统的资源。

(3)存储器管理。为各个程序及其使用的数据分配存储空间,并保证它们互不干扰。

(4)设备管理。根据用户提出使用设备的请求进行设备分配,同时还能随时接收设备的请求(称为中断),如要求输入信息。

(5)文件管理。主要负责文件的存储、检索、共享和保护,为用户提供文件操作的方便。

操作系统的种类繁多,依其功能和特性分为批处理操作系统、分时操作系统和实时操作系统等;依同时管理用户数的多少分为单用户操作系统和多用户操作系统;适合管理计算机网络环境的网络操作系统。按其发展前后过程,通常分成以下六类:

(1)单用户操作系统(Single User Operating System)

单用户操作系统的主要特征是计算机系统内一次只能支持运行一个用户程序。这类系统的最大缺点是计算机系统的资源不能充分利用。微型机的DOS、Windows操作系统属于这一类。

(2)批处理操作系统(Batch Processing Operating System)

批处理操作系统是20世纪70年代运行于大、中型计算机上的操作系统。当时由于单用户单任务操作系统的CPU使用效率低,I/O设备资源未充分利用,因而产生了多道批处理系统,它主要运行在大中型机上。多道是指多个程序或多个作业(Multi-Programs or Multi Jobs)同时存在和运行,故也称为多任务操作系统。IBM的DOS/VSE就是这类系统。

(3)分时操作系统(Time-Sharing Operating System)

分时系统是一种具有如下特征的操作系统:在一台计算机周围挂上若干台近程或远程终端,每个用户可以在各自的终端上以交互的方式控制作业运行。

在分时系统管理下,虽然各用户使用的是同一台计算机,但却能给用户一种“独占计算机”的感觉。实际上是分时操作系统将CPU时间资源划分成极小的时间片(毫秒量级),轮流分给每个终端用户使用,当一个用户的时间片用完后,CPU就转给另一个用户,前一个用户只能等待下一次轮到。由于人的思考、反应和键入的速度通常比cpu的速度慢得多,所以只要同时上机的用户不超过一定数量,人们不会有延迟的感觉,好像每个用户都独占着计算机。分时系统的优点是:第一,经济实惠,可充分利用计算机资源;第二,由于采用交互会话方式控制作业,用户可以坐在终端前边思考、边调整、边修改,从而大大缩短了解题周期;第三,分时系统的多个用户间可以通过文件系统彼此交流数据和共享各种文件,在各自的终端上协同完成共同的任务。分时操作系统是多用户多任务操作系统,UNIX是国际上最流行的分时操作系统。此外,UNIX具有网络通信与网络服务的功能,也是广泛使用的网络操作系统。

(4)实时操作系统(Real-Time Operating System)

在某些应用领域,要求计算机对数据能进行迅速处理。例如,在自动驾驶仪控制下飞行的飞机、导弹的自动控制系统中,计算机必须对测量系统测得的数据及时、快速地进行处理和反应,以便达到控制的目的,否则就会失去战机。这种有响应时间要求的快速处理过程叫做实时处理过程,当然,响应的时间要求可长可短,可以是秒、毫秒或微秒级的。对于这类实时处理过程,批处理系统或分时系统均无能为力了,因此产生了另一类操作系统——实时操作系统。配置实时操作系统的计算机系统称为实时系统。实时系统按其使用方式可分成两类:一类是广泛用于钢铁、炼油、化工生产过程控制,武器制导等各个领域中的实时控制系统;另一类是广泛用于自动订票系统、情报检索系统、银行业务系统、超级市场销售系统中的实时数据处理系统。

(5)网络操作系统(Network Operating System)

计算机网络是通过通信线路将地理上分散且独立的计算机联结起来的一种网络,有了计算机网络之后,用户可以突破地理条件的限制,方便地使用远处的计算机资源。提供网络通信和网络资源共享功能的操作系统称为网络操作系统。

(6)微机操作系统

微机操作系统随着微机硬件技术的发展而发展,从简单到复杂。Microsoft公司开发的DOS是一单用户单任务系统,而Windows操作系统则是一单用户多任务系统,经过十几年的发展,已从Windows 3.1发展到目前的Windows NT、Windows 2000和Windows XP,它是当前微机中广泛使用的操作系统之一。Linux是一个原码公开的操作系统,目前已被越来越多的用户所采用,是Windows操作系统强有力的竞争对手。

2)语言处理系统(翻译程序)

如前所述,机器语言是计算机唯一能直接识别和执行的程序语言。如果要在计算机上运行高级语言程序就必须配备程序语言翻译程序(下简称翻译程序)。翻译程序本身是一组程序,不同的高级语言都有相应的翻译程序。

对于高级语言来说,翻译的方法有两种:

一种称为“解释”。早期的BASIC源程序的执行都采用这种方式。它调用机器配备的BASIC“解释程序”,在运行BASIC源程序时,逐条把BASIC的源程序语句进行解释和执行,它不保留目标程序代码,即不产生可执行文件。这种方式速度较慢,每次运行都要经过“解释”,边解释边执行。

另一种称为“编译”,它调用相应语言的编译程序,把源程序变成目标程序(以.OBJ为扩展名),然后再用连接程序,把目标程序与库文件相连接形成可执行文件。尽管编译的过程复杂一些,但它形成的可执行文件(以.exe为扩展名)可以反复执行,速度较快。运行程序时只要键入可执行程序的文件名,再按Enter键即可。

对源程序进行解释和编译任务的程序,分别叫做编译程序和解释程序。如FORTRAN、COBOL、PASCAL和C等高级语言,使用时需有相应的编译程序;BASIC、LISP等高级语言,使用时需用相应的解释程序。

3)服务程序

服务程序能够提供一些常用的服务性功能,它们为用户开发程序和使用计算机提供了方便,像微机上经常使用的诊断程序、调试程序、编辑程序均属此类。

4)数据库管理系统

在信息社会里,社会和生产活动产生的信息很多,使人工管理难以应付,人们希望借助计算机对信息进行搜集、存储、处理和使用。数据库系统(Data Base System, DBS)就是在这种需求背景下产生和发展的。

数据库是指按照一定联系存储的数据集合,可为多种应用共享。数据库管理系统(Data Base Management System, DBMS)则是能够对数据库进行加工、管理的系统软件。其主要功能是建立、消除、维护数据库及对库中数据进行各种操作。数据库系统主要由数据库(DB)、数据库管理系统(DBMS)以及相应的应用程序组成。数据库系统不但能够存放大量的数据,更重要的是能迅速、自动地对数据进行检索、修改、统计、排序、合并等操作,以得到所需的信息。这一点是传统的文件柜无法做到的。

数据库技术是计算机技术中发展最快、应用最广的一个分支。可以说,在今后的计算机应用开发中大都离不开数据库。因此,了解数据库技术尤其是微机环境下的数据库应用是非常必要的。

2应用软件

为解决各类实际问题而设计的程序系统称为应用软件。从其服务对象的角度,又可分为通用软件和专用软件两类。

1)通用软件

这类软件通常是为解决某一类问题而设计的,而这类问题是很多人都要遇到和解决的。例如:文字处理、表格处理、电子演示等。

2)专用软件

在市场上可以买到通用软件,但有些具有特殊功能和需求的软件是无法买到的。比如某个用户希望有一个程序能自动控制车床,同时也能将各种事务性工作集成起来统一管理。因为它对于一般用户是太特殊了,所以只能组织人力开发。当然开发出来的这种软件也只能专用于这种情况。

你用到的操作系统,是微软公司大量程序员,写出来的。

操作系统(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。

操作系统是用户和计算机的接口,同时也是计算机硬件和其他软件的接口。操作系统的功能包括管理计算机系统的硬件、软件及数据资源,控制程序运行,改善人机界面,为其它应用软件提供支持,让计算机系统所有资源最大限度地发挥作用,提供各种形式的用户界面,使用户有一个好的工作环境,为其它软件的开发提供必要的服务和相应的接口等。实际上,用户是不用接触操作系统的,操作系统管理着计算机硬件资源,同时按照应用程序的资源请求,分配资源,如:划分CPU时间,内存空间的开辟,调用打印机等。

现代操作系统通常都有一个使用的绘图设备的图形用户界面(GUI),并附加如鼠标或触控面版等有别于键盘的输入设备。旧的OS或性能导向的服务器通常不会有如此亲切的界面,而是以命令行界面(CLI)加上键盘为输入设备。以上两种界面其实都是所谓的壳,其功能为接受并处理用户的指令(例如按下一按钮,或在命令提示列上键入指令)。

选择要安装的操作系统通常与其硬件架构有很大关系,只有Linux与BSD几乎可在所有硬件架构上运行,而Windows NT仅移植到了DEC Alpha与MIPS Magnum。在1990年代早期,个人计算机的选择就已被局限在Windows家族、类Unix家族以及Linux上,而以Linux及Mac OS X为最主要的另类选择,直至今日。

大型机与嵌入式系统使用很多样化的操作系统。在服务器方面Linux、UNIX和WindowsServer占据了市场的大部分份额。在超级计算机方面,Linux取代Unix成为了第一大操作系统,截止2012年6月,世界超级计算机500强排名中基于Linux的超级计算机占据了462个席位,比率高达92%。随着智能手机的发展,Android和iOS已经成为目前最流行的两大手机操作系统。[1]

2012年,全球智能手机操作系统市场份额的变化情况相对稳定。智能手机操作系统市场一直被几个手机制造商巨头所控制,而安卓的垄断地位主要得益于三星智能手机在世界范围内所取得的巨大成功。2012年第三季度,安卓的市场份额高达74.8%,2011年则为57.4%。2013年第一季度,它的市场份额继续增加,达到75%。虽然 Android 占据领先,但是苹果 iOS 用户在应用上花费的时间则比 Android 的长。虽然在这方面 Android 的数字一度接近苹果,但是像 iPad 3 这样的设备发布之后,苹果的数字还是会进一步增长。Windows Phone 系统在 8.1 版发布后市场份额稳步提高,应用生态正在改善,众多必需应用不断更新,但是速度还略嫌迟缓。微软收购了诺基亚,发展了许多OEM厂商,并不断发布新机型试图扭转WP的不利局面,小有成效。

组成部分

操作系统理论研究者有时把操作系统分成四大部分:

驱动程序:最底层的、直接控制和监视各类硬件的部分,它们的职责是隐藏硬件的具体细节,并向其他部分提供一个抽象的、通用的接口。

内核:操作系统内核部分,通常运行在最高特权级,负责提供基础性、结构性的功能。

接口库:是一系列特殊的程序库,它们职责在于把系统所提供的基本服务包装成应用程序所能够使用的编程接口(API),是最靠近应用程序的部分。例如,GNU C运行期库就属于此类,它把各种操作系统的内部编程接口包装成ANSI C和POSIX编程接口的形式。

外围:是指操作系统中除以上三类以外的所有其他部分,通常是用于提供特定高级服务的部件。例如,在微内核结构中,大部分系统服务,以及UNIX/Linux中各种守护进程都通常被划归此列。

并不是所有的操作系统都严格包括这四大部分。例如,在早期的微软视窗操作系统中,各部分耦合程度很深,难以区分彼此。而在使用外核结构的操作系统中,则根本没有驱动程序的概念。

操作系统中四大部分的不同布局,也就形成了几种整体结构的分野。常见的结构包括:简单结构、层结构、微内核结构、垂直结构、和虚拟机结构。

内核结构编辑

内核是操作系统最基础的构件,因而,内核结构往往对操作系统的外部特性以及应用领域有着一定程度的影响。尽管随着理论和实践的不断演进,操作系统高层特性与内核结构之间的耦合有日趋缩小之势,但习惯上,内核结构仍然是操作系统分类之常用标准!

内核的结构可以分为单内核、微内核、混合内核、外内核等。

单内核(Monolithic kernel),又称为宏内核。单内核结构是操作系统中各内核部件杂然混居的形态,该结构于1960年代(亦有1950年代初之说,尚存争议),历史最长,是操作系统内核与外围分离时的最初形态。

微内核(Microkernel),又称为微核心。微内核结构是1980年代产生出来的较新的内核结构,强调结构性部件与功能性部件的分离。20世纪末,基于微内核结构,理论界中又发展出了超微内核与外内核等多种结构。尽管自1980年代起,大部分理论研究都集中在以微内核为首的“新兴”结构之上,然而,在应用领域之中,以单内核结构为基础的操作系统却一直占据着主导地位。

混合内核(Hybrid kernel)像微内核结构,只不过它的组件更多的在核心态中运行,以获得更快的执行速度。

外内核(Exokernel)的设计理念是尽可能的减少软件的抽象化,这使得开发者可以专注于硬件的抽象化。外核心的设计极为简化,它的目标是在于同时简化传统微内核的讯息传递机制,以及整块性核心的软件抽象层。

在众多常用操作系统之中,除了QNX和基于Mach的UNIX等个别系统外,几乎全部采用单内核结构,例如大部分的Unix、Linux,以及Windows(微软声称Windows NT是基于改良的微内核架构的,尽管理论界对此存有异议)。 微内核和超微内核结构主要用于研究性操作系统,还有一些嵌入式系统使用外核!

基于单内核的操作系统通常有着较长的历史渊源。例如,绝大部分UNIX的家族史都可上溯至1960年代。该类操作系统多数有着相对古老的设计和实现(例如某些UNIX中存在着大量1970年代、1980年代的代码)。另外,往往在性能方面略优于同一应用领域中采用其他内核结构的操作系统(但通常认为此种性能优势不能完全归功于单内核结构)!

主要功能

操作系统的主要功能是资源管理,程序控制和人机交互等。计算机系统的资源可分为设备资源和信息资源两大类。设备资源指的是组成计算机的硬件设备,如中央处理器,主存储器,磁盘存储器,打印机,磁带存储器,显示器,键盘输入设备和鼠标等。信息资源指的是存放于计算机内的各种数据,如文件,程序库,知识库,系统软件和应用软件等。

操作系统位于底层硬件与用户之间,是两者沟通的桥梁。用户可以通过操作系统的用户界面,输入命令。操作系统则对命令进行解释,驱动硬件设备,实现用户要求。以现代观点而言,一个标准个人电脑的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)中,每台计算机只有一个用户,每次运行一个程序,且次序不是很大,单个程序完全可以存放在实际内存中。这时虚拟内存并没有太大的用处。但随着程序占用存储器容量的增长和多用户多任务操作系统的出现,在程序设计时,在程序所需要的存储量与计算机系统实际配备的主存储器的容量之间往往存在着矛盾。例如,在某些低档的计算机中,物理内存的容量较小,而某些程序却需要很大的内存才能运行;而在多用户多任务系统中,多个用户或多个任务更新全部主存,要求同时执行独断程序。这些同时运行的程序到底占用实际内存中的哪一部分,在编写程序时是无法确定的,必须等到程序运行时才动态分配。[3]

用户界面

用户界面(User Interface,简称 UI,亦称使用者界面[1])是系统和用户之间进行交互和信息交换的媒介,它实现信息的内部形式与人类可以接受形式之间的转换。

用户界面是介于用户与硬件而设计彼此之间交互沟通相关软件,目的在使得用户能够方便有效率地去操作硬件以达成双向之交互,完成所希望借助硬件完成之工作,用户界面定义广泛,包含了人机交互与图形用户接口,凡参与人类与机械的信息交流的领域都存在着用户界面。用户和系统之间一般用面向问题的受限自然语言进行交互。目前有系统开始利用多媒体技术开发新一代的用户界面。