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

简介: SPOOLing系统工作原理 含义: 同时的外围设备联机操作(假脱机技术) 包括: –输入程序模块(预输入进程) –作业调度程序(作业调度进程) –作业控制程序(作业控制进程) –输出程序模块(缓输出进程) •作业执行前用慢速设备将作业预先输入到后援存储器(如磁盘、磁鼓,称为输入井)中,称为预输入 •作业运行中,当要使用数据时,直接从输入井中取出

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

系统调用

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

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

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

目录
相关文章
|
15天前
|
监控 Unix Linux
Linux操作系统调优相关工具(四)查看Network运行状态 和系统整体运行状态
Linux操作系统调优相关工具(四)查看Network运行状态 和系统整体运行状态
29 0
|
17天前
|
算法 程序员
深入理解操作系统内存管理:分页系统的优势与挑战
【4月更文挑战第7天】 在现代操作系统中,内存管理是一项至关重要的任务,它确保了计算机能够高效、安全地运行各种程序。分页系统作为内存管理的一种技术,通过将物理内存分割成固定大小的单元——页面,为每个运行的程序提供了一种独立且连续的内存地址空间。该技术不仅简化了内存分配,还允许更高效的内存使用和保护。本文探讨了分页系统的核心原理,优势以及面临的挑战,旨在为读者揭示其在操作系统设计中的重要性。
|
2月前
|
Linux C语言
操作系统 | 添加系统调用
操作系统 | 添加系统调用
31 0
|
1天前
|
前端开发 Android开发 开发者
移动应用与系统:探索开发实践与操作系统融合
【4月更文挑战第23天】 在数字化时代的浪潮中,移动应用与系统的发展已成为技术创新和商业竞争的前沿阵地。本文将深入探讨移动应用的开发实践、移动操作系统的最新趋势以及二者之间的紧密融合。通过分析跨平台工具的效能、原生开发的优化策略以及操作系统的定制化功能,旨在为开发者提供一个全面而深入的视角,以适应不断变化的市场需求和技术挑战。
|
2天前
|
存储 Linux API
软件体系结构 - 嵌入式系统(2)- 嵌入式操作系统
软件体系结构 - 嵌入式系统(2)- 嵌入式操作系统
7 0
|
13天前
|
监控 测试技术 Android开发
移动应用与系统:开发与操作系统的深度解析
【4月更文挑战第11天】在这篇文章中,我们将深入探讨移动应用的开发过程,以及移动操作系统如何影响这些应用的性能和功能。我们将详细分析移动应用开发的关键步骤,包括需求分析、设计、编码、测试和维护。同时,我们也将探讨移动操作系统,如Android和iOS,如何为应用开发提供支持,并影响其性能。
|
16天前
|
Java 物联网 Android开发
移动应用与系统:探索开发与操作系统的融合
【4月更文挑战第8天】 在数字化时代的浪潮中,移动应用与系统的发展已成为技术创新的前沿阵地。本文将深入探讨移动应用开发的关键技术、移动操作系统的架构演变以及两者之间的相互作用。通过对当前流行的开发工具、编程语言和操作系统特性的分析,我们旨在为开发者提供一套全面的指导,以优化移动应用的性能和用户体验。同时,文章还将展望移动技术的未来趋势,特别是在人工智能和物联网领域的潜在应用。
|
26天前
|
机器学习/深度学习 搜索推荐 vr&ar
移动应用与系统的未来:从开发到操作系统的全面解析
本文将探讨移动应用和系统的未来,包括移动应用开发的趋势,移动操作系统的进展,以及这两者如何相互影响。我们将深入探讨如何通过理解这些变化,来优化移动应用的性能和用户体验。
10 2
|
1月前
|
存储 Shell Linux
【Shell 命令集合 网络通讯 】⭐Linux 显示当前系统的主机名和操作系统类型 uuname命令 使用教程
【Shell 命令集合 网络通讯 】⭐Linux 显示当前系统的主机名和操作系统类型 uuname命令 使用教程
29 0
|
1月前
|
缓存 算法 安全
深入理解操作系统内存管理:分页系统的优势与挑战
【2月更文挑战第30天】 在现代操作系统中,内存管理是核心功能之一,它负责将有限的物理内存资源分配给多个并发运行的进程。分页系统作为内存管理的一种流行技术,其通过虚拟到物理地址的映射提供了程序的逻辑地址空间,并允许更高效的内存分配和保护。本文旨在探讨分页系统的关键优势,包括其如何提升内存利用率、实现内存保护以及支持多任务处理。同时,我们也将分析分页机制带来的挑战,诸如页面置换算法的效率问题、页表管理和TLB(Translation Lookaside Buffer)的维护等。