第一章 操作系统概述
1.1 操作系统的概念性术语
操作系统是指控制和管理整个计算机系统的硬件与软件资源,合理的组织,调度计算机的工作与资源分配,进而为用户和其他软件提供方便接口与环境的程序 集合 。 是计算机系统中最基本的系统软件 。
批处理阶段
优点:资源利用率高,系统吞吐量大
缺点:用户响应时间长,没有人机交互能力
分时操作系统(时间片)
解决了人机交互问题,但时间片在一些场合无法进行实时性处理
实时操作系统
及时性和可靠性。
操作系统的特征:
并发性(Concurrence)
并发是指两个或多个事件在同一时间间隔内发生。操作系统的并发性是指计算机系统中同时存在多个运行的程序,因此它具有处理和调度多个程序同时执行的能力。在操作系统中,引入进程的目的是使程序能并发执行。
❗注意并发(同一时间间隔)和并行(同一时刻)的区别
操作系统的并发性是通过分时得以实现的。
共享性(Sharing)
资源共享即共享,是指系统中的资源可供内存中多个并发执行的进程共同使用。共享分为两种方式:
互斥共享方式
在一段时间内只允许一个进程访问的资源称为临界资源。计算机系统中的大多数物理设备及某些软件中所用的栈、变量和表格,都属于临界资源,它们都要求被互斥地共享。
同时访问方式
这里所说的“同时”通常是宏观上的,而在微观上,这些进程可能是交替地对该资源进行访问即“分时共享”。
虚拟性(Virtual)
虚拟处理器技术是通过多道程序设计技术,采用让多道程序并发执行的方法,来分时使用一个处理器的。此时,虽然只有一个处理器,但它能同时为多个用户服务,使每个终端用户都感觉有一个中央处理器(CPU)在专门为它服务。利用多道程序设计技术把一个物理上的CPU虚拟为多个逻辑上的CPU,称为虚拟处理器。
因此,操作系统的虚拟技术可归纳为:时(间)分复用技术,处理器的分时共享;空(间)分复用技术,如虚拟存储器。
异步性(Asynchronism)
多道程序环境允许多个程序并发执行,但由于资源有限,进程的执行并不是一贯到底的,而是走走停停的,它以不可预知的速度向前推进,这就是进程的异步性。
异步性使得操作系统运行在一种随机的环境下,可能导致进程产生与时间有关的错误(就像对全局变量的访问顺序不当会导致程序出错一样)。然而,只要运行环境相同,操作系统就须保证多次运行进程后都能获得相同的结果。
1.2 系统调用
操作系统对资源进行管理:
处理机管理:进程控制、进程同步、进程通信、调度
存储器管理:内存分配、内存保护、地址映射、内存扩充
文件管理:文件存储空间管理、目录管理、文件读写保护
设备管理:缓冲管理、设备分配、设备处理
操作系统的运行环境
处理机的运行模式:用户态和内核态,内核态可以运行特权指令,用户态可以运行非特权指令
内核是计算机上配置的底层软件,用于管理系统各种资源,可以看作是连接应用和硬件的桥梁,大多数内核包括4方面内容:
时钟管理:实现进程间切换(时间片轮转调度、截止时间控制)
中断机制:操作系统是靠中断驱动软件
原语(Atomic Operation)
原语的本质是一些可以被调用的公用小程序,各自完成一个规定的操作,特点如下:
处于操作系统的最底层,是最接近硬件的部分
这些程序的运行具有原子性,其操作一气呵成
这些程序的运行时间都较短,而且调用频繁
定义原语的直接方法是关闭中断,让其所有动作不可分割地完成后再打开中断。系统中的设备驱动、CPU切换、进程通信等功能中的部分操作都可定义为原语,使它们成为内核的组成部分。
系统控制的数据结构及处理
系统中用来登记状态信息的数据结构很多,如作业控制块、进程控制块(PCB)、设备控制块、各类链表、消息队列、缓冲区、空闲区登记表、内存分配表等。为了实现有效的管理,系统需要一些基本的操作,常见的操作有以下3种:
进程管理:进程状态管理、进程调度和分派、创建与撤销进程控制块等。
存储器管理:存储器的空间分配和回收、内存信息保护程序、代码对换程序等。
设备管理:缓冲区管理、设备分配和回收等。
中断(外中断)和异常(内中断)
中断(Interruption)也称外中断,是指来自CPU执行指令外部的事件,通常用于信息输入/输出,如设备发出的I/O结束中断,表示设备输入输出处理已经完成。时钟中断,表示一个固定的时间片已到,让处理机处理计时、启动定时运行的任务等。
异常(Exception)也称内中断,是指来自CPU执行指令内部的事件,如程序的非法操作码、地址越界、运算溢出、虚存系统的缺页及专门的陷入指令等引起的事件。异常不能被屏蔽,一旦出现,就应立即处理。
1.3 操作系统结构
分层法
模块化
宏内核
微内核(HarmonyOS)
外核
1.4 操作系统引导
激活CPU
激活的CPU读取ROM中的boot程序,将指令寄存器置为BIOS的第一条指令
硬件自检
加载带有操作系统的硬盘
加载主引导记录MBR