操作系统课堂笔记(3)SPOOLing系统工作原理与系统调用
来源:互联网 发布:springmvc源码解析 编辑:程序博客网 时间:2024/06/07 01:09
SPOOLing系统工作原理
含义:
同时的外围设备联机操作(假脱机技术)
包括:
–输入程序模块(预输入进程)
–作业调度程序(作业调度进程)
–作业控制程序(作业控制进程)
–输出程序模块(缓输出进程)
•作业执行前用慢速设备将作业预先输入到后援存储器(如磁盘、磁鼓,称为输入井)中,称为预输入
•作业运行中,当要使用数据时,直接从输入井中取出
•作业运行中,需要输出数据时,不必直接启动外部设备输出数据,只需将这些数据写入输出井中
•作业全部运行完毕,再从外部设备输出全部数据和信息,称为缓输出
实现了对作业输入、组织调度和输出的统一管理
•使外设在CPU直接控制下,与CPU并行工作(称为假脱机)
用户在程序中调用操作系统提供的一些子功能
•一种特殊的过程调用,由特殊的机器指令实现(每种机器的机器指令集中都有一条系统调用指令——访管指令)
•系统调用是操作系统提供给编程人员的唯一接口
•系统状态从目态转入管态
•系统调用是一个低级过程,只能由汇编语言直接访问
•利用系统调用,动态请求和释放系统资源
完成与硬件相关的工作以及控制程序的执行等
每个操作系统都提供几百种系统调用
机制的设计
•陷入(TRAP)或异常处理机制
系统中控制系统调用服务的机制
•陷入或异常指令(或称访管指令)
由系统调用引起处理机中断的指令
•系统调用的功能号和参数
每个系统调用都对应一个事先给定的功能号
在陷入指令中必须包括对应的系统调用的功能号
有些陷入指令中,还带有传给陷入处理机制和内部处理程序的有关参数
•入口地址表
每个入口地址对应一个系统调用功能子程序
陷入处理机制把陷入指令中的功能号与入口地址表有关项对应, 驱动有关子程序执行
保护现场:
•进入系统调用处理前,陷入处理机制还需保存处理机现场
•在系统调用处理结束之后,要恢复处理机现场,现场被保护在特定的内存区或寄存器中
系统的功能可分为两部分:
•系统自身所需要的
•作为服务提供给用户的
OS的系统调用:
•进程控制类系统调用
•文件操作类系统调用
•进程通信类系统调用
•设备管理类系统调用
•信息维护类系统调用
常用的3种实现方法:
•由陷入指令自带参数:陷入指令的长度有限,且还要携带系统调用功能号,只能自带有限的参数
•通过通用寄存器传递参数:这些寄存器是系统程序和用户程序都能访问的,由于寄存器长度较短,传递的参数数量有限
•在内存中开辟专用堆栈区来传递参数
系统的功能可分为两部分:
•系统自身所需要的
•作为服务提供给用户的
OS的系统调用:
•进程控制类系统调用
•文件操作类系统调用
•进程通信类系统调用
•设备管理类系统调用
•信息维护类系统调用
0 0
- 操作系统课堂笔记(3)SPOOLing系统工作原理与系统调用
- 操作系统原理与实践3--系统调用
- SPOOLing系统
- 《Linux设计与实现》笔记——系统调用工作原理、添加系统调用的过程
- 操作系统概念学习笔记 6 系统调用
- <操作系统:精髓与设计原理>分布式系统
- 操作系统设计与实现--系统调用
- 操作系统—系统调用与内核
- 现代操作系统笔记2(操作系统概念和系统调用)
- Unix原理与应用(第四版)学习笔记3--系统调用之进程篇
- A8系统移植课堂笔记
- 文件管理系统课堂笔记
- 构建物品系统(课堂笔记)
- 【操作系统】添加系统调用
- (操作系统)系统调用
- 操作系统精髓与设计原理学习笔记十:分布式处理、客户/服务器和集群系统
- DRM系统工作原理
- isos系统工作笔记3
- 分享:mysql 与 mysqli的区别
- 为什么要使用Nginx?
- PHP中替换换行符
- 1366:栈的压入、弹出序列 @jobdu
- 解决连接ORACLE错误一例:ORA-01033: ORACLE 正在初始化或关闭
- 操作系统课堂笔记(3)SPOOLing系统工作原理与系统调用
- 当项目出了问题!
- ORA-01157: 无法标识/锁定数据文件 解决方案
- cocos2d-x中使用json
- IE盒子模型和标准的W3C标准的盒子模型
- W3C标准实战之:多浏览器兼容解决方案(转自51)
- 辗转相处法求最大公因数及其证明
- JAVASCRIPT原型
- Android WebView中Header与Cookie应用场景深入剖析