第一章
<王道论坛操作系统笔记>
1.1 操作系统的概念,功能和目标
概念:负责协调计算机上软硬件资源的工作,为上层用户,程序提供简易的服务的一种系统软件.
功能和目标:
- 系统资源的管理者:管理处理机,管理文件,管理内存,管理设备.
- 用户和计算机硬件之间的接口,方便用户使用
- 命令接口:用户直接使用,分为联机接口和脱机接口(批处理命令接口).联机接口:说一句,做一句;脱机接口:说一堆,做一堆.
- 程序接口:允许用户通过程序间接调用,由一组系统调用组成.
- GUI图形用户接口
- 作为最接近计算机硬件的层次,实现对硬件机器的扩展.通常把覆盖了软件的机器称为扩充机器,或者虚拟机.
1.2 操作系统的特征
- 并发:
两个或者多个事件在同一时间段上同时发生(宏观上是同时发生,微观上是交替发生).
区别于并行:并行是两个或多个事件在同一时刻同时发生操作系统的并发是指同一时间系统中存在多个运行的程序 - 共享:
系统中的资源可以被内存中的多个进程共同使用.
互斥共享:系统中的某些资源,一个时间段内只允许一个进程访问资源.
同时共享:系统中的某些资源,一个时间段内允许多个进程"同时"访问该资源 - 虚拟:
把物理上的一个实体,变为若干个逻辑上的对应物.
物理实体是实际存在的,而逻辑上的对应物是用户感知的. - 异步:
异步性是指,在多道程序环境中,允许多个程序并发执行.
由于资源有限,程序的执行不是一步到底的,而是走走停停.以不可预知的速度向前推进.
这就是程序的异步性.
1.3操作系统的发展与分类:
1.4 操作系统的运行机制和体系
-
什么是指令?
简单来说,指令就是处理器能识别,执行的最基本的命令. -
指令的两种分类:
特权指令:不允许用户程序使用.
非特权指令. -
CPU的两种状态:
用户态(目态):此时CPU只能执行非特权指令.
核心态(管态):特权执行,非特权指令都能执行.
CPU的状态是用程序状态字寄存器PSW中的某个标志位来表示当前处理器处于什么状态. -
程序的两种:
内核程序:操作系统的内核程序是操作系统的管理者,即可以执行特权指令也可以执行非特权指令,运行在核心态.
用户程序:为了保证系统安全运行,普通的用户程序只能执行非特权指令,运行在用户态.
那么,操作系统的哪些功能应该由内核程序实现呢?
- 内核概念:
内核是计算机配置的底层软件,是操作系统最基本,最核心的部分.实现操作系统内核功能的程序就是内核程序. - 内核功能:
- 时钟管理,实现计时功能.
- 中断处理,负责实现中断机制
- 原语,一种特殊的程序,处于操作系统最接近硬件的部分.运行时间多,调用频繁.这种程序具有原子性(所有指令要么都成功,要么都失败)
- 系统资源管理,进程管理,存储器管理,设备管理.(有的操作系统不把这部分划分到内核功能中
操作系统层次图:
小结:
1.5 中断和异常
- 中断
操作系统为了实现多道程序并发处理,引入中断机制.中断的本质
:发生中断,就意味着需要操作系统介入,展开管理工作.
当发生中断时,CPU立刻切换为核心态.当中断发生后,当前运行的进程会暂停运行,并由操作系统内核对中断进行处理.对于不同的中断,会进行不同的处理.
中断可以使CPU从用户态切换成核心态,使操作系统获得计算机的控制权
.有了中断,才能实现多道程序并发执行.
问:用户态和核心态之间的切换是怎么实现的?
答:从用户态切换到核心态只能通过中断来实现,而且中断是唯一的途径.从核心态切换到用户态是通过一个特权指令,将程序状态字PWD标志位设置为用户态来实现.
- 中断的分类
中断可以分为内中断和外中断两种.
内中断:信号的来源来自CPU内部,与当前执行的指令有关.又可细分为自愿中断(指令中断)和强迫中断(硬件故障,软件中断)
外中断:信号的来源来自CPU的外部,与当前执行的指令无关.如外设请求,人工干预.
小结:
1.6 系统调用
概念:系统调用是操作系统提供给应用程序(程序员)使用的接口.可以理解为一种可供应用程序调用的特殊函数,应用程序可以发出系统调用请求来获得操作系统提供的服务.
小结: