计算机系统概述
1.操作系统概念
计算机系统是控制和管理整个计算机系统的硬件与软件资源,合理地组织、调度计算机的工作与资源的分配,进而为用户和其他软件提供方便接口与环境的程序集合。
2.操作系统的特征
操作系统基本特征有并发、共享、虚拟、异步。
并发和共享是操作系统最基本的两个特征,互为存在条件。并发是指多个程序在单核内同一时刻内交替执行,如果需要并行执行的话需要多核。共享为多个进程可以对同一个资源访问。
虚拟技术可以将一个实体变为多个逻辑上的对应物。时分复用技术如处理器的分时共享,空分复用技术如虚拟存储器
异步是程序以未知的速度走走停停。
3.操作系统的目标和功能
管理功能包括:处理机管理、存储器管理、文件管理、设备管理。
接口功能包括:命令接口和程序接口。
命令接口包括联机控制方式,比如linux的命令端,windows的cmd,macos的终端;以及脱机控制方式,类似sh,bat文件。程序接口是值由一组系统调用组成,如图形用户界面。
操作系统提供了资源管理管理功能和方便用户的各种服务功能,改造为更强的机器,覆盖了软件的机器称为扩充机器,又叫虚拟机。操作系统将硬件功能封装成简单易用的服务,供用户方便使用。
4.操作系统的分类
操作系统分为手工操作阶段、批处理阶段的单道批处理系统和多道批处理系统、分时操作系统、实时操作系统、分布式计算机系统、个人计算机系统。
手工操作阶段:输入、运行、输出都需要人工干预。
单道批处理系统内存中始终保存一道作业,作业成批运行。具有自动性、顺序性和单道性。缓解了一定的人机速度矛盾,提升了资源利用率,但依然存在高速cpu必须等待I/O完成、内存中只能执行一道程序。
多道批处理系统允许多个程序在cpu中交替运行,可以共享硬件和软件。具有多道、宏观上并行、微观上串行的特点。资源利用率高、多道程序共享计算机资源,系统吞吐量达,各资源保持忙碌状态。但存在设计复杂,需要考虑各种资源调度以及无人机交互的缺点。
分时操作系统将处理器运行时间划分为时间片,将时间片分配给不同作业/用户从而占用处理机。具有同时性、交互性、独立性、及时性的特点。
实时操作系统能保证在规定时间内完成某项任务。具有及时性和可靠性的特点。
分布式计算机系统,网络中多台计算机结合在一起,可以交换信息,并行工作,协同进行。
个人计算机操作系统广泛用户文字处理、电子表格和游戏。
5.操作系统的运行机制
CPU执行两种性质的程序,操作系统内核程序和用户自编程序
内核包括时钟管理、中断机制、原语、系统控制的数据结构及处理。
时钟管理主要是提供系统标准时间,根据时钟进行进程管理。
原语处于系统最底层,最接近硬盘的部分,具有原子性,运行时间短调用频繁。
系统控制的数据结构及处理:为了实现有效管理,需要一些基本的操作,包括进程管理、存储器管理、设备管理。
6.中断与异常
为了进行用户核心态和用户态两种状态的切换,引入了中断机制。“中断”是操作系统内核夺回CPU使用权的唯一途径。核心态可以执行用户态无法执行的特权指令。
访管指令是在用户态使用,将用户态转换为核心态,不是特权指令。
中断分为外中断和内中断,内中断也可以叫异常、例外或陷入,来自于CPU执行指令内部的事件,且异常不能被屏蔽。
外中断来自于CPU指令之外的事件,I/O中断、时钟中断。
7.系统调用
用户在程序中调用系统提供的一些子功能,包括设备管理、文件管理、进程控制、进程通信
内存管理。
需要操作系统服务时使用中断进入内核态,执行系统调用,结束后退出中断处理程序,返回中断点继续执行。
8.内核态与用户态的切换
内核态转向用户态,执行一条特权指令,修改PSW(程序状态寄存器)的标志位为用户态,系统将让出CPU使用权。
用户态转内核态,由“中断”引发,硬件自动完成状态转换过程,系统夺回CPU使用权。
9.大内核与微内核
大内核将操作系统的主要功能模块进行集中,以提供高性能的系统服务。各管理模块能共享信息,能够有效利用相互之间的有效特性,具有巨大的性能优势。但层次交互关系复杂,层次接口难以定义,层次之间界限模糊。
微内核只保留最基本的功能在内核,将不需要在核心态执行的功能转移到用户态。优点能有效的分离内核与服务、服务与服务,使接口更加清晰,维护代价低,各部分可以独立优化和演进。但是存在性能问题,需要频繁切换在核心态和用户态之间切换。