探索
EXPLOE
计算机的大总管 ——认识个人计算机的操作系统
发布时间:2024-11-25
打印
{{ isAudioPlay ? '暂停播放' : '播放声音' }}
放大 缩小

启动计算机

按下计算机的启动键,打开计算机。

  这可不是一个简单的动作。计算机要完成的工作比你想象的要复杂 得多。首先工作的是计算机里面的一块集成电路,它需要读取芯片里预存的程序,这个程序叫作“基本输 出 输 入 系 统 ”(Basic Input/Output System), 简称为 “BIOS”。

  BIOS 程序先检查计算机硬件,看看能否满足运行的基本条件,然后按照预先设定的启动顺序,告诉计算机 操作系统装在哪里——硬盘,光盘, 或者U 盘的哪个位置。然后,计算机就会加载操作系统了。

  接 着 ,BIOS将计算机的控制权转交给操作系统,操作系统内核首先被 载入内存,等到一切就绪,登录界面便跳出,等待用户输入用户名和密码。

操作系统,你好!

把计算机分成几个层面,操作系统的内核是中间层,往上支持着各种图形界面、控制中心和应用程序,往下则通过驱动程序管理着各种硬件

计算机就像一个三明治

   操 作 系 统 (Operating System,OS) 其实也是一组程序。不过一般来说,这 是一组很大的程序。有多大呢?举一个 例子,微软的Windows 8大概有5000 万~6000万的程序语句,开发这个大 程序花了微软工程师大概20年的时间。操作系统很复杂,但从使用者的角度看,它却非常简单。如果把计算 机的硬件比喻成一栋刚盖好的毛坯房, 操作系统就好比大楼全部的基本设施、 水电气供给、装修等等。有了这些,房屋才能交付使用,应用软件才能陆续进驻。

   我们把使用中的计算机分成几个层面:硬件是底层;在硬件上面的是操作系统的内核;再上一层的就是我 们每天都见到的“壳”层,也就是我 们在屏幕上看到的一个个的文件夹、 各种管理界面、控制中心等的架构; 同在这一层的,正是能带给我们各种用户体验的应用程序。

   计算机最重要的运算与逻辑判断 是在CPU 内部,我们只要把程序编好 了,让编译器编译成机器语言,似乎 就可以让计算机工作了。但这只是某 一层面的工作。CPU 判断逻辑与运算 数值、让主内存可以开始载入/读出数 据与程序码、让硬盘被存取、让网络卡传输数据、让所有周边运转等等这 些动作都必须要通过这个操作系统来 实现。

   我们用一个通俗的说法来描述操作系统的职能——隐藏硬件。我们只 需要面对操作系统,面对硬件的那些 琐事就全部由操作系统来完成。

   在这里,内核是最关键的一层。 顾名思义,这是操作系统最核心的部分。对内,它能有效地组织和管理处理器、内存,决定一个程序在什么时 候对某部分硬件进行操作,并通过驱 动程序让硬盘、显示器、键盘、鼠标 等各种外部设备发挥最佳功能;对外, 它提供各种具有服务功能的接口给应用程序和用户。

 

让一切按部就班

   无论你在计算机前面的动作有多 熟练,无论接到计算机上的网络、视频、 音频、打印机各种设备给计算机多大的工作压力,计算机都会保持自己的速度,按部就班地工作,这是基于一 个叫作“进程”的概念。

   一个进程就是一个正在工作的 程序。计算机工作是一个进程跟着一 个进程进行的,任何程序都是以进程 作为标准的执行单位。你可以在计算 机上打开word 来编辑文本,又打开 photoshop 来处理图片,并同时打开 音频软件播放音乐。这些应用软件的 工作都对应着一个到几个进程。

当年运用冯 ·诺伊曼结构建造计算

这是双核系统的 进程顺序示例。每 一核中,CPU的 管理进程(蓝色部 分 ) 和 A、B、C 三个进程(绿色部 分)交替进行机时,每个中央处理器只能执行一个 进程。现代的计算机可以利用多进程 功能同时执行多个进程。

   一个进程是程序的一次执行,具 有生命周期,包括创建、活动、暂停、 终止等过程。相对来讲,进程的运行 速度是慢的,而CPU 的运行速度非常 快(现在的CPU 主频达到2吉赫是很 轻松的事情),所以一个CPU 可以为 很多个进程服务。以前,大部分的计 算机只包含一个CPU,在单内核的情况下,多进程只是在进程间进行简单、 迅速地切换,让每个进程都能够执行; 而在多内核或多处理器的情况下,所 有进程通过协同技术在各处理器或内 核上转换。

  总之,各个进程必须合理地交替 进行,不得互相干扰,而进程调度员 就是操作系统。

  当然,同时执行太多进程时,每 个进程能分配到的时间就很少,在这 种情况下就会出现诸如音效断续或鼠 标跳格的情况。

计算机的“壳”

  我们看不到计算机的硬件动作,同 时也看不到操作系统的内核,但是我们 能够看到操作系统的“壳”。

  当你登录进入计算机,第一眼看到 的就是图形用户界面(GUI)。 计算机 屏幕上显示窗口、图标、按钮等图形, 用户通过鼠标和键盘完成各种动作。图 形用户界面是操作系统的一部分,它对操作者的重要性不必做任何解释。

DOS, 是磁盘操作系统(Disk Operating System)的 缩写,是20个世纪80~90年代计算机采用的操作系统

 

早期的计算机图形用户界面——微软 Windows2.03

要看看几种早期计算机的用户界面就明白了。早期的计算机使用的是DOS 操作 系统,任何对计算机的操作,都要通过 键入命令来完成(早期的计算机甚至没 有鼠标)。那时的计算机使用者需要经 过专门的训练,牢记很多命令行的代码。 后来图形界面出现了,使用计算机的技 术门槛似乎一下子就消失了。现在的计算机的图形界面,力求简 洁清晰、容易理解,同时要美观、有趣、不单调。

   每当新版本的操作系统推出,我们 都可以看到图形用户界面改头换面。我 们认识一个新的操作系统,往往都是从 认识新的用户界面开始的。不同类型的 操作系统也常常以特有的图形用户界面来吸引使用者。

 

  在计算机里,有一个叫作“驱动程序”的设计,它非常靠近硬件。驱动程  序的目的,是使硬件能正常地工作,比如网卡的数据发送、声卡的声音播放等。

  驱动程序是被嵌入到操作系统中 的相对独立的程序。一个操作系统,武装着一整套通用的驱动程序,让计 算机主机硬件能够正常工作,也让外 部设备能够完成基本功能。当然,一 些外部设备,如声卡、显卡、打印机等, 因型号和功能繁多,操作系统不能保证这些设备都能正常运行,那么就需 要安装特定设备的专有的驱动程序。驱动程序一旦被安装,就自动成为操 作系统的新的部分。

操作系统将各种驱动程序统筹起来,形成一套简单一致的接口给应用程 序使用。而当计算机运行时,应用程序 会争抢有限的硬件设备资源,比如网卡、 声卡、显卡、硬盘等。计算机必须制定 某种管理机制,将有限的硬件资源协调分配给不同的应用程序使用,这也是操作系统的任务之一。通过对操作系统的了解,现在你 对计算机的认识应该进入到更深的层次了吧?

 

Linux操作系统

   柿纳斯 ·市纳第克特 ·托瓦兹(Linus  Benedict Torvalds)  是计算机界的一位“大神”。在上大学的时候,他买了一台IBM 的电脑。他认为软件公司不应该收那么多钱,于是决定自己开发软件。他居然凭一己之 力,编写了个人电脑的操作系Linux, 公开和微软 公司的Windows 叫板。

   Linus  的贡献不仅仅是开发出了Linux 操作系统的内核,还在于他扛起了开源软件(Open  Source)的大旗。 开源代码带来了更民主的开发方式,在这种方式下,使 用者可以使用、复制、散布、研究、改进软件,好的创 意被集体分享,而不是作为智力资市被个人秘藏。可以 说 ,Linus不仅挑战了Windows, 还帮助软件世界成功地打开了开放的窗口。

   Linux 也是一个全球性的计算机极客的社区。世界 各地使用Linux的程序员都把建议的改进发给维护员。 Linux 最大的交流会是在德国举行的LinuxTag, 每年有大约1万人共襄盛举。