一、计算机的系统结构
硬件:处理机(CPU)、内存、I/O设备。
软件与硬件的关系
- 硬件:计算机系统工作的基础。
- 软件:提高计算机系统效率和方便用户使用计算机的程序,完成一定的处理任务。
- 它们二者相互依赖、相互促进、共同发展。
- 裸机(硬件)是僵尸,软件是灵魂。
二、操作系统的定义
基本概念
1.科普的观点:操作系统是计算机系统的管理和控制中心,它依照设计者制定的各种调度策略组织和管理计算机系统资源,使之能高效地运行。
2.功能的观点:操作系统是一个计算机资源管理控制系统,它负责计算机系统的全部资源地分配、控制、调度和回收。
3.用户的观点:操作系统是计算机与用户之间的接口,用户通过这种接口使用计算机。
4.软件地观点:操作系统是程序和数据结构的集合。
5.管理的观点:操作系统是计算机硬件和软件资源合理而协调的管理者。
6.操作系统是一个大型的系统软件,它负责计算机的全部软、硬件资源的分配、调度工作,控制并协调并发活动,实现信息的存取和保护。它提供用户接口,使用户获得良好的工作环境。操作系统使整个计算机系统实现了高效率和高度自动化。
总结:
1.管理和控制资源
2.组织工作流程
3.提供用户界面
计算机系统的视图
- OS:对计算机硬件的第一层扩充;
- 其它软件系统基于OS之上;
- 操作系统内的操作者包括集中类别:一般用户、操纵者、管理员。【注意区别于OS的用户(使用者、程序)】
操作系统的基本功能
操作系统的基本功能包括:(1)提供人机交互界面(虚拟机);(2)资源管理。对应OS定义中的两大方面。
人机交互
目标:提供一个友好的用户访问操作系统的接口。
1.系统命令:供用户组织和控制自己的作业运行。
- 形式:命令行、菜单式、GUI、命令脚本;
- 控制方式:联机、脱机.
2.编程接口:供用户程序和系统程序调用操作系统功能。
- 系统调用、高级语言库函数。
资源管理
文件管理
解决软件资源的存储、共享、保密和保护。
如何更好地组织文件;方便使用。
- 文件存储空间管理:解决如何存放信息,以提高空间利用率和读写性能。
- 目录管理:解决信息检索问题。文件的属性(如文件名)、单一副本赋予多文件名。
- 文件的读写管理和存取控制:解决信息安全问题。系统设口令“哪个用户”、用户分类“哪个用户组”、文件权限“针对用户或用户组的读写权”。
- 软件管理:软件的版本、相互依赖关系、安装和拆除等。
存储管理
管理目标:提高利用率、方便用户使用、提供足够的存储空间、方便进程并发运行。
管理主存资源,即内存。(不管理外存)。
- 存储分配与回收;
- 存储保护:保证进程间互不干扰、相互保密;如:访问合法性检查、甚至要防止从“垃圾”中窃取其它进程的信息;
- 地址映射(变换):进程逻辑地址到内存物理地址的映射;
- 内存扩充(覆盖、交换和虚拟存储):提高内存利用率、扩大进程的内存空间;
- 同一类型内的公平性、高效率(吞吐量大)、作业周转时间等。
设备管理
目标:方便设备的使用、提高CPU与I/O设备利用率;
管理对象:外部设备。(不包括:处理器、主存)
- 设备操作:利用设备驱动程序(通常在内核中)完成对设备的操作。还需处理设备的IRQ。
- 设备独立性:提供统一的I/O设备接口,使应用程序独立于物理设备,提高可适应性;在同样的接口和操作下完成不同的内容(如FAX Modem作为Windows上的打印机设备)。
- 设备分配与回收:在多用户间共享I/O设备资源。(虚拟设备:设备有多个进程共享,每个进程如同独占。)
- 缓冲区管理:匹配 CPU和外设的速度,提高两者的利用率(单缓冲区、双缓冲区和公共缓冲区)
处理器和进程管理
完成处理器资源的分配调度等功能。处理机调度的单位可为进程或线程。
充分利用处理器。
两部分工作:(1)处理中断事件;(2)进行处理器调度(调度策略)。
- 进程控制:创建、撤销、挂起、改变运行优先级等——主动改变进程的状态。
- 进程同步:协调并发进程之间的推进步骤,一协调资源共享;——交换信息能力弱。
- 进程通信:进程之间传送数据,以协调进程之间的协作,也可以协调进程之间的推进。——交换信息能力强。
- 进程调度:作业和进程的运行切换,以充分利用处理及资源和提高系统性能。【未必是进程控制操作所引起的(可能是时间片轮转、I/O操作)。
作业管理
管理计算机中任务(宏观上)。
- 提供“作业控制用户语言”供用户写作业说明书。
- 作业调度:在满足资源需求的情况下,选择哪些作业投入运行。
- 方法:先来先服务、最短作业优先、响应比最高者优先、优先数法、分类调度法等。
- 注:通常在大中型操作系统中,才提供作业管理的功能。一般危机操作系统以及单用户操作系统不考虑作业管理的功能。
三、操作系统的分类
分类原则:按操作系统所提供的功能分
1.单用户操作系统
(1)基本特征:
- 一个用户独占计算机系统资源。系统所有软、硬件资源全为一个用户服务,单独地执行该用户提交一个的任务。
(2)常用的单用户操作系统:
- 单用户单任务:MS DOS;CP/M
2.批处理操作系统
(1) 作业的处理流程:
- 作业提交:作业的输入;
- 作业执行;
- 作业完成L作业的输出。
(2)特征:
- 用户脱机使用计算机;
- 成批处理。
(3)分类:
- 单道批处理系统:MS DOS
- 多道批处理系统:IBM DOS
单道和多道批处理的比较
区别:
- 作业道数;
- 作业处理方式。
3.实时操作系统
特征:解决对时间要求高的问题。
- 专用系统:许多实时系统是专用系统。
- 实时控制:实时系统用于控制实时过程,要求对外部事件的迅速响应,具有较强的中断处理机构。
- 高可靠性:实时系统用于控制重要过程,要求高度可靠,具有较高冗余。如双机系统。
- 事件驱动和队列驱动:实时系统的工作方式:接受外部消息,分析消息,调用相应处理程序进行处理。
- 可与通用系统结合成通用实时系统:实时处理前台作业,批处理为后台作业。
- 人工干预少。
4.分时操作系统
特征:
(1)解决多人同时使用机器的要求。
(2)以时间片方式分配工作。
同时性:多个用户同时工作。 ——共享系统资源,提高了资源利用率。节省维护开支。 ——可靠性高:笨终端——至今人在使用。促进了计算机的普遍应用,提高资源利用率,远地用户通过终端(较便宜)联机使用。
独立性:各用户独立操作,互不干扰。
交互性:系统能及时对用户的操作进行响应,显著提高调试和修改程序的效率,缩短了周转时间。
及时性:用户的请求能在较短时间内得到响应。
分时OS与多道批处理OS的区别
5.网络操作系统
网络操作系统是提供网络通信和网络资源共享功能的操作系统。
功能:
- 通常操作系统的功能:处理机管理、存储器管理、设备管理、文件管理等;
- 网络通信功能:通过网络协议进行高效、可靠的数据传输;
- 网络资源管理:协调各用户使用;
- 网络服务:文件和设备共享,信息发布;
- 网络管理:安全管理、故障管理、性能管理等。
6.分布式操作系统
特征:
- 系统中任意两台计算机可以通过通信来交换信息。
- 系统中各台计算机无主次之分,既没有控制整个系统的主机,也没有受控于它机的从机。
- 系统资源为所有用户共享。
- 系统中若干台计算机可以互相协作来完成一个共同任务,或者说,一个程序可以分布于几台计算机上并行地运行。
7.嵌入式操作系统
- 嵌入式操作系统(Embedded Operating System,简称:EOS)是指用于嵌入式系统的操作系统。
- 通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。
- 它必须体现其所在系统的特征,能够通过装卸某些模块来带到系统所要求的功能。
- 常用的有:嵌入式Linux、Windows Embedded、VxWorks等,以及应用在智能手机和平板电脑的Android、iOS等。
四、操作系统的运行环境
与操作系统的资源管理功能密切相关的硬件环境:
- CPU
- 特权指令:指令系统中那些智能由操作系统使用的指令。
- 处理器状态:多数系统将处理器工作状态较简单地划分为管态(一般指操作系统管理程序运行的状态)和目态(用户程序运行是的状态)。【执行不同程序时,对处理器设置的不同状态。】
- 程序状态字(PWS):用来指示处理器状态。
五、操作系统的结构
随着操作系统的发展,功能越强,OS自身代码量越大——采用良好的结构:有利于保证正确性以及自身修改和扩充。
- 软件组件化:OS也是一种软件,用软件工程的方法来组织。
- 分层:每层完成操作系统要求的一个功能子集,每层都依赖紧挨着的较低一层的功能,并且为较高层提供服务。