主要是想记录一些操作系统的关键内容,希望能让非CS的自己及大家对操作系统先有个大体的理解,非重要的内容会省略,有兴趣可以翻书慢慢了解
一.操作系统的基本概念(省略)
二.操作系统的特征
操作系统是一种系统软件,但与其他的系统软件和应用软件有很大的不同,它有自己的特殊性即基本特征。操作系统的基本特征包括并发、共享、虚拟和异步。
并发:同一段时间内多个程序执行(注:并发和并行不一样,前者是同一时间段内的执行多个事件,后者是同一时刻的执行多个事件。)
共享:系统中的资源可以被内存中多个并发执行的进线程共同使用
虚拟:通过时分复用以及空分复用技术实现把一个物理实体虚拟为多个
异步:系统中的进程是以走走停停的方式执行的
三.操作系统的目的和功能
1.为了给多道程序提供良好的运行环境,操作系统应具有以下几方面的功能:处理机管理、 存储器管理、设备管理和文件管理。
(1) 处理机管理
处理机分配都是以进程为单位,所以处理机管理也被看做是进程管理。包括进程控制,进程同步,进程通信和进程调度
(2) 存储器管理
内存分配,内存保护,地址映射,内存扩充
(3) 文件管理
管理用户文件和系统文件,方便使用同时保证安全性。包括:磁盘存储空间管理,目录管理,文件读写管理以及文件共享和保护
(4) 设备管理
管理所有外围设备,包括完成用户的IO请求;为用户进程分配IO设备;提高IO设备利用率;提高IO速度;方便IO的使用
2.为了方便用户使用操作系统,操作系统向用户提供了接口。操作系统提供的接口主要分为两类:一是命令接口,用户利用这些操作命令来组织和控制作业的执行;二是程序接口,编程人员可以使用它们来请求操作系统服务。
(1) 命令接口:按作业控制方式的不同,可以将命令接口分为联机命令接口和脱机命令接口。
(2) 程序接口
3.操作系统可用来扩充机器,以提供更方便的服务、更高的资源利用率。
四.操作系统的发展与分类(省略)
五.操作系统的运行机制
计算机系统中,cpu通常执行两种不同性质的程序:(1)操作系统内核程序(2)用户自编程序/系统外层的应用程序
前者是后者的管理者,因此管理程序要执行一些特权指令
特权指令:是指计算机中不允许用户直接使用的指令。如I/O指令、 置中断指令等。
现代操作系统,几乎都是层次式的结构。操作系统的各项功能分别被设置在不同的层次上。一些与硬件关联较紧密的模块,诸如时钟管理、中断处理、设备驱动等处于最底层。其次是运行频率较髙的程序,诸如进程管理、存储器管理和设备管理等。这两部分内容构成了操作系统的内核。这部分内容的指令操作工作在核心态。
内核是计算机上配置的底层软件,是计算机功能的延伸。
大多数操作系统内核包括四个方面的内容:
(1) 时钟管理
(2) 中断机制
(3) 原语
(4) 系统控制的数据结构及处理
六.中断和异常的概念
1.概述
在操作系统中引入核心态和用户态这两种工作状态后,就需要考虑这两种状态之间如何切换。操作系统内核工作在核心态,而用户程序工作在用户态。但系统不允许用户程序实现核心态的功能,而它们又必须使用这些功能。因此,需要在核心态建立一些“门”,实现从用户态进入核心态。在实际操作系统中,CPU运行上层程序时唯一能进入这些“门”的途径就是通过中断或异常。当中断或异常发生时,运行用户态的CPU会立即进入核心态,这是通过硬件实现的。
2.中断与异常的概念
中断(外中断):指来自CPU执行指令以外的事件的发生,如设备发出的I/O结束中断,表示设备输入/输出处理已经完成,希望处理机能够向设备发下一个输入 / 输出请求,同时让完成输入/输出后的程序继续运行。时钟中断,表示一个固定的时间片已到,让处理机处理计时、启动定时运行的任务等。这一类中断通常是与当前程序运行无关的事件,即它们与当前处理机运行的程序无关。
异常(内中断):指源自CPU执行指令内部的事件,如程序的非法操作码、 地址越界、算术溢出、虚存系统的缺页以及专门的陷入指令等引起的事件。对异常的处理一般要依赖于当前程序的运行现场,而且异常不能被屏蔽,一旦出现应立即处理。关于内中断和外中断的联系与区别如图1-2所示。