【计算机操作系统】操作系统的诞生

news2024/11/17 7:23:20

目录

相关概念:

一、手工操作阶段

二、脱机输入/输出阶段

(1)脱机输入技术

(2)脱机输出技术

三、单道批处理阶段

四、多道批处理阶段

五、分时技术产生

六、实时系统产生


相关概念:

    ① 作业:指用户程序 及其 所需数据和相关 操作命令的 集合

    ② 系统吞吐量:单位时间 内完成的 总工作量。

    ③ 平均周转时间长:从 作业被 提交到系统 开始,到作业完成为止的这段 时间间隔。

    ④ 单道程序:主存 储器中只 存放一个程序。当该程序发生 某种条件等待时,CPU暂停当前程序 的运行,处于 空闲状态

    ⑤ 批处理:将 作业组织 成批,依次 将该 批作业的 所有信息全部 输入计算机,计算机 按照作业 进入的先后 顺序依次 自动执行。

    ⑥ 时间片:一段很短 的时间( e.g. 30ms )。

一、手工操作阶段

        第一代计算机并没有操作系统,也没有任何软件,用户 直接用 机器语言和符号 语言编制程序,并在上机时独占 全部计算机资源。那时构成计算机的主要元件是电子管,计算机的 运算速度只有 几千次 / 秒,速度很慢。那时的用户既是程序员又是 操作员,上机完全是手工操作。

        操作员先把 装有程序和数据的 纸带(或卡片)装上输入机,接着 通知输入 设备接受卡片,输入的程序 放在 存储器的某个具体位置,紧接着通知 运算器 运行程序并处理数据。计算完毕,通知输出设备 打印机 输出结果。用户取走并卸下 纸带(或卡片)

        第二个程序 上机,依次执行上述过程。操作员 通过控制台 的各种开关 来指挥 以上各个部分的运行。这个时期 只有操作员才 能实现对计算机 的控制。

存在的几个突出问题:

    (1)用户独占全机。一台计算机 的所有 资源都 归一个用户 独占,造成 资源浪费

    (2)用户必须 熟悉计算机的 各个部分细节。用户 既是 操作员又是程序员,要求用户要熟悉计算机内部的每个细节,操作员是非常专业的,只有他们才能对计算机实行控制。

    (3)等待 人工操作。操作员的 手动速度 永远无法与 计算机的 速度相比,当用户 进行装卸纸带(或卡片)等手工操作时,机器是 空闲的,降低了 CPU 的使用 效率

二、脱机输入/输出阶段

        输入/输出操作在 主机控制下进行则称为 联机输入 / 输出。采用脱机 输入 / 输出 技术后,低速I/O 设备上数据的 输入 / 输出 都在外围机的控制下进行,而 CPU只与高速的 磁带机打交道,从而有效地 减少了 CPU 等待慢速设备 输入 / 输出 的时间。 

(1)脱机输入技术

        为 解决低速输入设备与 CPU 速度 不匹配的问题,可以将 用户程序和 数据在一台 外围机(又称卫星机 )的控制下,预先从 低速输入设备输入 到磁带上,当 CPU需要 这些程序和数据时,再 直接从磁带机高速输入到 内存,从而 大大加快了 输入的速度,减少了 CPU 等待 输入的 时间。

(2)脱机输出技术

        当程序运行完毕或告一段落,CPU 需要输出时,只需 高速地把结果送到磁带上,然后在 外围机的控制下,把 磁带上的计算结果 由相应的输出 设备输出。

三、单道批处理阶段

        20世纪50年代 早期,为了尽量 减少计算机运行中的人工干预,提高CPU的利用率,人们 设想使 用户程序在 运行完成后 自动过渡到 另一个用户程序,实现程序运行 的自动化。这不仅 可以克服手工操作的 缺点,实现了 作业自动过渡,还改善了 主机、CPU 和 输入 / 输出 设备的使用情况,提高了 计算机系统的 处理能力

        早期 批处理系统中,操作员把 用户提交的若干个作业,有选择的 合成一批,按先后 次序通过输入设备(纸带输入机或读卡机)读入 内存缓冲区,再存到 磁带上。然后在监督程序的监督下从磁带 读入一个作业,通过 汇编程序和编译程序,将一个 用户作业翻译成 目标代码,开始处理。处理完后又 读入下一个作业,直至 处理完磁带上的 所有作业。由于 系统对作业的 处理都是 分批进行的,且内存中始终只 保持一个作业,故称为 单道批处理

工作过程描述:

    ① 操作员将 收到的一批作业信息 存入 辅助存储器中 等待处理。

    ② 单道批 处理操作 系统从 辅助存储器中 依次选择 作业,按其 作业说明书的 规定 自动控制它的 运行,并将 运行结果 存入 辅助存储器。

    ③ 操作员 将该 批作业的运行结果 打印输出,并分 发给用户。

问题:

        当系统内只有 一道程序工作时,计算机 系统的各部件不一定能 并行操作,它们的效能没有 得到 充分发挥。

特点:

    ① 单路性:每次只 允许一个用户程序 进入内存。

    ② 独占性:整个系统 资源被 进入内存的一个 程序 独占使用,因此 资源利用率 不高。

    ③ 自动性:作业 一个一个地 自动接受处理,期间 任何用户 不得对系统的 工作进行干预。由于 没有了作业上、下机 时用户 手工操作 耗费的时间,提高了系统的 吞吐量

    ④ 封闭性:在一批作业 处理过程中,用户 不得干预系统的工作。即便 是某个程序执行中出现 一个很小的错误,也只能 等到这一批作业全部 处理完毕后,才能 进行修改,这给用户带来 不便。

四、多道批处理阶段

        不管 是脱机处理,还是早期批处理,它们都是 单道顺序的执行过程,即 一个用户程序执行完毕,才 允许启动另一个 用户程序。这种系统经常出 现资源使用不充分 和 不均衡的现象,影响了系统的 效率。

        于是人们想到在 内存中驻留几道 程序,当一个程序 因某种原因不能执行而 暂停时,能将另一道程序 投入运行,使 硬件资源得到充分利用。于是出现了 多道程序技术

        多道程序设计技术 是指 在内存中 驻留多个作业,外存中存放的作业 形成等待队列。 当某作业处理结束 或因某种 原因不能运行时,系统 根据一定的 调度原则从 外存中调入 几个作业进入 内存,让它们 交替进行,使得处理机 充分利用。

        通道,实质是一台功能单一、结构简单的 I/O 处理机,它独立于 CPU,并 直接控制 外部设备与 主机之间的 信息传送。当需要进行 I/O 时,CPU 启动通道,之后 CPU 继续执行 其他程序,通道就可以 独立工作。

        通道 执行通道程序,完成 外部设备的启动、关闭以 及信息传输 等操作;在传送规定的数据后,它才向 CPU 发出一次中断请求,CPU 终止正在运行的程序,进行中断处理,处理完后,返回中断点 继续工作。

        这种 处理方式在单处理机 系统中,从微观上来看只能 交替运行,而 宏观上可以认为它们是 并行的。将 多道程序技术 引入批处理系统 就形成了一个 多道批处理系统

        上图中,用户程序 A 首先在处理机上运行,当它 需要输入数据时,系统为它启动 输入机进行输入工作,并调度 用户程序 B 开始运行。当程序 B 请求输出时,系统又 启动相应 的外部设备进行工作。当程序 A 的 I/O 处理结束时,程序 B 仍在CPU上运行,则程序 A 等待,直到程序 B 计算结束 请求输出时,才转入程序 A 的执行。

工作过程描述:

    ①  操作员将收到的 一批作业信息存入 辅助存储器 中等待处理。

    ② 多道批 处理 操作系统 中的 作业调度程序从 辅助存储器 里的该 批作业中选出 若干合适的作业 装入内存,使它们 不断地 轮流占用 CPU 来执行,使用各自 所需的 外部设备。若内存中有 作业运行结束,再从 辅助存储器 的后备作业 中选择 对象装入 内存执行。

    ③ 操作员 将该 批作业的运行结果 打印输出,分发给 用户。

特点:

    ① 多道性:计算机 内存中 同时存放 几道相互独立的 程序。

    ② 并行性:同时 进入系统的几道程序都 处于运行过程中,即 它们都 开始运行,但 都未运行 完毕。从而有效 地提高了 资源利用率和系统的 吞吐量

    ③ 串行性:从微观 上看,主存中的 多道程序轮流 或 分时地 占有处理机,交替 执行。

    ④ 无序性:多道 程序执行的 先后顺序 与 它们进入 内存的 时间无 严格的 对应性,也许先进入 内存的程序 后完成,而后 进入内存 的程序先 完成。

        现代计算机上的批处理系统,多为 多道批处理系统。

五、分时技术产生

        20世纪60年代 中期,主机速度的 不断提高,使 一台计算机同时为多个终端用户服务成为可能。采用 分时技术,使 每个终端用户 在自己的 终端设备上 都以 联机方式 使用计算机, 好像自己 独占机器一样。

        分时技术,就是把处理机时间 划分成很短的 时间片 轮流地分配给 各个用户程序使用,如果某个 用户程序在分配的 时间片用完之前 还未完成计算,该程序就 暂停执行,等待 下一轮继续计算,此时 处理机让给 另一个用户程序使用。这样,每个用户 的各次要求都能得 到快速响应,给每个用户的印象是 独占一台计算机。

特点:

    ① 多路性:在一台 主机上 连接多个 用户终端。从 宏观上看,多个 用户同时 工作,共享系统的 资源;从 微观上看,各终 端程序 是轮流 使用一个 时间片的。多路性 提高了 系统资源的 整体利用率

    ② 交互性:用户在 终端上 能随时 通过 键盘与 计算机 进行 “ 会话 ” ,从而 获得系统的 各种服务,并控制 作业程序的 运行。交互性 使用户 能随时 掌握自己作业 程序的 执行情况,为 用户调试、修改以及控制 程序的 执行提供了 极大的便利。

    ③ 独立性:每个用户 在自己的 终端上 独立操作,互不干扰,感觉 不到其他 用户的存在,就如同自己 “ 独占 ” 该系统似的。

    ④ 及时性:用户程序轮流执行 CPU 的一个 时间片,但 由于计算机的 高速处理能力,能保证在较短 和可 容忍的时间内,响应 和 处理用户请求

六、实时系统产生

        其主要特征,是将时间作为 关键参数,它必须对所接受的某些信号做出 “ 及时 ” 或 “ 实时 ”的反应。由此得知,实时系统是指 系统能及时 响应外部事件 的请求,在规定 的时间内 完成对该事件的 处理,并控制 所有事实 任务协调一致 地运行

        实时系统的 响应时间是由被控对象的要求决定的,一般要求秒级、毫秒级、微秒级甚至更快的响应时间。

类型:

    ① 工业(武器)控制系统。

    ② 信息查询系统。

    ③ 多媒体系统。

    ④ 嵌入式系统。

特点:

    ① 实时性:分时系统的 “ 及时性 ” ,是一种 在用户可以 容忍的时间内响 应用户 请求的时间性能。对 于实时系统而言,这种 及时性应该表现为 更高,对外部事件 信号的 接收、分析处理 以及 给出 反馈信号 进行控制,都必须在 严格的 时间限度内 完成。因此,这时的 及时性称为 “ 实时性 ” 。

    ② 可靠性:无论 是 实时控制系统 还是 实时信息 处理系统,都必须有 高度的 可靠性。例如 对于后者,计算机 在接收到 远程终端 发来的服务请求 后,系统 应该根据 用户提出的 问题,对信息 进行 检索 和 处理,并在有限的时间内 做出正确的 回答。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1488819.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据结构从入门到精通——链表

链表 前言一、链表1.1 链表的概念及结构1.2 链表的分类1.3 链表的实现1.4 链表面试题1.5 双向链表的实现 二、顺序表和链表的区别三、单项链表实现具体代码text.htext.cmain.c单链表的打印空间的开辟链表的头插、尾插链表的头删、尾删链表中元素的查找链表在指定位置之前、之后…

【C++基础】STL容器面试题分享||上篇

🌈欢迎来到C基础专栏 🙋🏾‍♀️作者介绍:前PLA队员 目前是一名普通本科大三的软件工程专业学生 🌏IP坐标:湖北武汉 🍉 目前技术栈:C/C STL 1.请说说 STL 的基本组成部分2.详细的说&…

SwiftUI 在 App 中弹出全局消息横幅(下)

功能需求 在 SwiftUI 开发的 App 界面中,有时我们需要在全局层面向用户展示一些消息: 如上图所示:我们弹出的全局消息横幅位于所有视图之上,这意味这它不会被任何东西所遮挡;而且用户可以点击该横幅关闭它。这是怎么做到的呢? 在本篇博文中,您将学到以下内容 功能需求…

C++/WinRT教程(第三篇)API的使用

目录 前言 Windows API 在WinRT中的投影 C/WinRT的头文件(投影标头) 通过对象、接口或通过 ABI 访问成员 投影类型的初始化方法 不要错误地使用延迟初始化 不要错误地使用复制构造 使用 winrt::make 进行构造 标准构造方法 在WinRT组件中实现A…

Linux--文件(2)-重定向和文件缓冲

命令行中的重定向符号 介绍和使用 在Linux的命令行中,重定向符号用于将命令的输入或输出重定向到文件或设备。 常见的重定向符号: 1.“>“符号:将命令的标准输出重定向到指定文件中,并覆盖原有的内容。 2.”>>“符号&a…

C/C++工程师面试题(STL篇)

STL 中有哪些常见的容器 STL 中容器分为顺序容器、关联式容器、容器适配器三种类型,三种类型容器特性分别如下: 1. 顺序容器 容器并非排序的,元素的插入位置同元素的值无关,包含 vector、deque、list vector:动态数组…

[Unity3d] 网络开发基础【个人复习笔记/有不足之处欢迎斧正/侵删】

TCP/IP TCP/IP协议是一 系列规则(协议)的统称,他们定义了消息在网络间进行传输的规则 是供已连接互联网的设备进行通信的通信规则 OSI模型只是一个基本概念,而TCP/IP协议是基于这个概念的具体实现 TCP和UDP协议 TCP:传输控制协议,面向连接&#xff0c…

面试经典150题——简化路径

"A goal is a dream with a deadline." - Napoleon Hill 1. 题目描述 2. 题目分析与解析 2.1 思路一 这个题目开始看起来并不太容易知道该怎么写代码,所以不知道什么思路那就先模拟人的行为,比如对于如下测试用例: 首先 /代表根…

YOLOv8姿态估计实战:训练自己的数据集

课程链接:https://edu.csdn.net/course/detail/39355 YOLOv8 基于先前 YOLO 版本的成功,引入了新功能和改进,进一步提升性能和灵活性。YOLOv8 同时支持目标检测和姿态估计任务。 本课程以熊猫姿态估计为例,将手把手地教大家使用C…

使用TensorRT-LLM进行生产环境的部署指南

TensorRT-LLM是一个由Nvidia设计的开源框架,用于在生产环境中提高大型语言模型的性能。该框架是基于 TensorRT 深度学习编译框架来构建、编译并执行计算图,并借鉴了许多 FastTransformer 中高效的 Kernels 实现,并且可以利用 NCCL 完成设备之…

深入理解nginx的https alpn机制

目录 1. 概述2. alpn协议的简要理解2.1 ssl的握手过程2.2 通过抓包看一下alpn的细节3. nginx源码分析3.1 给ssl上下文设置alpn回调3.2 连接初始化3.3 处理alpn协议回调3.4 握手完成,启用http协议4.4 总结阅读姊妹篇:深入理解nginx的https alpn机制 1. 概述 应用层协议协商(…

大地测量学课堂笔记:1、绪论

慕课网址:https://www.icourse163.org/course/WHU-1464124180?fromsearchPage&outVendorzw_mooc_pcssjg_https://www.icourse163.org/course/WHU-1464124180?fromsearchPage&outVendorzw_mooc_pcssjg_ 1. 大地测量学的定义 大地测量学是专门研究精确测量…

【数据结构】复杂度详解

目录 (一)算法的复杂度 (二)时间复杂度 (1)练笔解释: i,示例1 ii,示例2 iii,二分查找 iv,斐波那契 (三)空间复杂度…

java中的set

Set Set集合概述和特点 不可以存储重复元素 没有索引,不能使用普通for循环遍历 哈希值 哈希值简介 是JDK根据对象的地址或者字符串或者数字算出来的int类型的数值 如何获取哈希值 Object类中的public int hashCode():返回对象的哈希码值。 哈希值的特点 同一个…

【ARM Trace32(劳特巴赫) 高级篇 21 -- SystemTrace ITM 使用介绍】

文章目录 SystemTrace ITMSystemTrace ITM 常用命令Trace Data AnalysisSystemTrace ITM CoreSight ITM (Instrumentation Trace Macrocell) provides the following information: Address, data value and instruction address for selected data cyclesInterrupt event info…

C++基于多设计模式下的同步异步日志系统day5

C基于多设计模式下的同步&异步日志系统day5 📟作者主页:慢热的陕西人 🌴专栏链接:C基于多设计模式下的同步&异步日志系统 📣欢迎各位大佬👍点赞🔥关注🚓收藏,&am…

技术总结: PPT绘图

目录 写在前面参考文档技巧总结PPT中元素的连接立方体调整厚度调整图形中的文本3D 图片调整渐变中的颜色 写在前面 能绘制好一个好看的示意图非常重要, 在科研和工作中好的示意图能精准表达出自己的想法, 减少沟通的成本, 可视化的呈现也可以加强自身对系统的理解, 时间很久后…

Unity 协程(Coroutine)到底是什么?

参考链接:Unity 协程(Coroutine)原理与用法详解_unity coroutine-CSDN博客 为啥在Unity中一般不考虑多线程 因为在Unity中,只能在主线程中获取物体的组件、方法、对象,如果脱离这些,Unity的很多功能无法实现,那么多线程…

python lambda表达式(匿名函数)

lambda 表达式 在Python中,匿名函数(也称为lambda函数)是一种简洁的方式来定义小函数,这些函数可以在需要的地方直接定义和使用,而不需要使用def关键字来定义一个具有名称的函数。 lambda 函数是一种小型、匿名的、内…

vue+element ui上传图片到七牛云服务器

本来打算做一个全部都是前端完成的资源上传到七牛云的demo,但是需要获取token,经历了九九八十一难,最终还是选择放弃,token从后端获取(springboot)。如果你们有前端直接能解决的麻烦记得私我哦!…