操作系统总结 by ******@bdwm
自己根据讲义做的,供大家考试参考之用,基本上都是一些概念性的东西,有不全面的地方,大家对照着讲义和老师给的提纲用吧。
一、操作系统概述
操作系统的定义、作用
操作系统是计算机系统中的一个系统软件,是一些程序模块的集合——
它们能以尽量有效、合理的方式组织和管理计算机的软硬件资源
合理的组织计算机的工作流程,控制程序的执行并向用户提供各种服务功能
使得用户能够灵活、方便、有效的使用计算机,使整个计算机系统能高效地运行
操作系统的特征
并发--处理多个同时性活动的能力
共享--操作系统与多个用户的程序共同使用计算机系统中的资源(共享有限的系统资源)
虚拟--一个物理实体映射为若干个对应的逻辑实体--分时或分空间
随机性--操作系统必须随时对以不可预测的次序发生的事件进行响应
不确定性--由共享和并发引起
多道程序设计:
多个程序同时运行,多个用户共享系统(需要存储保护)
SPOOLing系统工作原理:
作业进入到磁盘上的输入井
按某种调度策略选择几种搭配得当的作业,并调入内存
作业运行的结果输出到磁盘上的输出井
结果从磁盘上的输出井送到打印机
二、运行环境与机制
CPU状态的转换
目态→管态中断(广义)
管态→目态设置PSW(修改程序状态字)
中断对于操作系统的重要性
可以认为操作系统是由“中断驱动”或者“(中断)事件驱动”
及时处理设备的中断请求
它使得OS可以捕获用户程序发出的系统功能调用
防止用户程序中破坏性的活动
中断类型
输入/输出(I/O)中断
程序性中断
时钟中断
硬件故障中断
访管指令/系统调用引发的中断
系统调用:用户在程序中调用操作系统提供的一些子功能
一种特殊的过程调用,由特殊的机器指令实现(每种机器的机器指令集中都有一条系统调用指令——访管指令)
系统调用是操作系统提供给编程人员的唯一接口
系统状态从目态转入管态
系统调用是一个低级过程,只能由汇编语言直接访问
利用系统调用,动态请求和释放系统资源,完成与硬件相关的工作以及控制程序的执行等
其机制的设计:
陷入(TRAP)或异常处理机制
陷入或异常指令(或称访管指令)
系统调用的功能号和参数
入口地址表
保护现场:
三、进程管理
进程是具有独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的独立单位。为了描述程序在并发执行时对系统资源的共享,所需的一个描述程序执行时动态特征的概念。
进程控制块(PCB)是系统为了管理进程设置的一个专门的数据结构,用它来记录进程的外部特征,描述进程的运动变化过程。系统利用PCB来控制和管理进程,所以PCB是系统感知进程存在的唯一标志
PCB包括:进程描述信息、进程控制信息、所拥有的资源和使用情况、CPU现场保护信息。
进程映像包括:代码段、数据段、用户栈、进程控制块PCB
进程控制
进程的创建
给新进程赋予一个唯一的进程标识符
为进程映像分配空间
初始化进程控制块
设置相应的链接
创建或扩充其他数据结构
进程的撤销
收回进程所占有的资源
撤消该进程的PCB
进程阻塞和进程唤醒
处于运行状态的进程,在其运行过程中期待某一事件发生时,由进程自己执行阻塞原语,使自己由运行态变为阻塞态
fork()的过程
为子进程分配新的PID和进程描述符
初始化子进程描述符结构
为子进程分配地址转换表
以一次一页的方式复制父进程地址数据和堆栈区,并更新子进程地址转换表,指向这些新页面(运用写时复制技术)
获得由子进程继承的共享资源的指针,如打开的文件和当前工作目录
子进程就绪,加入调度队列
设置子进程从fork返回0
向父进程返回子进程PID
进程特点:并发性、动态性、独立性、交互性、异步性
四、线程模型
引入线程的原因:线程的开销小
创建一个新线程花费时间少
两个线程的切换花费时间少
线程之间相互通信无须调用内核
多线程的应用
解决前台和后台的操作处理问题
解决应用中的异步处理问题
解决应用程序的执行速度问题
解决程序的模块化设计问题
线程:
进程中的一个运行实体
是一个CPU调度单位
线程的属性:
有执行状态(状态转换)
不运行时保存上下文
有自己的堆栈
有一些局部变量的静态存储
可存取所在进程的内存和其他资源
可以创建、撤消另一个线程
线程的实现:
用户级线程
核心级线程
两者结合方法
线程创建在用户空间完成
线程调度等在核心态完成
五、单处理器调度
处理机调度的三种类型:
长程调度(作业调度或宏观调度)
创建新进程时是否进入当前活跃进程集合
中程调度
涉及进程在
操统复习总结 来自淘豆网m.daumloan.com转载请标明出处.