操作系统课堂笔记(3)SPOOLing系统工作原理与系统调用
2023-03-14 10:26:56 时间
SPOOLing系统工作原理
含义:
同时的外围设备联机操作(假脱机技术)
包括:
–输入程序模块(预输入进程)
–作业调度程序(作业调度进程)
–作业控制程序(作业控制进程)
–输出程序模块(缓输出进程)
•作业执行前用慢速设备将作业预先输入到后援存储器(如磁盘、磁鼓,称为输入井)中,称为预输入
•作业运行中,当要使用数据时,直接从输入井中取出
•作业运行中,需要输出数据时,不必直接启动外部设备输出数据,只需将这些数据写入输出井中
•作业全部运行完毕,再从外部设备输出全部数据和信息,称为缓输出
实现了对作业输入、组织调度和输出的统一管理
•使外设在CPU直接控制下,与CPU并行工作(称为假脱机)
用户在程序中调用操作系统提供的一些子功能
•一种特殊的过程调用,由特殊的机器指令实现(每种机器的机器指令集中都有一条系统调用指令——访管指令)
•系统调用是操作系统提供给编程人员的唯一接口
•系统状态从目态转入管态
•系统调用是一个低级过程,只能由汇编语言直接访问
•利用系统调用,动态请求和释放系统资源
完成与硬件相关的工作以及控制程序的执行等
每个操作系统都提供几百种系统调用
机制的设计
•陷入(TRAP)或异常处理机制
系统中控制系统调用服务的机制
•陷入或异常指令(或称访管指令)
由系统调用引起处理机中断的指令
•系统调用的功能号和参数
每个系统调用都对应一个事先给定的功能号
在陷入指令中必须包括对应的系统调用的功能号
有些陷入指令中,还带有传给陷入处理机制和内部处理程序的有关参数
•入口地址表
每个入口地址对应一个系统调用功能子程序
陷入处理机制把陷入指令中的功能号与入口地址表有关项对应, 驱动有关子程序执行
保护现场:
•进入系统调用处理前,陷入处理机制还需保存处理机现场
•在系统调用处理结束之后,要恢复处理机现场,现场被保护在特定的内存区或寄存器中
系统的功能可分为两部分:
•系统自身所需要的
•作为服务提供给用户的
OS的系统调用:
•进程控制类系统调用
•文件操作类系统调用
•进程通信类系统调用
•设备管理类系统调用
•信息维护类系统调用
常用的3种实现方法:
•由陷入指令自带参数:陷入指令的长度有限,且还要携带系统调用功能号,只能自带有限的参数
•通过通用寄存器传递参数:这些寄存器是系统程序和用户程序都能访问的,由于寄存器长度较短,传递的参数数量有限
•在内存中开辟专用堆栈区来传递参数
系统的功能可分为两部分:
•系统自身所需要的
•作为服务提供给用户的
OS的系统调用:
•进程控制类系统调用
•文件操作类系统调用
•进程通信类系统调用
•设备管理类系统调用
•信息维护类系统调用
相关文章
- 5月12日云栖精选夜读:阿里云将增设马来西亚数据中心 纳吉布总理大赞中国技术
- 深入理解Spark:核心思想与源码分析
- 每日Ubuntu小技巧——怎样安装谷歌Chrome浏览器
- MAC 系统中显示中文MAN手册
- 支付宝体验设计精髓
- 戴文的Linux内核专题:02 源代码
- 戴文的Linux内核专题:03 驱动程序
- 写给Git初学者的7个建议
- 自己动手构造编译系统:编译、汇编与链接
- EMR集群上capacity scheduler的ACL实现
- 数据路线|构建供应链金融的4大步骤
- 科学与《侏罗纪公园》PK恐龙十大真相!
- 从源头"打拐":建立新生儿DNA库
- 互联网世界的“人工智能”——探秘“深度学习”的前世今生
- 六类创业者,看看你属于哪一类?
- 史上最强算法论战:请不要嘻哈,这是哈希
- 史上最强算法论战:请不要嘻哈,这是哈希
- 《史上最强算法论战》是怎样炼成的?
- TED | 算法:赋予无人机生命!
- 【干货】推荐系统原理介绍