计算机软件分为:系统软件和应用软件。
系统软件:是计算机系统的一部分,用来支持应用软件的运行。
应用软件:是指计算机用户利用计算机的软件、硬件资源为某一专门的应用目的而开发的软件。
操作系统定义:能有效地组织和管理系统中的各种软/硬件资源,合理地组织计算机系统工作流程,控制程序的执行,并且向用户提供一个良好的工作环境和友好的接口。
操作系统作用:1.通过资源管理提高计算机系统的效率;2.改善人机界面向用户提供友好的工作环境。
管理系统的硬件、软件、数据资源
控制程序运行
人机之间的接口
应用软件与硬件之间的接口
分类 | 说明 |
---|---|
单道批处理 | 可以提交多个作业,“单道”是指一次只有一个作业装入内存执行 |
多道批处理 | 允许多个作业装入内存执行,特点:多道、宏观上并行运行、微观上串行运行 |
一个计算机系统与多个终端设备连接。分时操作系统是将 CPU 的工作时间划分为许多很短的时间片,轮流为各个终端的用户服务。
特点:多路性、独立性、交互性和及时性
实时是指计算机对于外来信息能够以足够快的速度进行处理,并在被控对象允许的时间范围内做出快速反应。实时系统对交互能力要求不高,但要求可靠性有保障。
分类 | 作用 | 举例 |
---|---|---|
实时控制系统 | 主要用于生产过程的自动控制 | 火炮自动控制 |
实时信息处理系统 | 主要用于实时信息处理 | 飞机订票系统 |
分时系统和实时系统的比较:
分时系统 | 实时系统 | |
---|---|---|
设计目标不同 | 设计成一个多用户的通用系统,交互能力强 | 实时系统大多是专用系统 |
交互性的强弱不同 | 多用户的通用系统,交互能力强 | 专用系统,仅允许操作有限的专用程序,不能随便修改,且交互能力差 |
响应时间的敏感程度不同 | 以用户能接收的等待时间为系统的设计依据 | 以被测物体所能接受的延迟为系统设计依据,对响应时间的敏感程度更强 |
网络操作系统:是使联网计算机能方便而有效地共享网络资源,为网络用户提供各种服务的软件和有关协议的集合。
网络操作系统的特征:硬件独立性、多用户支持
网络操作系统分类:集中模式、客户端/服务器模式、对等模式
分布式计算机系统:是由多个分散的计算机经连接而成的计算机系统,无主次之分,任意两台计算机可以通过通信交换信息。通常,为分布式计算机系统配置的操作系统称为分布式操作系统。
分布式操作系统既有网络操作系统的全部功能,同时又有透明性、可靠性和高性能等特性。
微型计算机操作系统简称微机操作系统,常用的有 Windows、Mac OS、Linux。
嵌入式操作系统运行在嵌入式智能芯片环境中。
特点: 微型化、可定制、实时性、可靠性、易移植性
略
进程是资源分配和独立运行的基本单位,
前趋图是一个有向无循环图,由结点和有向边组成,结点代表各程序段的操作,而结点间的有向边表示两个程序段操作之间存在的前趋关系。
分类 | 特征 | 图 |
---|---|---|
程序顺序执行 | 顺序性、封闭性和可再现性。输入是计算的前驱(计算是输入的后继) | |
程序并发执行 | 1.失去了程序的封闭性; 2.程序和机器的执行程序的活动不再一一对应;3.并发程序间的相互制约性 |
进程是程序的一次执行。
进程通常由程序、数据和进程控制块(PCB)组成。
PCB 是进程存在的唯一标志
信息 | 含义 |
---|---|
进程标识符 | 标明系统中的各个进程 |
状态 | 说明进程当前的状态 |
位置信息 | 指明程序及数据在主存或外存的物理位置 |
控制信息 | 参数、信号量、消息等 |
队列指针 | 链接同一状态的进程 |
优先级 | 进程调度的依据 |
现场保护区 | 将处理机的现场保护到该区域,以便再次调度时能继续正确运行 |
其他 | 因不同的系统而异 |
程序部分描述了进程需要完成的功能
数据部分包括程序执行时所需的数据及工作区。该部分只能为一个进程所专用,是进程的可修改部分。
运行、就绪和阻塞
状态 | 说明 |
---|---|
运行 | 当一个进程在处理机上运行时,则称该进程处于运行状态 |
就绪 | 一个进程获得了除处理机外的一切所需资源,一旦得到处理机即可运行,则称该进程处于就绪状态 |
阻塞 | 阻塞也称等待或睡眠状态,一个进程正在等待某一事件发生,而暂时停止 |
运行、就绪和阻塞、新建、终止
状态 | 说明 |
---|---|
新建 | 进程刚刚被创建时没有被提交的状态。第一个阶段为一个新进程创建必要的管理信息;第二个阶段让该进程进入就绪状态 |
终止 | 第一个阶段等待操作系统进行善后处理,第二个阶段释放主存 |
进程挂起
状态 | 说明 |
---|---|
活跃就绪 | 是指进程在主存并且可被调度的状态 |
静止就绪 | 是指就绪进程被对换到辅存时的状态,它是不能被直接调度的状度 |
活跃阻塞 | 活跃阻塞是指进程在主存,一旦等待的事件产生便进入活跃就绪状态 |
静止阻塞 | 静止阻塞是指阻塞进程对换到辅存时的状态 |
进程控制就是对系统中的所有进程从创建到消亡的全过程实施有效的控制。
控制机构主要功能:创建新进程、撤销进程、改变进程状态、实现进程间的通信。
进程控制由操作系统 内核(Kernel) 中 原语(Primitive) 实现的。
原语 (Primitive) 是指由若干条机器指令组成的,用于完成特定功能的程序段,具有原子性。
进程通信是指各个进程交换信息的过程。
临界资源:诸进程间需要互斥方式对其进行共享的资源,如打印机、磁带机等。
临界区:每个进程中访问临界资源的那段代码,称为临界区。
信号量:是一种特殊的变量。
同步是合作进程间的直接制约问题,互斥是申请临界资源进程间的间接制约问题。
所谓进程间的同步是指在系统中一些需要相互合作,协同工作的进程,这样的相互联系称为进程的同步。例如缓冲区的输送和取出进程
进程的互斥是指系统中多个进程因争用临界资源而互斥执行。例如:打印机
临界资源:诸进程间需要互斥方式对其进行共享的资源,如打印机、磁带机等
临界区 (Critical Section,CS) 是进程中对临界资源实施操作的那段程序。
临界区管理的4条原则:有空即进、无空则等、有限等待、让权等待
是一种进程同步与互斥工具。主要有整型信号量、记录型信号量和信号量集机制。
信号量是一个整型变量,分为两类:公用信号量和私用信号量。
信号量 S 的物理意义: S>=0 表示某资源的可用数,若 S<0,则其绝对值表示阻塞队列中等
待该资源的进程数。
PV操作是实现进程同步与互斥的常用方法。
P 操作和 V 操作是低级通信原语,P 操作表示申请一个资源,V操作表示释放一个资源。
根据交换信息量的多少和效率的高低,进程通信的方式分为低级方式和高级方式。
PV操作属于低级通信方式。
高级通信方式 | 说明 |
---|---|
共享存储模式 | 相互通信的进程共享某些数据结构(或存储区) 实现进程之间的通信 |
消息传递模式 | 进程间的数据交换以消息为单位,程序员直接利用系统提供的一组通信命令(原语)来实现通信,如 Send(A)、Receive(A) |
管道通信 | 所谓管道,是指用于连接一个读进程和一个写进程,以实现它们之间通信的共享文件 (pipe 文件)。向管道(共享文件)提供输入的发送进程(即写进程),以字符流的形式将大量的数据送入管道:而接收进程可从管道接收大量的数据。 |
基本思路是采用资源集中管理的方法,将系统中的资源用某种数据结构抽象地表示出来。由于临界区是访问共享资源的代码段,建立一个管程管理进程提出的访问请求。
管程由一些共享数据、一组能为并发进程所执行的作用在共享数据上的操作的集合、初始代码以及存取权组成。
进程调度方式是指当有更高优先级的进程到来时如何分配 CPU。
调度方式 | 说明 |
---|---|
可剥夺式 | 强行将正在运行进程的 CPU 分配给高优先级的进程 |
不可剥夺式 | 必须等待正在运行进程自动释放占用的 CPU,然后将 CPU 分配给高优先级的进程 |
一个作业从提交到完成需要经历高、中、低三级调度。
固定时间片、可变时间片
静态优先级和动态优先级
多级反馈调度算法是时间片轮转算法和优先级算法的综合与发展。其优点有三个方面:
第一,照顾了短进程以提高系统吞吐量、缩短了平均周转时间
第二,照顾 IO 型进程以获得较好的 IO 设备利用率和缩短响应时间
第三,不必估计进程的执行时间,动态调节优先级。
两个以上的进程互相都要求对方已经占有的资源,导致无法继续进行下去的现象。
原因:竞争资源及进程推进顺序非法
条件:互斥条件、请求保持条件、不可剥夺条件和环路条件
进程资源有向图 | 说明 |
---|---|
方框 | 资源 |
圆圈 | 进程 |
有向边 | 请求资源 ○ → □ ; 分配资源 □ → ○ |
鸵鸟策略(不理睬策略)、预防策略、避免策略和检测与解除死锁
死锁预防是采用某种策略限制并发进程对资源的请求,破坏死锁产生的 4个必要条件之一,使系统在任何时刻都不满足死锁的必要条件。严格防止死锁的产生
死锁避免算法:银行家算法
定时地运行一个死锁检测程序,判断系统是否发生死锁,若检测到有死锁,则设法解除
传统的进程有两个基本属性:可拥有资源的独立单位、可独立调度和分配的基本单位。
因为进程在创建、撤销和切换中,系统必须付出较大的开销,故在系统中的进程数目不宜过多,且切换频率不宜过高,限制了并发程度。所以引入了线程。
线程作为调度和分配的基本单位;进程作为拥有资源的独立单位。
线程有就绪、运行和阻塞状态。
线程分为用户级线程和内核支持线程。
存储器管理的对象是主存存储器,简称主存或内存。
存储器管理的主要功能包括主存空间的分配和回收、提高主存的利用率、扩充主存、对主存信息实现有效保护。
常用的存储器结构有“寄存器-主存-外存”结构和“寄存器-缓存-主存-外存”结构
又叫相对地址、程序地址或逻辑地址
逻辑地址空间,简称地址空间,是逻辑地址的集合
绝对地址空间(物理地址空间),简称存储空间,是物理地址的集合
地址重定位是指将逻辑地址变换成主存物理地址的过程。
地址重定位分为静态地址重定位和动态地址重定位
静态重定位是指在程序装入主存时已经完成了逻辑地址到物理地址的变换,在程序的执行期间将不会再发生变化。
优点:无须硬件地址变换机构的支持,它只要求程序本身是可重定位的。
缺点:必须给作业分配一个连续的存储区域,在作业的执行期间不能扩充存储空间,也不能在主存中移动,多个作业也难以共享主存中的同一程序副本和数据。
动态重定位是指在程序运行期间完成逻辑地址到物理地址的变换。依赖硬件地址变换机构,如基地址寄存器(BR)
优点:程序在执行期间可以换入和换出主存;可以在主存中移动;不必给程序分配连续的主存空间;可以实现共享
存储管理的主要目的是解决多个用户使用主存的问题,其存储管理方案主要包括分区存储管理、分页存储管理、分段存储管理、段页式存储管理以及虚拟存储管理。
基本思想是把主存的用户区划分成若干个区域,每个区域分配给一个用户作业使用,并限定它们只能在自己的区域中运行。
按划分方式不同,分区可分为固定分区、可变分区和可重定位分区
固定分区是一种静态分区方式,在系统生成时将主存划分为若干个分区。
通常将已分配分区内的未用空间称为零头或内碎片。
可变分区是一种动态分区方式,存储空间的划分是在作业装入时进行的。
可变分区分配需要两种管理表格:已分配表和未分配表
基本思想是移动所有已分配号的分区,使之成为连续区域
分区保护的目的是防止未经核准的用户访问分区,常用如下两种方式。
上界寄存器<=物理地址<=下界寄存器
基址寄存器<=物理地址<基址寄存器+限长寄存器
将一个进程的地址空间划分成若干个大小相等的区域,称为页。
当进程的多个页面离散地分配到主存的多个物理块时,系统应能保证在主存中找到进程要访问的页面所对应的物理块。为此,系统为每个进程建立了一张页面映射表,简称页表(如图4-17 所示)。每个页在页表中占一个表项,记录该页在主存中对应的物理块号。
在地址映射机构中增加一个小容量的联想存储器,联想存储器由一组高速存储器组成,称之为快表,用来保存当前访问频率高的少数活动页的页号及相关信息。
将页表进行分页,每个页面的大小与主存物理块的大小相同,并为它们进行编号,可以离散地将各个页面分别存放在不同的物理块中。为此需要建立一张页表,称为外层页表 (页表目录),即第一级是页目录表,其中的每个表目是存放某个页表的物理地址:第二级是页表,其中的每个表目所存放的是页的物理块号。
每个段是一组完整的逻辑信息,例如主程序段、子程序段、数据段及堆栈段。段的地址结果由段号(名)和段内地址两部分组成。一个作业最多64kb个段,每个段最大长度64kb
既具有分页系统能有效地提高主存利用率的优点,又具有分段系统能很好地满足用户需要的长处,显然是一种比较有效的存储管理方式。
地址结构由段号、段内页号和页内地址三部分组成。
在段页式系统中逻辑地址到物理地址的变换过程如下:
如果一个作业只部分装入主存便可开始启动运行,其余部分暂时留在磁盘上,在需要时再装入主存,这样可以有效地利用主存空间。人们把这样的存储器称为虚拟存储器。
程序的局限性表现在时间局限性和空间局限性。
虚拟存储器是具有请求调入功能和置换功能,能仅把作业的一部分装入主存便可运行作业存储器系统,是能从逻辑上对主存容量进行扩充的一种虚拟的存储器系统。
主要有3中方式
设备是计算机系统与外界交互的工具,常称为外部设备。
将负责管理设备和输入/输出的机构称为 I/O 系统。
I/O系统包括:设备、控制器、通道、总线和I/O软件组成。
分类依据 | 分类 |
---|---|
数据组织分类 | 块设备、字符设备 |
设备的功能分类 | 输入设备、输出设备、存储设备、网络联网设备、供电设备 |
资源分配角度分类 | 独占设备、共享设备、虚拟设备 |
数据传输率分类 | 低速设备、中速设备、高速设备 |
设备管理的目标主要是如何提高设备的利用率,为用户提供方便、统一的界面。
利用的技术:中断技术、DMA 技术、通道技术和缓冲技术。
设备管理的任务是保证在多道程序环境下,当多个进程竞争使用设备时,按一定的策略分配和管理各种设备,控制设备的各种操作,完成 IO 设备与主存之间的数据交换。
设备管理软件的设计水平决定了设备管理的效率。
设计 I/O 软件的主要目标是设备独立性和统一命名.
分为 4 层:中断处理程序、设备驱动程序、与设备无关的系统软件和用户级软件
引入通道的目的是使数据的传输独立于 CPU,使 CPU 从烦琐的 I/O 工作中解脱出来。
根据信息交换方式的不同,将通道分为字节多路通道、数组选择通道和数组多路通道三类。
直接主存存取(DMA),是指数据在主存与I/O设备间直接成块传送。即在主存与 IO 设备间传送一个数据块的过程中不需要 CPU 的任何干涉
缓冲技术可提高外设利用率,尽可能使外设处于忙状态。缓冲技术可以采用硬件缓冲和软件缓冲。硬件缓冲是利用专门的硬件寄存器作为缓冲,软件缓冲是通过操作系统来管理的。
引入缓冲的主要原因有以下几个方面。
Spooling是外围设备联机操作的简称
Spooling 技术,实际上是用一类物理设备模拟另一类物理设备的技术,是使独占使用的设备变成多台虚拟设备的一种技术,也是一种速度匹配技术。
Spooling系统由“预输入程序”,“缓输出程序”,“井管理程序”以及输入井和输出井
磁盘是可被多个进程共享的设备。磁盘调度分为移臂调度和旋转调度。
磁盘调度算法:
当移动臂定位后,有多个进程等待访问该柱面时,应当如何决定这些进程的访问顺序?这就是旋转调度要考虑的问题。显然,系统应该选择延迟时间最短的进程对磁盘的扇区进行访问。
文件 (File) 是具有符号名的、在逻辑上具有完整意义的一组相关信息项的集合。
信息项是构成文件内容的基本单位。一个文件包括文件体和文件说明。
文件管理的关键的问题在于文件的命名
文件管理系统:就是操作系统中实现文件统一管理的一组软件和相关数据的集合,专门负责管理和存取文件信息的软件机构,简称文件系统。
功能:
分类依据 | 类型 |
---|---|
文件性质和用途 | 系统文件、库文件和用户文件 |
信息保存期限 | 临时文件、档案文件和永久文件 |
文件的保护方式 | 只读文件、读/写文件和可执行文件文件和不保护文件 |
UNIX系统 | 普通文件、目录文件和设备文件 |
文件的结构是指文件的组织形式。
从用户角度看到的文件组织形式称为文件的逻辑结构
从实现的角度看,文件在文件存储器上的存放方式称为文件的物理结构。
文件控制块:至少要包括文件名和存放文件的物理地址的数据结构,称为文件控制块(FCB),也叫文件的说明或者文件目录项。
文件目录:文件控制块的有序集合称为文件目录。换句话说,文件目录是由文件控制块组成的,专门用于文件的检索。
包含三类信息:
常见的目录结构:一级目录结构、二级目录结构和多级目录结构
一级目录的整个目录组织是一个线性结构。
二级目录结构是由主文件目录和用户目录组成。
多级目录结构:多道程序设计系统中常采用多级目录结构,像一颗倒置的有根树,也称树形目录结构。
文件的存取方法是指读/写文件存储器上的一个物理块的方法。
顺序存取和随机存取。
常用的空闲空间的管理方法有空闲区表、位示图、空闲块链和成组链接法
将外存空间上的一个连续的未分配区域称为“空闲区”。
每张空闲表,对应一个空闲区。适用于连续文件结构。
空闲表中包含序号、空闲区的第一块号、空闲块的块数和状态。
这种方法是在外存上建立一张位示图 (Bitmap),记录文件存储器的使用情况。
每一位对应文件存储器上的一个物理块,取0和1,表示空闲和占用
每个空闲物理块中有指向下一个空闲物理块的指针,构成链表
UNIX系统采用该方法
操作系统在操作级向用户提供的命令有目录管理类命令、文件操作类命令(如复制、删除和修改) 和文件管理类命令(如设置文件权限) 等。
文件共享是指不同用户进程使用同一文件。
常见的文件链接有硬链接和符号链接两种
文件的硬链接是指两个文件目录表目指向同一个索引结点的链接,该链接也称基于索引结点的链接。换句话说,硬链接是指不同文件名与同一个文件实体的链接。
符号链接建立新的文件或目录,并与原来文件或目录的路径名进行映射,当访问一个符号链接时,系统通过该映射找到原文件的路径,并对其进行访问。
采用存取控制方式进行。
存取控制:就是不同的用户对文件的访问规定不同的权限,以防止文件被未经文件主同意的用户访问。
这是二维矩阵,一维列出计算机的全部用户,另一维列出系统的全部文件。
存取权限有可读R、可写W、可执行X以及它们的组合。
它把用户分成三类:文件主、同组用户和其他用户,每类用户的存取权限为可读、可写、可执行以及它们的组合。在用 Is 长列表显示时,每组存取权限用 3 个字母 R、W、X 表示。
d rwx r-x r-x
文件主 同组用户 其他用户
以用户或用户组为单位将用户可存取的文件集中起来存入表中,这称为用户权限表。
在创建文件时,由用户提供一个密码,在文件存入磁盘时用该密码对文件内容加密。在进行读取操作时,要对文件进行解密。
系统的安全涉及两类不同的问题,一类涉及技术、管理、法律、道德和政治等问题,另一类涉及操作系统的安全机制。
一般从 4 个级别上对文件进行安全性管理:系统级、用户级、目录级和文件级。
指系统抵抗和预防 各种物理性破坏和人为性破坏 的能力。
通过转储操作形成文件或文件系统的多个副本。常用的转储方法有静态转储和动态转储、海量转储和增量转储。
在计算机系统的工作过程中,操作系统把用户对文件的插入、删除和修改操作写入日志文件。
采用文件系统的一致性检查,一致性检查包括块的一致性检查和文件的一致性检查。
作业是系统为完成一个用户的计算任务(或事务处理)所做的工作总和。
每一个步骤称为作业步。
控制作业进入、执行和撤销的程序称为作业管理程序。
控制方式:脱机和联机
脱机控制方式:作业运行的过程是无序人工干预的
联机控制方式:联机命令,需要人工干预
所谓作业控制块(JCB),是记录与该作业有关的各种信息的登记表。
通常将作业控制块排成一个或多个队列,而这些队列称为作业后备队列。
R = 1 + (作业等待时间/作业执行时间)
以平均周转时间或平均带权周转时间来衡量调度性能的优劣
用户界面 (User Interface) 是计算机中实现用户与计算机通信的软/硬件部分的总称。也称用户接口或人机界面。
硬件部分:输入装置、输出装置(键盘、鼠标、显示器和打印机)
软件部分:用户与计算机通信的协议、约定、操纵命令及其处理软件。
用户界面发展阶段:
控制面板式用户界面 → 字符用户界面 → 图形用户界面 → 新一代用户界面