|
1 | 1 | # 1.操作系统简介 |
2 | 2 |
|
3 | | -操作系统(Operating System, 简称OS)是管理和控制计算机硬件与软件资源的计算机程序。 |
4 | | -它是一种由引导程序(bootloader)启动并管理计算机中所有程序生命周期的系统程序。任何其他软件都必须在操作系统的支持下才能运行,操作系统能有效组织和管理系统中的各种软、硬件资源,合理组织计算机系统的工作流程并控制程序的执行,为用户提供一个良好的操作环境。 目前比较为人所知的操作系统有Microsoft的Windows系统、Apple的Mac及以Linux为内核的各种Linux发行版(Centos/Ubuntu等)。 现代计算机系统由一个或多个处理器、主存、打印机、键盘、鼠标、显示器、网络接口及各种输入\输出设备构成。 |
5 | | - |
6 | | - |
7 | | -操作系统这个术语听上去稀松平常,并不给人任何兴奋的感觉,甚至有点俗气。原因在于中文的“操作”这个词:提到操作员,通常让人想起操作车床、磨床和起重机的穿着油腻工作服的工人,这自然让人兴奋不起来。将英文的Operating翻译为中文的“操作”,是因为翻译的人没有理解英文Operating Systems(OS,操作系统)这个名字所蕴涵的精髓。那么英文的Operating Systems意味着什么呢?各位见过手术过程吗?在手术室里,主刀大夫称为Operating Surgeon。在整个手术过程中,主刀大夫具有至高无上的权威:他说要打麻药,麻醉师便要赶紧打麻药;他说需要手术钳,助理大夫就赶忙递给他手术钳;他说需要止血,护士就要忙不迭地拿止血药棉来止血。整个手术最关键的部分,切开皮肤、拿掉器官、安装移植器官等均由主刀大夫完成。当然,主刀大夫有时候也会将某些任务,如缝合创口,交给助理大夫或护士来做,但整个手术的过程皆由其主控。一句话,Operating Surgeon就是掌控整个手术过程、具有精湛技术和敏锐判断力的医师。 |
8 | | - |
9 | | -引申至非医学领域,Operating Person意思是操刀手,就是掌控事情的人。再将Person这个词换成System,则Operating Systems指的就是掌控局势的一种系统。也就是说计算机里面的一切事情均由Operating Systems来掌控。那么,我们现在面临两个问题:第一个问题是,操作系统到底是什么东西?第二个问题是,操作系统到底操控什么事情?我们先回答第一个问题。既然操作系统是掌控计算机局势的一个系统,自然很重要。但这个说法并不能帮助读者理解操作系统,也无法形成有形的概念。如果我们换个说法:操作系统是介于计算机和应用软件之间的一个软件系统,则概念就具体多了。从这个定义出发,我们知道操作系统的上面和下面都有别的对象存在:下面是硬件平台,上面是应用软件,现在回答第二个问题。我们知道操作系统代表的是掌控事情的系统,掌控什么事情呢?当然是计算机上或计算机里发生的一切事情。最原始的计算机并没有操作系统,而是直接由人来掌控事情,即所谓的单一控制终端、单一操作员模式。但是随着计算机复杂性的增长,人已经不能胜任直接掌控计算机了。于是我们编写出操作系统这个“软件”来掌控计算机,将人类从日益复杂的掌控任务中解脱出来。这个掌控有着多层深远的意义。首先,由于计算机的功能和复杂性不断发生变化(趋向更加复杂),操作系统所掌控的事情也就越来越多,越来越复杂。同时,操作系统本身能够使用的资源也不断增多(如内存容量)。这是早期驱动操作系统不断改善的根本原因。其次,既然操作系统是专门掌控计算机的,那么计算机上发生的所有事情自然需要操作系统的知晓和许可,未经操作系统同意的任何事情均视为非法的,也就是病毒和入侵攻击所试图运作的事情。作为操作系统的设计人员,我们当然要确保计算机不发生任何我们不知情或不同意的事情。但是人的能力是有限的,人的思维也是有缺陷的,我们设计出的系统自然不会十全十美,也会有缺陷,这就给了攻击者可乘之机。操作系统设计人员和攻击者之间的博弈是当前驱动操作系统改善的一个重要动力。再次,掌控事情的水平有高低之分,有效率不同之分。就像手术大夫之间也有水平高低之分。为了更好地掌控事情,同时也为了更好地满足人类永不知足的各种越来越苛刻的要求,操作系统自然需要不断改善。这种改善在过去、现在和将来都会继续下去的。最后,我们可以给操作系统下定义了:操作系统是一个软件系统;操作系统使计算机变得好用(将人类从繁琐、复杂的对机器掌控的任务中解脱);操作系统使计算机运作变得有序(操作系统掌控计算机上所有的事情)。总结起来就是:操作系统是掌控计算机上所有事情的软件系统。 |
| 3 | +操作系统(Operating System, 简称OS)是管理和控制计算机硬件与软件资源的计算机程序。 |
| 4 | +它是一种由引导程序(bootloader)启动并管理计算机中所有程序生命周期的系统程序。 |
| 5 | +任何其他软件都必须在操作系统的支持下才能运行,操作系统能有效组织和管理系统中的各种软、硬件资源,合理组织计算机系统的工作流程并控制程序的执行,为用户提供一个良好的操作环境。 |
| 6 | + 目前比较为人所知的操作系统有Microsoft的Windows系统、Apple的Mac及以Linux为内核的各种Linux发行版(Centos/Ubuntu等)。 |
| 7 | + 现代计算机系统由一个或多个处理器、主存、打印机、键盘、鼠标、显示器、网络接口及各种输入\输出设备构成。 |
| 8 | + |
| 9 | + |
| 10 | +操作系统这个术语听上去稀松平常,并不给人任何兴奋的感觉,甚至有点俗气。 |
| 11 | +原因在于中文的“操作”这个词:提到操作员,通常让人想起操作车床、磨床和起重机的穿着油腻工作服的工人,这自然让人兴奋不起来。 |
| 12 | +将英文的Operating翻译为中文的“操作”,是因为翻译的人没有理解英文Operating Systems(OS,操作系统)这个名字所蕴涵的精髓。 |
| 13 | +那么英文的Operating Systems意味着什么呢?各位见过手术过程吗?在手术室里,主刀大夫称为Operating Surgeon。在整个手术过程中,主刀大夫具有至高无上的权威:他说要打麻药,麻醉师便要赶紧打麻药;他说需要手术钳,助理大夫就赶忙递给他手术钳;他说需要止血,护士就要忙不迭地拿止血药棉来止血。整个手术最关键的部分,切开皮肤、拿掉器官、安装移植器官等均由主刀大夫完成。当然,主刀大夫有时候也会将某些任务,如缝合创口,交给助理大夫或护士来做,但整个手术的过程皆由其主控。 |
| 14 | +一句话,Operating Surgeon就是掌控整个手术过程、具有精湛技术和敏锐判断力的医师。 |
| 15 | + |
| 16 | +引申至非医学领域,Operating Person意思是操刀手,就是掌控事情的人。再将Person这个词换成System,则Operating Systems指的就是掌控局势的一种系统。也就是说计算机里面的一切事情均由Operating Systems来掌控。 |
| 17 | +那么,我们现在面临两个问题: |
| 18 | +第一个问题是,操作系统到底是什么东西? |
| 19 | +第二个问题是,操作系统到底操控什么事情? |
| 20 | +我们先回答第一个问题。既然操作系统是掌控计算机局势的一个系统,自然很重要。但这个说法并不能帮助读者理解操作系统,也无法形成有形的概念。 |
| 21 | +如果我们换个说法:操作系统是介于计算机和应用软件之间的一个软件系统,则概念就具体多了。 |
| 22 | +从这个定义出发,我们知道操作系统的上面和下面都有别的对象存在:下面是硬件平台,上面是应用软件,现在回答第二个问题。我们知道操作系统代表的是掌控事情的系统,掌控什么事情呢?当然是计算机上或计算机里发生的一切事情。最原始的计算机并没有操作系统,而是直接由人来掌控事情,即所谓的单一控制终端、单一操作员模式。但是随着计算机复杂性的增长,人已经不能胜任直接掌控计算机了。于是我们编写出操作系统这个“软件”来掌控计算机,将人类从日益复杂的掌控任务中解脱出来。 |
| 23 | +这个掌控有着多层深远的意义。首先,由于计算机的功能和复杂性不断发生变化(趋向更加复杂),操作系统所掌控的事情也就越来越多,越来越复杂。同时,操作系统本身能够使用的资源也不断增多(如内存容量)。 |
| 24 | +这是早期驱动操作系统不断改善的根本原因。其次,既然操作系统是专门掌控计算机的,那么计算机上发生的所有事情自然需要操作系统的知晓和许可,未经操作系统同意的任何事情均视为非法的,也就是病毒和入侵攻击所试图运作的事情。作为操作系统的设计人员,我们当然要确保计算机不发生任何我们不知情或不同意的事情。但是人的能力是有限的,人的思维也是有缺陷的,我们设计出的系统自然不会十全十美,也会有缺陷,这就给了攻击者可乘之机。 |
| 25 | +操作系统设计人员和攻击者之间的博弈是当前驱动操作系统改善的一个重要动力。再次,掌控事情的水平有高低之分,有效率不同之分。就像手术大夫之间也有水平高低之分。为了更好地掌控事情,同时也为了更好地满足人类永不知足的各种越来越苛刻的要求,操作系统自然需要不断改善。这种改善在过去、现在和将来都会继续下去的。 |
| 26 | +最后,我们可以给操作系统下定义了: |
| 27 | +操作系统是一个软件系统; |
| 28 | +操作系统使计算机变得好用(将人类从繁琐、复杂的对机器掌控的任务中解脱); |
| 29 | +操作系统使计算机运作变得有序(操作系统掌控计算机上所有的事情)。 |
| 30 | +总结起来就是:操作系统是掌控计算机上所有事情的软件系统。 |
10 | 31 |
|
11 | 32 |
|
12 | 33 | 作用:它可以帮我们管理计算机的各种资源,协助我们完成各种复杂繁琐的任务。 |
13 | 34 |
|
14 | 35 | ### 操作系统三要素: |
15 | 36 |
|
16 | | -- 虚拟化(virtualization) |
17 | | - 操作系统将物理(physical)资源(如处理器、内存或磁盘)转换为更通用、更强大且更易于使用的虚拟形式。因此,我们有时将操作系统称为虚拟机(virtual machine)。 |
| 37 | +- 虚拟化(virtualization) |
| 38 | + 操作系统将物理(physical)资源(如处理器、内存或磁盘)转换为更通用、更强大且更易于使用的虚拟形式。因此,我们有时将操作系统称为虚拟机(virtual machine)。 |
| 39 | + |
18 | 40 | 当然,为了让用户可以告诉操作系统做什么,从而利用虚拟机的功能(如运行程序、分配内存或访问文件),操作系统还提供了一些接口(API),供你调用。实际上,典型的操作系统会提供几百个系统调用(system call),让应用程序调用。由于操作系统提供这些调用来运行程序、访问内存和设备,并进行其他相关操作,我们有时也会说操作系统为应用程序提供了一个标准库(standard library)。 |
19 | 41 |
|
20 | 42 | 最后,因为虚拟化让许多程序运行(从而共享CPU),让许多程序可以同时访问自己的指令和数据(从而共享内存),让许多程序访问设备(从而共享磁盘等),所以操作系统有时被称为资源管理器(resource manager)。每个CPU、内存和磁盘都是系统的资源(resource),因此操作系统扮演的主要角色就是管理(manage)这些资源,以做到高效或公平,或者实际上考虑其他许多可能的目标。 |
|
0 commit comments