第一章 计算机系统概述
1.1 操作系统的基本概念
1.1.1 操作系统的概念
操作系统是指控制整个计算机系统的硬件和软件资源,合理地组织、调度计算机的工作与资源的分配,进而为用户和其他软件提供方便接口与环境的程序集合。操作系统是计算机系统中最基本的系统软件。
1.1.2 操作系统的特征
-
并发
并发是指两个或多个事件在同一时间间隔内发生。
-
共享
- 互斥共享
- 同步共享
-
虚拟
-
异步
其中,并发和共享是操作系统两个最基本的特征,两者互为存在的条件。
1.2 操作系统发展历程
1.2.1 手工操作阶段
缺点:资源利用率低
1.2.2 批处理阶段
-
单道批处理系统
特点:
- 自动性
- 顺序性
- 单道性
优点:脱离手工操作
缺点:资源利用率低
-
多道批处理系统
特点:
- 多道
- 宏观上并行
- 微观上串行
优点:资源利用率高
缺点:不提供人机交互能力
1.2.3 分时操作系统
解决了人机交互问题,以时间片为单位,轮流把处理器分配给各联机作业使用。
特点:
- 同时性(指多个终端用户同时使用一台计算机)
- 交互性
- 独立性(多个用户彼此独立操作,互不干扰)
- 及时性
缺点:不能响应紧急任务
1.2.4 实时操作系统
- 硬实时系统(进程随时可抢占处理机)
- 软实时系统
1.2.5 网络操作系统和分布式计算机系统
1.2.6 个人计算机操作系统
1.3 操作系统运行环境
1.3.1 处理器运行模式
计算机系统中,CPU要执行两种性质不同的程序:操作系统内核程序和用户自编程序。
- 特权指令,是指不允许用户直接使用的指令,如I/O指令、置中断指令、存取用于内存保护的寄存器等指令
- 非特权指令,是指允许用户直接使用的指令
在具体实现上,将CPU的运行模式分为用户态(目态)和核心态(管态)。
内核是计算机上配置的底层软件,它管理着系统的各种资源,可以看作是连接应用程序和硬件的一座桥梁,大多数操作系统的内核包括4方面的内容。
- 时钟管理
- 中断机制
- 原语
- 系统控制的数据结构及处理
从上述内容可以了解,核心态指令实际上包括系统调用类指令和一些针对时钟、中断和原语的操作指令。
1.3.2 中断和异常的概念
中断是让操作系统内核夺回CPU控制权的唯一途径。
-
中断和异常的定义
中断也称外中断,是指来自CPU执行指令外部的事件(I/O中断、时钟中断)
异常也称内中断,是指来自CPU执行指令内部的事件(程序的非法操作码、地址越界、运算溢出和陷入指令等事件)
-
中断和异常的分类
外中断可分为可屏蔽中断和不可屏蔽中断
异常可分为故障、自陷和终止。故障是由指令执行引起的异常。自陷是由应用程序发出,将CPU控制权还给内核,不属于特权指令。
终止通常为硬件故障。
-
中断和异常的处理
基于中断向量表
1.3.3 系统调用
在用户程序中,凡是与资源有关的操作(如存储分配、进行I/O传输及管理文件等),都必须通过系统调用的方式向操作系统提出服务请求,并由操作系统代为完成。系统调用按功能大致可分为以下几类:
- 设备管理
- 文件管理
- 进程控制
- 进程通信
- 内存管理
系统调用的处理需要由操作系统内核程序负责完成,需要运行在核心态。
note:由用户态进入核心态,不仅状态需要切换,而且所用的堆栈也可能由用户堆栈切换为系统堆栈,但这个系统堆栈也是属于该进程的。