目录
前言
本文主要介绍操作系统的基本概念及其形成、 发展历史和主要类型, 并指出操作系统的5 大管理功能。
掌握操作系统原理的关键在于深入理解"一个观点、 两条线索"。
一个观点是以资源管理的观点来定义操作系统; 两条线索是指操作系统如何管理计算机各类资源和控制程序的执行。
操作系统如何实现对这些资源的管理, 其内涵、 设计和实现是本章的主要内容。
操作系统的类型与结构
计算机系统由硬件和软件两部分组成。 操作系统是计算机系统中最基本的系统软件, 它既管理计算机系统的软、 硬件资源, 又控制程序的执行。
操作系统随着计算机研究和应用的发展逐步形成并日趋成熟, 它为用户使用计算机提供了一个良好的环境, 从而使用户能充分利用计算机资源, 提高系统的效率。
操作系统的基本类型有: 批处理操作系统、 分时操作系统和实时操作系统。
从资源管理的角度看, 操作系统主要是对处理器、 存储器、 文件、 设备和作业进行管理 。
1、操作系统的定义
操作系统( Operating System, OS) 是计算机系统中的核心系统软件, 负责管理和控制计算机系统中的硬件和软件资源, 合理地组织计算机工作流程和有效地利用资源, 在计算机与用户之间起接口的作用。
操作系统为用户提供的接口表现形式一般为: 命令、 菜单、 窗口之类的, 而操作系统为应用程序提供的接口为 API。
操作系统与硬件/软件的关系如图所示。
2、操作系统分类
按照操作系统的功能划分, 操作系统的基本类型有批处理操作系统、 分时操作系统、 实时操作系统、 网络操作系统、 分布式操作系统、 嵌入式操作系统、 微内核操作系统等。
操作系统基本原理
操作系统的主要功能是进行处理机与进程管理、 存储管理、 设备管理、 文件管理和作业管理的工作, 操作系统是如何完成这些功能的。
1、进程管理
处理机是计算机系统的核心资源。 操作系统的功能之一就是处理机管理。 随着计算机的迅速发展, 处理机管理显得更为重要, 这主要由于计算机的速度越来越快, 处理机的充分利用有利于系统效率的大大提高; 处理机管理是整个操作系统的重心所在, 其管理的好坏直接影响到整个系统的运行效率; 而且操作系统中并发活动的管理和控制是在处理机管理下实现的, 处理机管理集中了操作系统中最复杂的部分, 它设计的好坏关系到整个系统的成败。进程是处理机管理中最基本的、 最重要的概念。 进程是系统并发执行的体现。 由于在多道程序系统中, 众多的计算机用户都以各种各样的任务, 随时随地争夺使用处理机。
为了动态地看待操作系统, 则以进程作为独立运行的基本单位, 以进程作为分配资源的基本单位,从进程的角度来研究操作系统。 因此, 处理机管理也被称为进程管理。 处理机管理的功能就是组织和协调用户对处理机的争夺使用, 把处理机分配给进程, 对进程进行管理和控制, 最大限度也发挥处理机的作用。
2、 存储管理
存储器是计算机系统中最重要的资源之一。 因为任何程序和数据以及各种控制用的数据结构都必须占有一定的存储空间, 因此, 存储管理直接影响系统性能。存储器由内存和外存组成。
内存是由系统实际提供的存储单元(常指字节) 组成的一个连续地址空间, 处理器可直接存取。
外存(辅存) 是指软盘、 硬盘、 光盘和磁带等一些外部存储部件, 常用来存放暂不执行的程序和数据。 处理器不能直接访问外存, 需通过启动 I/O (Input/Output, 输入/输出) 设备才能进行内存、 外存交换, 其访问速度慢, 但价格便宜,常用作内存的后援设备。
内存大小由系统硬件决定, 存储容量受到实际存储单元的限制。 虚拟存储器(简称虚存)不考虑实际内存的大小和数据存取的实际地址, 只考虑相互有关的数据之间的相对位置, 其容量由计算机地址的位数决定。
系统中内存的使用一般分成两部分, 一部分为系统空间, 存放操作系统本身及相关的系统程序; 另一部分为用户空间, 存放用户的程序和数据。
存储管理主要是指对内存储器的管理, 负责对内存的分配和回收、 内存的保护和内存的扩充。
存储管理的目的是尽量提高内存的使用效率。 存储管理的机制经历了多次变迁, 由以前的单一连续区管理到分区存储管理再发展为段页式管理。 目前前两种技术已逐步被淘汰,下面我们将详细解读段页式存储管理。
3、设备管理
设备管理在计算机系统中, 除了处理器和内存之外, 其他的大部分硬设备称为外部设备。
它包括输入/输出设备, 辅存设备及终端设备等。 这些设备种类繁多, 特性各异, 操作方式的差异很大, 从而使操作系统的设备管理变得十分繁杂。
在架构师考试中, 设备管理需要掌握的知识内容较少, 主要为两个方面:
1、数据传输控制方式
设备管理的主要任务之一是控制设备和内存或 CPU 之间的数据传送, 本节介绍几种常用的数据传送控制方式。
2、虚设备与 SPOOLING 技术
采用假脱机技术, 可以将低速的独占设备改造成一种可共享的设备, 而且一台物理设备可以对应若干台虚拟的同类设备。 假脱机( Simultaneous Peripheral Operation On Line, SPOOLING) 的意思是外部设备同时联机操作, 又称为假脱机输入/输出操作, 采用一组程序或进程模拟一台输入/输出处理器。
4、文件管理
操作系统对计算机的管理包括两个方面: 硬件资源和软件资源。 硬件资源的管理包括CPU 的管理、 存储器的管理、 设备管理等, 主要解决硬件资源的有效和合理利用问题。
软件资源包括各种系统程序、 各种应用程序、 各种用户程序, 也包括大量的文档材料、库函数等。 每一种软件资源本身都是具有一定逻辑意义的相关信息的集合, 在操作系统中它们以文件形式存储。
计算机系统的重要作用之一是能快速处理大量信息, 因此数据的组织、 存取和保护成为一个极重要的内容。
文件系统是操作系统中组织、 存取和保护数据的一个重要部分。
文件管理的功能包括: 建立、 修改、 删除文件; 按文件名访问文件; 决定文件信息的存放位置、 存放形式及存取权限; 管理文件间的联系及提供对文件的共享、 保护和保密等。
允许多个用户协同工作又不引起混乱。 文件的共享是指一个文件可以让多个用户共同使用, 它可以减少用户的重复性劳动, 节省文件的存储空间, 减少输入/输出文件的次数等。 文件的保护主要是为防止由于错误操作而对文件造成的破坏。
文件的保密是为了防止未经授权的用户对文件进行访问。文件的保护、 保密实际上是用户对文件的存取权限控制问题。
一般为文件的存取设置两级控制: 第 1 级是访问者的识别, 即规定哪些人可以访问; 第 2 级是存取权限的识别, 即有权参与访问者可对文件执行何种操作。
5、作业管理
从用户的角度看, 作业是系统为完成一个用户的计算任务(或一次事务处理) 所做的工作总和。 例如, 对于用户编制的源程序, 需经过对源程序的编译、 连接编辑或连接装入及运行产生计算结果。
这其中的每一个步骤, 常称为作业步, 作业步的顺序执行即完成了一个作业。从系统的角度看, 作业则是一个比程序更广的概念。
它由程序、 数据和作业说明书组成。系统通过作业说明书控制文件形式的程序和数据, 使之执行和操作。 而且, 在批处理系统中,作业是占据内存的基本单位。
用户的作业可以通过直接的方式, 由用户自己按照作业步顺序操作; 也可以通过间接的方式, 由用户率先编写的作业步依次执行的说明, 一次交给操作系统, 由系统按照说明依次处理。 前者称为联机方式, 后者称为脱机方式。
最后
如果你觉得这篇文章对你有帮助,不妨点个赞支持一下!你的支持是我继续分享知识的动力。如果有任何疑问或需要进一步的帮助,欢迎随时留言。也可以加入微信公众号 [DotNet技术匠] 社区,与其他热爱技术的同行一起交流心得,共同成长!优秀是一种习惯,欢迎大家留言学习!