成为“黑客”前,必须学习的“操作系统架构体系”
我们先做个比喻,计算机就好比一栋具备"智能功能的大楼",操作系统就是负责这栋"智能大楼"协调、管理和控制的"总控中心",计算机硬件就是组成这栋大楼的"钢筋、水泥",应用软件就是大楼里一个个具体的"环境、消防、人员监控系统"。这时候如果要入侵这栋智能大楼,我们最重要夺取哪一个关键点?我相信大家一定会选择"总控中心"。因此对于黑客学习内容里关键的一部分就是对于操作系统整体架构的掌握。 今天就以本篇文章,让大家对计算机系统架构有个初步认识!便于未来的学习中对操作系统有个更深刻的理解。 一、 操作系统的定义 操作系统(英语:operating system,作OS)是管理与资源的,同时也是计算机系统的内核与基石。操作系统需要处理如管理与配置、决定系统资源供需的优先次序、控制输入与输出设备、操作与管理等基本事务。操作系统也提供一个让用户与系统交互的操作界面。 操作系统是作为计算机硬件和计算机用户之间的中介的程序。操作系统的目的是为用户提供方便且有效地执行程序的环境。操作系统是管理计算机硬件的软件,硬件必须提供合适的机制来保证计算机系统的正确性,以及确保系统不受用户程序干扰正常运行。操作系统庞大而复杂,因此它必须被分块构造。每一块都是系统中明确定义的一部分,具有严格定义的输入、输出和功能。 操作系统由操作系统的内核(运行于内核态,管理硬件资源)以及系统调用(运行于用户态,为应用程序员写的应用程序提供系统调用接口)两部分组成,所以,单纯的说操作系统是运行于内核态的,是不准确的。 二、 操作系统的目标和作用 1、操作系统的目标: 1)有效性:提高系统资源利用率;提高系统的吞吐量。 2)方便性: 3)可扩充性: 4)开放性:开放性是指操作系统能遵循世界标准规范,特别是遵循开放系统互联(OSI) 国际标准。凡遵循国际标准所开放的硬件和软件,均能彼此兼容,可方便的实现互连。 2、操作系统的作用: 1)OS 作为用户与计算机硬件系统之间的接口:OS 处于用户与计算机硬件系统之间,用户通过 OS 来使用计算机系统。 ①命令方式:这是指由OS 提供了一组联机命令接口,以允许用户通过键盘输入有关命令来取得操作系统的服务,并控制用户程序的运行。 ②系统调用方式:OS 提供了一组系统调用,用户可在自己的应用程序中通过相应的系统调用,来实现与操作系统的通信,并取得它的服务。 ③图形、窗口方式:这是当前使用最为方便、最为广泛的接口,它允许用户通过屏幕上的窗口和图标来实现与操作系统的通信,并取得它的服务。 2)OS 作为计算机系统资源的管理者 系统资源分为四类:处理器、存储器、I/O设备、信息(数据和程序)。OS 的主要功能也正是针对这四类资源进行有效的管理,即:处理机管理,用于分配和控制处理机;存储器管理,主要负责内存的分配与回收;I/O 设备管理,负责 I/O设备的分配与操纵;文件管理,负责文件的存取、共享和保护。 当一个计算机系统同时供多个用户使用时,用户对系统中共享资源的需求(包括数量和时间)可能发生冲突,为了更好的管理好这些共享资源(包括硬件和信息)的使用,操作系统必须记录下各种资源的使用情况,对使用资源的请求进行授权,协调诸用户对共享资源的使用,避免发生冲突,并计算使用资源的费用等。 3)OS 实现了对计算机资源的抽象 对于一个完全无软件的计算机系统(即裸机),它向用户提供的是实际硬件接口(物理接口),用户必须对物理接口的实现细节有充分的了解,并利用机器指令进行编程,因此该物理机器必定是难以使用的。 在裸机上铺设的 I/O软件隐藏了对 I/O 设备操作的具体细节,向上提供了一组抽象的 I/O 设备。 OS 是铺设在计算机硬件上的多层系统软件,它们不仅增强了系统的功能,而且还隐藏了对硬件操作的细节,由它们实现了对计算机硬件操作的多个层次的抽象。 三、 操作系统的结构 1、单一体结构 单一体结构是最早期的结构,这时整个OS是一个巨大的单一体,运行在内核态下,为用户提供服务,如下图所示。 单一体结构各功能块之间关系复杂,修改困难,牵一发而动全身,且容易形成循环调用造成死锁,于是有了下面的层次关系。 2、分层结构 将操作系统的功能分成不同的层次,低层次的功能为紧邻其上一个层次的功能提供服务,而高层次的功能又为更高一个层次的功能提供服务,如下图所示。 分层结构的主要优点:①易保证系统的正确性。自上而下的设计方式,是所有的设计中的决定都是有序的,或者说是建立在较为可靠的基础上,这样比较容易保证整个系统的正确性。②易扩充和易维护性。在系统中增加、修改或替换一个层次中的模块或整个层次,只要不改变相应层次间的接口,就不会影响其它层次,这必将使系统维护和扩充变得更加容易。 分层结构的主要缺点:系统效率降低了。由于层次结构是分层单向依赖的,因此必须在相邻层之间都要建立层次间的通信机制,OS 每执行一个功能,通常要自上而下地穿越多个层次,这无疑会增加系统的通信开销,从而导致系统效率的降低。 3、微内核结构 从单一体和层次化结构的图中可以看出,操作系统的所有功能都在内核态下运行。但是,从用户态转为内核态是有时间成本的,这样就会造成OS的效率低下。于是,人们将操作系统的核心中的核心才放在内核态运行,其他功能都迁移到用户态运行,于是就有了下面的微内核结构。 微内核操作系统的优点: 1)提高了系统的可扩展性由于微内核 OS 的许多功能是由相对独立的服务器软件来实现的,当开发了新的硬件和软件时,微内核 OS 只需在相应的服务器中增加新的功能,或再增加一个专门的服务器。 (编辑:ASP站长网) |