1.1 操作系统的一个重任,两个角色
电小白第一次知道有操作系统(Operating System, OS)这个词,是在用计算机玩游戏很长时间以后。当时电小白很不理解运行的游戏程序和操作系统程序之间的界限在哪里,觉得很抽象。
自从电小白自己安装了一次Windows操作系统后,才明白了两点:①操作系统是直接运行在裸机(没有安装任何软件的计算机硬件)上的系统软件;②尽管初级玩家并没有在意它的存在,但任何应用软件的运行离不开它的支持。
在电小白和计算机硬件之间,始终有一个“操作系统”横在中间。
电小白:“清青老师,我感觉操作系统是存在的,但说不清楚它到底是什么。”
清青老师告诉电小白:“很多刚开始学习计算机的人都说不清楚操作系统是什么。但我们只要记住操作系统有‘一个重任,两个角色’就可以了。”
“一个重任?”电小白迫不及待地想了解一个重任到底是什么。
“‘一个重任’是指操作系统担负着用户和计算机软硬件之间的交互的重任,”清青老师告诉电小白,“操作系统有时候就是生意双方(用户和计算机软硬件)的中介,所有的交易细节都要经过它,它的粗暴干涉让人不悦;可有时操作系统又像湍急河流两岸间的桥梁(如图1-1所示),用户和计算机软硬件之间的交流全靠它,它的默默奉献让人获得便利。”
“那么,两个角色又是什么?”电小白接着问道。
清青老师:“两个主要的角色是接待员和管家婆。”
“有点意思了,愿闻其详。”电小白说。
“操作系统的接待员角色,就是用户使用计算机系统的操作界面。这个接待员的出现,屏蔽了计算机系统内部的复杂性,使用户很容易操作计算机,而无须了解计算机内部复杂的细节。”清青老师继续说。
清青老师停顿了一下,接着说:“操作系统的管家婆角色,是负责管理计算机系统内部各种资源的。这些资源,一般用户可以不了解,但计算机系统必须能够有效调度。”
图1-1 操作系统是用户和软硬件之间沟通的桥梁
“这样的操作系统形象比较可爱,我喜欢!”电小白说。
“不管你喜欢还是不喜欢操作系统,它就在那里,不知疲倦地完成着它的使命。”清青老师笑着说。
1.1.1 两个角色:接待员和管家婆
大家都有去饭店点菜的经历。我们只需要告诉服务员点什么菜即可,至于菜是从哪里买来的,放了哪些调料,师傅是用哪个锅炒的,老板允许哪些人进厨房,允许哪些人收银,要求哪些人给你擦桌子,我们从不关心。我们只关心菜上得快不快,味道好不好。
也就是说,饭店也存在至少两个关键角色:接待员和管家婆。接待员是负责接待客户的服务员,对客户屏蔽了饭菜准备过程和饭店经营过程的复杂性,给客户提供了用餐的便利性;管家婆则是管理厨房运作的老板,她负责调度厨房内部的人力资源、食材资源,管理上菜进度和财务流水等,如图1-2所示。
虽然有些饭店提供了透明厨房,进一步给客户提供了内部运作的细节,但这是饭店系统的高级设置,并不意味着很多人真的会去了解。如同计算机操作系统里有很多高级设置,但一般人很少去探索一样。
图1-2 饭店的操作系统
1.1.2 屏蔽内部业务运行的复杂性
很多人都有去银行办理业务的经历。银行给用户提供的选择有多种,你可以去营业员那里办理业务,也可以在自助银行办理。你只需要告诉营业员你是存钱还是取钱,存多少,取多少;或者你在自助机上选择相应功能,按提示进行操作即可。至于银行里的钱是哪个客户存入的,钱放在哪个金库里,是由哪个运钞车运到营业厅的,你完全不用了解。也就是说,银行给用户提供了便利的业务操作界面,同时屏蔽了内部业务运行的复杂性,如图1-3所示。
图1-3 屏蔽内部业务运行的复杂性
1.1.3 知识一点通:计算机的操作系统
计算机的操作系统给用户提供了与计算机硬件之间的接口,屏蔽了计算机内部运行的复杂性,如图1-4所示。从这个角度来看,操作系统更像计算机的接待员,它负责接待用户,提供了用户与计算机的交互接口。用户必须通过这个接待员才能与计算机打交道。
图1-4 操作系统的接待员和管家婆角色
计算机系统经常会运行一些程序或提供一些服务,如同饭店内部也要进行运营管理一样。从这个角度来看,操作系统是计算机的管家婆,它负责管理计算机的硬件资源和软件资源,合理地组织计算机的工作流程,协调计算机内部硬件和软件之间、计算机与用户之间,以及多个用户之间的关系。
总之,提供用户界面和进行计算机资源的管理是任何操作系统最重要的两个角色,其屏蔽了计算机内部的软硬件资源的复杂性,逻辑结构如图1-5所示。
图1-5 计算机操作系统的逻辑结构