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

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

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

系统调用

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

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

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

目录
相关文章
|
1月前
|
缓存 安全 Linux
Linux系统查看操作系统版本信息、CPU信息、模块信息
在Linux系统中,常用命令可帮助用户查看操作系统版本、CPU信息和模块信息
109 23
|
1月前
|
监控 搜索推荐 开发工具
2025年1月9日更新Windows操作系统个人使用-禁用掉一下一些不必要的服务-关闭占用资源的进程-禁用服务提升系统运行速度-让电脑不再卡顿-优雅草央千澈-长期更新
2025年1月9日更新Windows操作系统个人使用-禁用掉一下一些不必要的服务-关闭占用资源的进程-禁用服务提升系统运行速度-让电脑不再卡顿-优雅草央千澈-长期更新
128 2
2025年1月9日更新Windows操作系统个人使用-禁用掉一下一些不必要的服务-关闭占用资源的进程-禁用服务提升系统运行速度-让电脑不再卡顿-优雅草央千澈-长期更新
|
2月前
|
JSON iOS开发 数据格式
tauri2-vue3-macos首创跨平台桌面OS系统模板
自研Tauri2.0+Vite6+Pinia2+Arco-Design+Echarts+sortablejs桌面端OS管理平台系统。提供macos和windows两种桌面风格模式、自研拖拽式栅格引擎、封装tauri2多窗口管理。
167 3
|
2月前
|
安全 前端开发 Android开发
探索移动应用与系统:从开发到操作系统的深度解析
在数字化时代的浪潮中,移动应用和操作系统成为了我们日常生活的重要组成部分。本文将深入探讨移动应用的开发流程、关键技术和最佳实践,同时分析移动操作系统的核心功能、架构和安全性。通过实际案例和代码示例,我们将揭示如何构建高效、安全且用户友好的移动应用,并理解不同操作系统之间的差异及其对应用开发的影响。无论你是开发者还是对移动技术感兴趣的读者,这篇文章都将为你提供宝贵的见解和知识。
|
2月前
|
人工智能 搜索推荐 Android开发
移动应用与系统:探索开发趋势与操作系统演进####
本文深入剖析了移动应用开发的最新趋势与移动操作系统的演进历程,揭示了技术创新如何不断推动移动互联网生态的变革。通过对比分析不同操作系统的特性及其对应用开发的影响,本文旨在为开发者提供洞察未来技术方向的视角,同时探讨在多样化操作系统环境中实现高效开发的策略。 ####
35 0
|
2月前
|
5G 数据安全/隐私保护 Android开发
移动应用与系统:探索开发趋势与操作系统革新####
本文深入剖析当前移动应用开发的最新趋势,涵盖跨平台开发框架的兴起、人工智能技术的融合、5G技术对移动应用的影响,以及即时应用的发展现状。随后,文章将探讨主流移动操作系统的最新特性及其对开发者社区的影响,包括Android的持续进化、iOS的创新举措及华为鸿蒙OS的崛起。最后,还将讨论移动应用开发中面临的挑战与未来的发展机遇,为读者提供全面而深入的行业洞察。 ####
|
3月前
|
人工智能 5G 开发工具
移动应用与系统的未来趋势:开发、操作系统创新及挑战###
本文探讨了移动应用开发和移动操作系统的最新发展趋势,包括人工智能的集成、跨平台开发工具的兴起以及5G技术对移动生态的影响。同时,还分析了开发者面临的主要挑战,如安全性问题、性能优化和用户体验提升等。通过具体案例和技术解析,本文旨在为开发者提供前瞻性指导,帮助他们在快速变化的移动科技领域保持竞争力。 ###
|
5天前
|
运维 自然语言处理 Ubuntu
OS Copilot-操作系统智能助手-Linux新手小白的福音
OS Copilot 是阿里云推出的一款操作系统智能助手,专为Linux新手设计,支持自然语言问答、辅助命令执行和系统运维调优等功能。通过简单的命令行操作,用户可以快速获取所需信息并执行任务,极大提升了Linux系统的使用效率。安装步骤简单,只需在阿里云服务器上运行几条命令即可完成部署。使用过程中,OS Copilot不仅能帮助查找命令,还能处理文件和复杂场景,显著节省了查找资料的时间。体验中发现,部分输出格式和偶尔出现的英文提示有待优化,但整体非常实用,特别适合Linux初学者。
49 10
|
3月前
|
安全 Linux 数据安全/隐私保护
Vanilla OS:下一代安全 Linux 发行版
【10月更文挑战第30天】
114 0
Vanilla OS:下一代安全 Linux 发行版
|
1月前
|
弹性计算 自然语言处理 Ubuntu
OS Copilot-操作系统智能助手-Linux新手小白的福音
OS Copilot是由阿里云推出的操作系统智能助手,专为Linux新手设计,支持自然语言问答、辅助命令执行等功能,极大提升了Linux系统的使用效率。用户只需通过简单的命令或自然语言描述问题,OS Copilot即可快速提供解决方案并执行相应操作。例如,查询磁盘使用量等常见任务变得轻松快捷。此外,它还支持从文件读取复杂任务定义,进一步简化了操作流程。虽然在某些模式下可能存在小问题,但总体上大大节省了学习和操作时间,提高了工作效率。
134 2
OS Copilot-操作系统智能助手-Linux新手小白的福音