操作系统发展历程

news2025/1/12 3:59:04

手工操作阶段(此阶段无操作系统)

用户在计算机上算题的所有工作都要人工干预。该阶段有两个突出缺点:

  1. 用户独占全机,虽然不会出现因资源已被其他用户占用而等待的现象,但资源利用率低。

  2. CPU等待手工操作,CPU的利用不充分

唯一的解决办法就是用高速的机器代替相对较慢的手工操作来对作业进行控制。

批处理阶段(操作系统开始出现)

为了解决人机矛盾以及CPU和I/O设备之间速度不匹配的矛盾,出现了批处理系统。批处理系统主要分为单道批处理系统多道批处理系统(多道程序设计技术出现以后)

单道批处理系统

系统对作业的处理是成批进行的,但是内存中始终只允许一道作业。特征如下:

  1. 自动性,一般不需要人工干预

  2. 顺序性,各道作业的完成顺序和它们进入内存的顺序一般情况下完全相同

  3. 单道性,内存中只有一道程序在允许。

此时面临的问题是:每次主机中仅存放一道作业,每当它在运行期间发出输入/输出请求后,高速的CPU便处于等待低速I/O的状态。(说白了就是高速的CPU和低速的I/O设备之间的矛盾)为了提高资源的利用率和系统的吞吐量,引入了多道程序技术。

多道批处理系统

多道程序设计技术允许多个程序同时进入内存并允许它们在CPU中交替地运行。这些程序共享系统中的各种硬/软件资源。当一道程序因为I/O请求而暂停运行的时候,CPU就立即转去运行另一个程序(解决的单道批处理系统的矛盾点)多道程序设计的特点是多道,宏观上并行,微观上串行(类似于并发)

  1. 多道,计算机内存中同时存放多道相互独立的程序

  2. 宏观上并行,同时进入系统的多道程序都处于运行过程中,即它们先后开始各自的运行,但都未运行完毕

  3. 微观上串行,内存中的多道程序轮流占有CPU,交替执行(并发)

优点:

  1. 资源利用率高,多道程序共享计算机资源,从而使各种资源得到充分利用

  2. 系统吞吐量大,CPU和其他资源保持"忙碌状态"

缺点:

  1. 用户响应时间长

  2. 不提供人机交互能力,用户不能查看程序运行情况和控制计算机

特点:

  1. 用户脱机使用计算机

  2. 作业成批处理

  3. 交互能力差

分时操作系统

分时技术指把处理器的运行时间分成很短的时间片,按时间片轮流把处理器分配给各联机作业使用。如果一个程序没能在规定时间内完成,那么就暂停这个程序的运行,先给下一位程序运行,直到属于这个程序的时间片再次到来。如此一来,对于同一个计算机的多个用户而言,感觉上都想每个用户自己独占一台计算机

多道批处理系统使时间作业的自动控制而无需人工干预的系统,而分时系统是实现人机交互的系统

特征:

  1. 同时性,又称多路性。指允许多个终端用户同时使用一台计算机

  2. 交互性,指用户通过终端采用人机对话的方式直接控制程序运行

  3. 独立性,指多个用户之间可以彼此独立地运行程序,互不干扰

  4. 及时性,指用户能在较短时间内获得响应

实时操作系统

为了能在某个时间限制内完成某些紧急任务而不需要时间片排队,诞生了实时操作系统。这里的时间限制可以分成两种情况:

  1. 硬实时系统,指某个动作必须绝对地在规定的时刻发生,例如飞行器的自动控制系统

  2. 软实时系统,指能够接受偶尔违反时间规定且不会引起任何永久性的损害,如飞机订票系统

在实时操作系统的控制下,计算机系统接收到外部信号后及时进行处理,并在严格的时间限内处理接受完的事件

特征:

  1. 及时性

  2. 可靠性

  3. 资源利用率低(题目总结)

主要追求目标:

  1. 安全可靠

  2. 及时响应

  3. 快速处理

实时操作系统允许牺牲资源利用率来确保实时操作系统的可靠与实时性

网络操作系统和分布式计算机系统

网络操作系统

网络操作系统把计算机网络中的各台计算机有机的结合起来。提供一种统一,经济而有效的使用各台计算机的方法,实现各台计算机之间数据的互相传送。网络操作系统中最主要的特点是网络中各种资源的共享和各台计算机之间的通信。(计算机网络的定义:计算机网络是一个将分散的,具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统)

分布式计算机系统

由多台计算机组成并满足下列条件的系统:

  1. 系统中任意两台计算机通过通信方式交换信息

  2. 系统中的任意台计算机都可以构成一个子系统,并且还能重构

  3. 任何工作都可以分布在几台计算机上,由它们并行工作,协同完成(好比装修一个房子,A去把地砖铺好,B去把墙刷好,两个并行进行)

用于管理分布式计算及系统的操作系统称为分布式计算及系统。

特征:

  1. 分布性

  2. 并行性

与网络操作系统的区别

分布式操作系统由若干个计算机互相协助完成同一个任务,而网络操作系统终究是由一个计算机完成一个任务

个人计算机操作系统

目前最广泛的操作系统,广泛应用于文字处理,电子表格,游戏中。常见的有Windows,Linux等。

其它操作系统

嵌入式操作系统,服务器操作系统,智能手机操作系统等

操作系统发展历程 

 

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

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

相关文章

【虚拟机搭建】win11搭建虚拟机两种方式:【virtualbox+vagrant】【VMware】(附centos系统、附安装包)

描述 本教程windows系统搭建虚拟机方式,主要包含两种方式,分别是:【vagrantvirtualbox】和【VMware】推荐大家使用【vagrantvirtualbox】方式进行安装,也可根据自己喜好进行选择本教程安装包 包含三种下载方式,分别是…

关于Could not build wheels for opencv-python-headless, which is...报错的解决方案

在通过最新版pip在线安装package:opencv-python-headless的时候,会产生报错信息,主要为 ERROR: Failed building wheel for opencv-python-headless ERROR: Could not build wheels for opencv-python-headless, which is required to insta…

Active Directory(活动目录)用户登录管理

活动目录用户登录管理 ADManager Plus 通过其预定义的用户登录报告简化了跟踪,监控和整合Active Directory用户登录特定数据的艰巨任务。Active Directory用户登录特定信息,如登录时间,登录历史记录,登录尝试,用户登录…

【钓鱼实测】写bug给new bing和chatGPT查。问他们林黛玉倒拔垂杨柳

BUG 错误代码 #include <iostream> #include <vector> using namespace std; int main() {vector<int> vec{1,2,3,2,4};for (auto iter vec.begin(); iter ! vec.end(); iter ){if (*iter 2) {vec.erase(iter);}}cout << vec.size() << endl…

Elasticsearch:如何正确处理 Elasticsearch 摄取管道故障

在我之前的文章 “Elastic&#xff1a;开发者上手指南” 中的 “Ingest pipeline” 章节中个&#xff0c;我有很多文章是关于 ingest pipeline 的。在今天的文章中&#xff0c;我将重点介绍如何处理在摄取管道中的错误。在我之前的文章 “Elasticsearch&#xff1a;如何处理 in…

Mybatis-Plus 开发提速器:mybatis-plus-generator-ui

Mybatis-Plus 开发提速器&#xff1a;mybatis-plus-generator-ui 1.简介 github地址 &#xff1a; https://github.com/davidfantasy/mybatis-plus-generator-ui 提供交互式的Web UI用于生成兼容mybatis-plus框架的相关功能代码&#xff0c;包括Entity,Mapper,Mapper.xml,Se…

Python(青铜时代)——模块与包

模块 模块是Python 程序架构的一个核心概念 模块好比是 工具包&#xff0c;要想使用这个工具包中的工具&#xff0c;需要使用 import 这个关键字进行导入这个工具包 每一个以扩展名 py 结尾的 Python 源代码文件都是一个 模块 在模块中定义的 全局变量、函数 都是模块能够提…

Laravel-admin之自定义操作日志

laravel-admin是封装性极好的框架&#xff0c;自带的就有操作日志的记录&#xff0c;但是对于非开发人员可能看不懂这个日志&#xff0c;所以就想着给修改一下&#xff0c;以谁修改了什么&#xff0c;谁删除了什么&#xff0c;谁审核了什么&#xff0c;谁添加了什么类似&#x…

【java web篇】数据库连接池Driud的使用

&#x1f4cb; 个人简介 &#x1f496; 作者简介&#xff1a;大家好&#xff0c;我是阿牛&#xff0c;全栈领域优质创作者。&#x1f61c;&#x1f4dd; 个人主页&#xff1a;馆主阿牛&#x1f525;&#x1f389; 支持我&#xff1a;点赞&#x1f44d;收藏⭐️留言&#x1f4d…

Apache DolphinScheduler 3.1.4 版本发布,修复一键安装报错问题

点击蓝字 关注我们2 月 27 日&#xff0c;Apache DolphinScheduler 发布了 3.1.4 版本。此版本共计修复 11 个 bug&#xff0c;并更新 1 个文档修复。其中的较为重要的 Bug fix 为&#xff1a;修复任务唤醒失败会阻塞事件处理 (#13466)修复 k8s 任务运行失败 (#13348) 修复 Me…

NodeJs 中的 HTML 模板

&#x1f482; 个人网站:【海拥】【摸鱼游戏】【神级源码资源网】&#x1f91f; 前端学习课程&#xff1a;&#x1f449;【28个案例趣学前端】【400个JS面试题】&#x1f485; 想寻找共同学习交流、摸鱼划水的小伙伴&#xff0c;请点击【摸鱼学习交流群】 HTML 模板是一种允许我…

信息系统基本知识(二)

大纲 信息系统与信息化信息系统开发方法常规信息系统集成技术软件工程新一代信息技术信息系统安全技术信息化发展与应用信息系统服务管理信息系统服务规划企业首席信息管及其责任 1.3 常规信息系统集成技术 系统集成&#xff1a;是指将计算机软硬件、网络通信等技术和产品集…

金三银四,助力你的大厂梦,2023年软件测试经典面试真题(1)(共3篇)

前言 金三银四即将到来&#xff0c;相信很多小伙伴要面临面试&#xff0c;一直想着说分享一些软件测试的面试题&#xff0c;这段时间做了一些收集和整理&#xff0c;下面共有三篇经典面试题&#xff0c;大家可以试着做一下&#xff0c;答案附在后面&#xff0c;希望能帮助到大…

如何实现双轮差速底盘躲避悬崖的功能?

1. 功能说明 本实验使用的样机为R023样机小型双轮差速底盘。在样机前方安装3个近红外传感器 &#xff0c;实现机器人躲避悬崖、在某平台上移动时不会掉下去的效果。 2. 电子硬件 在这个示例中&#xff0c;我们采用了以下硬件&#xff0c;请大家参考&#xff1a; 主控板Basra&…

C/C++每日一练(20230301)

目录 1. 冒泡排序法排序 ★ 2. 有效的数独 ★★ 3. 不同的二叉搜索树 II ★★ 附录 二叉搜索树 1. 冒泡排序法排序 输入n&#xff08;1≤n≤10&#xff09;个整数&#xff0c;用冒泡排序法对其从小到大排序&#xff0c;共进行n-1趟&#xff0c;要求输出每一趟的排序情…

操作系统页表

页和段的区别 页式&#xff0c;一个程序的各页是根据你的程序空间连续编址的&#xff0c;程序地址空间只有一维&#xff1b; 而段式&#xff0c;一个程序拆分成各段&#xff0c;独立编址&#xff08;各段都从零开始编址&#xff09;&#xff0c;程序地址空间有两维。 例如一…

人工智能高等数学--微积分_导数意义_求导公式_绝对值函数_relu函数_导数物理意义_几何意义---人工智能工作笔记0025

实际上这里看了看,这些数学的概念,有一定作用,但是综合来看,也可以先把人工智能课程都看一遍,大概知道怎么回事, 带着目的再来看人工智能的高等数学部分,这里,这些内容很花时间... 首先看人工智能用到的数学中的微积分~ 首先看这里的导数是什么意思? 其实就是,导数的公式是…

Ajax学习笔记01

引入 翻译成中文就是“异步的Javascript和XML”。即使用Javascript语言与服务器进行异步交互&#xff0c;传输的数据为XML&#xff08;当然&#xff0c;传输的数据不只是XML&#xff09;。 AJAX 不是新的编程语言&#xff0c;而是一种使用现有标准的新方法。 AJAX 最大的优点…

word中运行Mathtype报错、以及WordCmds.dot报错问题解决方案

1. 首先&#xff0c;先把电脑里的Mathtype卸载干净&#xff0c;然后重新安装。也可以尝试直接覆盖安装。 2. 安装之后将Mathtype里面的以下几个文件拷出来安装到不同的文件夹中&#xff1a; Office Support文件夹中&#xff1a; MathType Commands 2016.dotm WordCmds.dot …

【Leedcode】栈和队列必备的面试题(第三期)

【Leedcode】栈和队列必备的面试题&#xff08;第三期&#xff09; 文章目录【Leedcode】栈和队列必备的面试题&#xff08;第三期&#xff09;一、题目&#xff08;用两个栈实现队列&#xff09;二、思路图解1.定义两个栈2.初始化两个数组栈3. 将数据放入pushST数组栈中4.删除…