程序放在内存里,然后不断的取指执行
BIOS:basic input output system

第一章 操作系统引论

1.1操作系统的目标和作用

1.1.1操作系统的目标

1.方便性

2.有效性

(1)提高系统资源的利用率
(2)提高系统的吞吐量:合理的组织计算机的工作流程,加速程序的运行

3.可扩充性

OS经历了无结构→模块化结构→层次化结构
近年来广泛采用微内核结构

4.开放性

遵顼开放系统互连OSI国际标准

1.1.2操作系统的作用

1、OS作为用户与计算机硬件系统之间的接口

用户可以通过三种方式使用计算机:①系统调用方式    ②命令方式    ③图标-窗口方式

2、OS作为计算机系统资源的管理者

分配和控制处理机
存储器:分配与回收内存
I/O设备:分配(回收)与操纵
文件:存取、共享和保护
协调多用户对共享资源的使用

3、OS实现了对计算机资源的抽象

无软件的计算机系统称为裸机
向上将I/O设备抽象为一组数据结构以及一组I/O操作命令;将覆盖了软件的机器称为扩充机器或虚机器。
OS是铺设在计算机硬件上的多层软件的集合,不仅增强了系统的功能,还隐藏了对硬件操作的具体细节。

1.1.3 推动OS发展的主要动力

1、不断提高计算机资源利用率

2、方便用户

3、器件的不断更新换代

4、计算机体系结构的不断发展

5、不断提出新的应用需求

1.2OS的发展过程

1.2.1 未配置操作系统的计算机系统

1、人工操作方式

(1)用户独占全机,但资源利用率低
(2)CPU等待人工操作,CPU的利用不充分

2、脱机输入/输出

采用外围机尽心输入/输出,不需要主机直接控制
(1)减少了CPU的空闲时间
(2)提高了I/O速度

1.2.2批处理系统

1、单道批处理系统

(1)处理过程
    一批作业以脱机方式输入到磁带上,在系统中的监督程序(Monitor)的控制下,一个接一个的连续处理。
    内存中始终只保持一道作业
(2)特点
    ①自动性
    ②顺序性
    ③单道性
(3)缺点:系统中的资源得不到充分的利用
    ①CPU的浪费:内存中仅有一道程序,这个程序I/O操作时,CPU只能等待I/O操作完成,浪费了CPU利用率
    ②内存的浪费:大部分时候一个作业不会占满内存
    ③I/O设备的浪费:一个系统配备的多种I/O设备,每一个作业只占用一个

2、多道批处理系统

(1)概念:把多个作业调入外存,排成一个“后备队列”,由作业调度程序来选择若干个作业调入内存,共享CPU和各种资源。使CPU保持在忙碌的状态
(2)特点
    ①多道
    ②宏观上并行
    ③微观上串行
(2)优缺点
  • 系统资源利用率高
  • 系统吞吐量大:①CPU和其他资源保持忙碌;②系统开销小(系统开销指运行OS时,系统管理花费的时间和空间,批处理中指处理作业之外的时间)
  • 平均周转周期长:作业要排队依次进行处理
  • 没有交互能力
(3)需要解决的问题
  • 处理机争用的问题
  • 内存的分配与保护问题
  • I/O设备的分配问题
  • 文件的组织和管理问题
  • 作业管理问题
  • 用户与系统的接口问题
这些问题都由操作系统(OS)来解决,因此
OS就是一组能有效地组织和管理计算机硬件和软件资源,合理对各类作业进行调度,以及方便用户使用的程序的集合

1.2.3分时操作系统

1、概念

    实现人机交互和共享主机
    是指在一台主机上连接了多个终端,多个用户可以同时通过自己的终端,以交互方式使用计算机,共享计算机资源。

2、要解决的问题

(1)及时接收:多路卡(实现分时多路复用)+缓冲区
(2)每个用户的作业都能得到及时的处理
    ①作业直接进入内存
    ②采用轮转运行的方式:一个作业每次只能运行一个时间片,然后立即调度下一个作业运行。

3、分时系统的特征

  • 多路性(同时性):允许多个终端用户同时使用一台计算机
  • 独立性
  • 及时性
  • 交互性

1.2.4实时系统

1、实时系统的类型

    工业(武器)控制系统、信息查询系统、多媒体系统、嵌入式系统

2、实时任务的类型

(1)周期实时系统&非周期实时系统
(2)硬周期系统(截止时间非常严格)&软周期系统

4、实时系统和分时系统特征比较

  • 多路性
  • 独立性
  • 及时性
  • 交互性
  • 可靠性

王道补充:网络OS和分布式计算机系统

1、网络操作系统

    特点:网络中各种资源的共享及各台计算机之间的通信

2、分布式计算机系统

    特点
  • 任意两台计算机通过通信方式交换信息
  • 系统中的每台计算机有同等的地位
  • 每台计算机上的资源为所有用户共享
  • 系统中的任意台计算机都可以构成一个子系统,并且还可以重构
  • 任何工作都可以分布在几台计算机上,并由他们并行工作,协同完成

1.2.6微机操作系统的发展

微机OS可按微机的字长来分,也可按运行方式分成以下几类

1、单用户单任务OS

DOS

2、单用户多任务OS

Windows

3、多用户多任务OS

UNIX OS、Linux OS

1.3 操作系统的基本特性

1.3.1 并发(Concurrence)

1、并行与并发

    并行是同一时刻发生,并发是同一时间段发生

王道补充:重要考点

单核CPU同一时刻只能执行一个程序,各个程序只能并发的执行
多核CPU同一时刻可以执行多个程序,各个程序可以并行的执行

2、引入进程

    进程是在系统中能独立运行并作为资源分配的基本单位,由一组机器指令、数据和堆栈组成,是一个能独立运行的活动实体;
    多个进程之间可以并发执行和交换信息。

1.3.2共享(Sharing)(复用)

1、互斥共享方式

(1)一段时间仅允许一个进程访问,这样的资源称为“临界资源”或”独占资源
(2)一般的物理设备、表格、栈和变量等都是临界资源

2、同时访问方式

(1)一段时间允许多个进程“同时”对他们进行访问(微观上是交替进行的)

共享和并发是互为存在的条件

1.3.3虚拟

将一条物理信道变为若干的逻辑信道

1、时分复用

(1)虚拟处理机技术
    多道程序设计
(2)虚拟设备技术
    I/O设备的复用

2、空分复用(频分复用)

    利用存储器的空闲空间
    虚拟存储技术:本质上是内存的分时复用
注意:虚拟的实现,eg.时分复用,每台虚拟设备的平均速度小于等于物理设备速度的1/N
                                     空分复用,                                 占用空间小于等于物理设备所拥有空间的1/N

1.3.4异步

    进程是以人们不可预知的速度向前推进的,要配备进程同步机制,异步的运行方式就是允许的

1.4 操作系统的主要功能

1.4.1 处理机管理功能

1、进程控制

    为作业创建、撤销进程,控制进程在运行过程中的状态转换

2、进程同步

①进程互斥方式:临界资源配锁
②进程同步方式:信号量机制

3、进程通信 

4、调度

(1)作业调度
(2)进程调度

5、死锁处理

1.4.2 存储器管理功能

1、内存分配

(1)静态分配方式
(2)动态分配方式

2、内存保护

①确保每道用户程序仅在自己的内存空间内运行,彼此互不干扰
②绝不允许用户程序访问OS的程序和数据,也不允许用户程序转移到非共享的其他用户程序中去执行
    采取设置界限存储器的方式

3、地址映射

    将地址空间中的逻辑地址转换为内存空间的物理地址

4、内存扩充

    借用虚拟存储技术,在逻辑上扩大内存容量
    系统必须设置内存扩充机制,可实现①请求调入功能    ②置换功能

1.4.3 设备管理功能

1、缓冲管理

    有单缓冲机制,双缓冲机制,公用缓冲池机制等

2、设备分配

3、设备处理

    设备驱动程序

1.4.4 文件管理功能

1、文件存储空间的管理

2、目录管理

3、文件的读/ 写管理和保护

1.4.5 操作系统与用户之间的接口

1、用户接口(命令接口)

(1)联机用户(命令)接口
(2)脱机用户(命令)接口(批处理命令接口)
(3)图形用户接口

2、程序接口(系统调用)

    由一组系统调用(广义指令)组成;
    GUI图形接口所调用的系统调用命令是OS的一部分。

1.4.6现代操作系统的新功能

1、系统安全

(1)认证技术
(2)密码技术
(3)访问控制技术
(4)反病毒技术

2、网络的功能和服务

(1)网络通信
(2)资源管理
(3)应用互操作

3、多媒体技术

(1)接纳控制功能
(2)实时调度
(3)多媒体文件的存储

1.5 OS结构设计

1.5.1 传统操作系统结构

1、无结构OS

2、模块化结构OS

(1)基本概念
(2)模块独立性
  • 内聚性:模块内部各部分间联系的紧密程度,内聚性越高,模块独立性越强
  • 耦合度:模块间。耦合度越低,模块独立性越好
(3)模块接口法的优缺点
    又叫“无序模块法”

3、分层式结构OS

    自底向上法铺设若干个中间层

1.5.2 客户/服务器模式(C/S模式)

    由客户机,服务器和网络系统组成

1.5.3 面向对象的程序设计

1、基本概念

2、优点

(1)通过“重用”提高产品质量和生产率
(2)系统更易修改和扩展
(3)更易保证系统的“正确性”和”可靠性“

1.5.4 微内核OS结构

支持多处理机运行

1、微内核OS的基本概念

分为 微内核和多个服务器
(1)足够小的内核
    并非是一个完整的OS,而包含①与硬件处理紧密相关的部份    ②一些较基本的功能    ③客户和服务器之间的通信
(2)基于客户/服务器模式
(3)应用“机制与策略分离”原理
(4)采用面向对象技术

2、微内核的基本功能

(1)进程(线程)管理
(2)低级存储器管理
(3)中断和陷入处理

3、微内核OS的优点

(1)可靠性
(2)可移植性
(3)可扩展性
(4)支持分布式系统
(5)面向对象

4、微内核OS存在的问题

运行效率有所降低

王道补充:1.3 操作系统的运行环境

1.3.1 操作系统的运行机制

    CPU执行两种程序:操作系统内核程序&用户程序
    操作系统的内核包括以下四个内容

1、时钟管理

2、中断机制

中断机制中只有一小部分功能属于内核,他们负责保护和恢复中断现场的信息,转移控制权到相关的处理程序

3、原语

特点
(1)处于OS的最底层
(2)运行具有原子性
(3)运行时间都比较短并且调用频繁

4、系统控制的数据结构及处理

常见操作有①进程管理    ②存储器管理    ③设备管理

1.3.2 中断和异常的概念

1、中断和异常的定义

中断分为内中断(异常)、外中断(强迫中断)
内中断又分为自愿中断和强迫中断,强迫中断又有硬件故障和软件中断

2、中断处理的过程

(1)关中断
(2)保存断点
(3)中断服务程序寻址
(4)保存现场和屏蔽字
(5)开中断
(6)执行中断服务程序
(7)关中断
(8)恢复现场和屏蔽字
(9)开中断、中断返回

1.3.3 系统调用

    凡是与资源有关的操作,都必须通过系统调用方式向OS提出服务请求,并由OS代为完成
    大致可分为如下几类
  • 设备管理
  • 文件管理
  • 进程控制
  • 进程通信
  • 内存管理
用户程序可以执行陷入指令(又叫访管指令或trap指令)来发起系统调用,请求OS提供服务
这样设计,用户程序不能直接执行对系统影响非常大的操作,必须通过系统调用的方式请求OS代为执行,以便保证系统的稳定性和安全性
用户态转向核心态的例子:
    ①用户程序要求操作系统的服务,即系统调用
    ②发生一次中断
    ③用户程序中产生了一个错误状态
    ④用户程序中企图执行一条特权指令
    ⑤从核心态转向用户态由一条指令实现,这条指令也是特权指令,通常是中断返回指令
注意:由用户态进入核心态,用到的访管指令不是特权指令!因为是在用户态使用的。