操作系统基础
操作系统及其特征
操作系统的概念
操作系统是:
- 管理和控制计算机硬件与软件资源的计算机程序的集合;
- 操作系统直接运行在“裸机”之上,是最基本的系统软件,其他软件都必须在操作系统的支持下才能运行。
操作系统是:
- 能有效地组织和管理计算机系统中的硬件和软件资源,合理地组织计算机工作流程,控制程序的执行;
- 并向用户提供各种服务功能,使得用户能够有效、合理、方便地使用计算机;
- 并使整个计算机系统能高效地运行的一组程序模块的集合。
操作系统是:
- 硬件与所有其他软件的接口;
- 是用户与计算机交互通讯的桥梁;
- 是用户管理、控制、使用计算机系统的中心。
系统管理员和程序员角度的操作系统 | 用户或使用者角度的操作系统 |
---|
为用户提供一台等价的扩展机器,也称虚拟机,它比底层硬件更容易编程。 | 是系统的资源管理者。 |
操作系统的重要作用:
- 是通过资源管理提高计算机系统的效率,改善人机交互界面向用户提供友好的工作环境。
操作系统的特征
(1) 并发性(concurrency)
- 宏观上,多程序同时运行;微观上,单程序分时执行(或交替执行)
(2) 共享性(sharing)
(3) 虚拟性(virtual)
- 虚拟性是指通过特定的技术将一个物理实体设备划分为若干个功能相同的逻辑单位,以扩展原设备的功能,支持多程序并发处理;如虚拟处理机(CPU)、虚拟内存器等
(4) 异步性(asynchronism)
- 多道程序环境下,允许多个程序并发执行,但当某种资源冲突时,某个程序进程不一定是连续的,可能需要分时、分步进行,即进程的异步性。
操作系统的类型
操作系统的类型
批处理操作系统
- 多道程序或任务,系统管理分批处理
分时操作系统 - 操作系统将CPU的时间划分为若干时间片,以时间片为单位,将资源轮流提供给不同的用户或程序进程
典型的操作系统是分时批处理操作系统:遵守“分时优先,批处理在后”资源分配原则
实时操作系统
网络操作系统
分布式操作系统
- 系统资源分布于网络中不同的计算机,资源查找-资源分配
桌面操作系统
- 用来控制单台计算机,常用于台式机和笔记本计算机;大部分单机操作系统可以联网;与其他计算机上的网络操作系统协同工作,作为客户机操作系统。
硬件的角度 | 原件的角度 |
---|
PC机,Mac机 | UNIX操作系统,windows操作系统 |
嵌入式操作系统
- 嵌入式单片机的操作系统,是嵌入式系统的一个重要组成部分,存储在嵌入设备内部的 ROM 中。
典型操作系统
UNIX
- 可以在大型机、小型机、工作站、各种 CPU 、各种档次的计算机上运行;
- 运行稳定、可靠;
- 较强的安全性控制;
- 大型网络服务器主要采用的操作系统;
- 标准化程度很高;
- GUI 和命令行界面
Linux
- 免费使用和自由传播的类Unix操作系统
- 继承了Unix以网络为核心的设计思想,稳定、可靠、安全
- 较流行的版本有:
○ RedHat Linux
○ Debian Linux
○ RedFlag Linux,首个国产的操作系统
Mac OS
- Apple公司的Macintosh 计算机上运行
- 拥有最先进的GUI技术
- 要求 CPU 是 PowerPC 微处理器
- 在影视、广告等媒体传播行业广泛使用
Windows
- 主流的微机操作系统。
- 要求 CPU 是 Intel 微处理器。
- 具有简单、易学、易用的图形用户界面(Graphical User Interface,GUI)。
移动及手机操作系统
Android(谷歌)、iOS(苹果)、Windows Phone(微软)、Symbian(塞班,诺基亚)、BlackBerry OS(黑莓)、HarmonyOS(鸿蒙,华为)
操作系统的功能
操作系统的功能可以从资源管理的角度和从方便用户(人机交互) 的角度来理解。
资源管理
计算机系统的设备资源和信息资源(硬件资源和软件资源)都是操作系统根据用户需求按一定的策略来进行分配和调度的。
操作系统功能示意图
处理机管理
处理机管理的核心是如何有效地、合理地分配处理机的时间,提高系统的效率。
进程
- 进程是正在运行的程序,是程序及其数据在计算机机上执行时所发生的一次运行活动。它是操作系统动态执行的基本单元。
- 进程作为一个过程,由输入、处理、输出各阶段组成,每个阶段可能又分为若干个基本的步骤
程序与进程
- 程序是指令的集合,是静态的,进程是程序在计算机上的执行过程,是动态的;
- 程序是可以永久保存的,进程是有生命周期的,进程执行完成后终止消失;
- 程序可以多次执行,每次执行时可能产生不同的多个进程;
- 程序指令可以分解为不同的进程组合;
处理机管理的核心是进程管理
- 包括进程控制(创建,撤销,模态转换)、过程同步、进程通讯、进程调度
进程的三态模型
进程三态模型
进程调度
- 当有多个进程(或多个进程发出的请求)要使用处理机资源时,因为资源的有限性,必须按照一定的原则选择进程来占用资源,这就是进程调度。
- 常用的进程调度算法有先来先服务调度算法、时间片轮转调度算法、优先数法等。
线程
- 很多操作系统把进程再细分为线程;线程有时被称为轻量级进程(Lightweight Process,LWP),是进程内一个相对独立的执行单元。
存储器管理
存储管理的主要功能包括:
设备管理
- 设备管理是指负责管理各类外围设备,包括分配、启动和故障处理等。
- 设备管理的任务就是动态地掌握并记录设备的状态、为用户分配及释放设备、提高设备利用率、方便用户有使用设备等。
文件管理
- 文件管理是对信息资源的管理。操作系统负责管理和存取文件,为用户提供一个简单、统一的访问文件的方法。
文件管理: - 对文件系统进行组织,维护文件目录的结构,实现对文件的各种操作;用户对文件实现按名存取,而不必考虑文件如何保存以及存放的位置;允许对文件规定使用权限,保证数据安全性。
- 文件结构与组织;
- 文件目录管理;
- 文件存取方法;
- 文件的使用;
- 文件共享与保护。
作业管理
- 每个用户请求计算机系统完成的一个独立的操作称为作业(job)。作业由程序、数据和作业说明书3部分组成。
- 作业管理包括作业的输入和输出,作业的调度与控制。
人机交互和操作界面
人机交互
- 操作系统是用户和计算机的接口,人机交互功能是决定计算机系统“友善性”的一个重要因素;
- 人机交互功能主要由输入输出设备和相应的软件来完成,人机交互的主要作用是控制有关设备的运行,理解并执行通过设备传来的有关命令和要求。
操作系统的界面形式
-
交互终端命令:Command line,主要用于分时操作系统,大多由专业人员使用
-
图形用户界面:GUI-Graphic User Interface,界面友好,操作简单(窗口、标题、菜单、图标、对话框),微型机常见,适合非专业人员使用
-
作业控制语言:Job Control Language,一般适用于批处理操作系统,大多由系统管理人员使用
-
系统调用命令:System call,或者API-Application Program Interface-应用程序界面,
操作系统的研究与发展
操作系统的发展
操作系统的演变过程
- 计算机操作系统的演变可以分为三条发展线索,分别是主机操作系统、服务器操作系统和个人计算机操作系统。
操作系统的发展推动力
- 操作系统是在人们不断改善计算机系统性能和提高资源利用率的过程中逐步形成和发展而来的。推动操作系统发展的主要动力是“需求推动发展”。
- 第一,硬件的不断升级与新的硬件产品出现,需要操作系统提供更多、更复杂的支持;
- 第二,新的服务需求,操作系统为了满足系统管理者和用户需求,需要不断扩大服务范围;
- 第三,修补操作系统自身的错误,操作系统在运行的过程中其自身的错误也会不断地被发现,因此需要不断地修补操作系统自身的错误(即所谓的“补丁”)。
操作系统的发展趋势
- 随着计算机不断普及,操作系统的功能会变得越来越复杂。在这种趋势下,操作系统的发展将面临两个方向的选择:
- 一是向微内核方向发展
- 二是向大而全的全方位方向发展。
操作系统的研究方法
研究操作系统的观点
- 软件的观点。
- 资源管理的观点。
- 进程的观点。
- 虚机器观点。
- 服务提供者观点。
操作系统的结构
操作系统的层次结构图
- 驱动程序:管理、控制、监视各类硬件;
- 内核:各类函数集合,提供基础性、结构性的功能及服务;
- 接口库:应用程序的编程接口(API);
- 外围:提供专门高级服务的部件(不是必须的)
操作系统的结构设计
- 整体式系统结构设计。
- 层次式系统结构设计。
- 微内核系统结构设计。
操作系统的启动(补充)
- 启动操作系统的过程是指将操作系统从外部存储设备装载到内存并开始运行的过程,Windows操作系统的启动过程如下:
(1)机器加电(或者按下Reset);
(2)CPU自动运行BIOS的自检程序;
(3)CPU自动运行BIOS的自检程序,从外部存储设备的引导扇区读出引导程序装入内存;
(4)CPU运行引导程序,从外部存储设备读出操作系统装入内存;
(5)CPU运行操作系统。