操作系统课堂笔记(3)SPOOLing系统工作原理与系统调用

SPOOLing系统工作原理
含义:
同时的外围设备联机操作(假脱机技术)
包括:
–输入程序模块(预输入进程)
–作业调度程序(作业调度进程)
–作业控制程序(作业控制进程)
–输出程序模块(缓输出进程)
•作业执行前用慢速设备将作业预先输入到后援存储器(如磁盘、磁鼓,称为输入井)中,称为预输入
•作业运行中,当要使用数据时,直接从输入井中取出
•作业运行中,需要输出数据时,不必直接启动外部设备输出数据,只需将这些数据写入输出井
•作业全部运行完毕,再从外部设备输出全部数据和信息,称为缓输出
实现了对作业输入、组织调度和输出的统一管理
•使外设在CPU直接控制下,与CPU并行工作(称为假脱机)

系统调用

用户在程序中调用操作系统提供的一些子功能
•一种特殊的过程调用,由特殊的机器指令实现(每种机器的机器指令集中都有一条系统调用指令——访管指令)
•系统调用是操作系统提供给编程人员的唯一接口
•系统状态从目态转入管态
•系统调用是一个低级过程,只能由汇编语言直接访问
•利用系统调用,动态请求和释放系统资源
  完成与硬件相关的工作以及控制程序的执行等
每个操作系统都提供几百种系统调用
机制的设计
陷入(TRAP)或异常处理机制
     系统中控制系统调用服务的机制
•陷入或异常指令(或称访管指令)
     由系统调用引起处理机中断的指令
•系统调用的功能号和参数
    每个系统调用都对应一个事先给定的功能号
    在陷入指令中必须包括对应的系统调用的功能号
    有些陷入指令中,还带有传给陷入处理机制和内部处理程序的有关参数
•入口地址表
    每个入口地址对应一个系统调用功能子程序

  陷入处理机制把陷入指令中的功能号与入口地址表有关项对应, 驱动有关子程序执行

保护现场:
•进入系统调用处理前,陷入处理机制还需保存处理机现场
•在系统调用处理结束之后,要恢复处理机现场,现场被保护在特定的内存区或寄存器中
系统的功能可分为两部分:
•系统自身所需要的
•作为服务提供给用户的
OS的系统调用:
•进程控制类系统调用
•文件操作类系统调用
•进程通信类系统调用
•设备管理类系统调用
•信息维护类系统调用
常用的3种实现方法:
•由陷入指令自带参数:陷入指令的长度有限,且还要携带系统调用功能号,只能自带有限的参数
•通过通用寄存器传递参数:这些寄存器是系统程序和用户程序都能访问的,由于寄存器长度较短,传递的参数数量有限
•在内存中开辟专用堆栈区来传递参数
系统的功能可分为两部分:
•系统自身所需要的
•作为服务提供给用户的
OS的系统调用:
•进程控制类系统调用
•文件操作类系统调用
•进程通信类系统调用
•设备管理类系统调用
•信息维护类系统调用

上一篇:Linux下静态库、动态库的创建与调用


下一篇:Vue过滤器