操作系统

news2024/11/28 10:36:40

文章目录

  • 一,操作系统是什么
  • 二,操作系统的发展史
    • 1) 1945~1955年
    • 2) 1955~1965年:首个操作系统诞生
    • 3) 1964~1979年:多道程序系统诞生
    • 4) 1979~至今:网络操作系统和分布式操作系统快速发展
  • 三,操作系统的类别


一,操作系统是什么

《计算机硬件和软件》一节中提到,操作系统是软件,更准确地说是系统软件。一个没有安装操作系统的计算机,普通用户是无法使用的。

计算机运行过程中,操作系统往往扮演着中间人(或者中介)的角色。比如单纯的计算机硬件和应用程序之间,本身是无法实现通信的,操作系统为它们建立起了沟通的通道,使它们能够一起工作,完成用户指定的任务。
在这里插入图片描述

除此之外,操作系统还充当着用户和计算机硬件之间的中间人。我们知道,绝大多数操作系统都为用户提供了友好的图形操作界面,即打开计算机后在屏幕上看到的计算机桌面。一方面,用户可以在桌面上打开多个文件或应用程序;另一方面,操作系统会一直在计算机后台控制、协调各个硬件的工作,完成用户指定的操作。

根据运行状态的不同,可以将在操作系统中运行的应用程序分为 2 类,分别为前台执行程序和后台执行程序。所谓前台执行程序,指的是用户直接可以在计算机桌面或者任务栏中找到的应用程序;而后台执行程序,指的是没有显示在计算机桌面上、但实际却在运行的应用程序。以 Windows 为例,用户可以借助任务管理器查看并管理所有的后台执行程序。

二,操作系统的发展史

操作系统的发展,大致经历了以下几个重要的阶段。

1) 1945~1955年

这个时期处于第二次世界大战,数字计算机还尚未诞生,初期仍采用机械式继电器作为计算机的主要运算部件。由于机械式继电器的运算效率太差,后续又改用真空管作为主要部件。

但即便如此,计算机的性能问题也没有得到解决,由此还产生了新的问题,即整套机器由成千上万个真空管构成,体积过于庞大。不仅如此,每台机器都需要一群人来设计、编写程序并提供维护,限于当时还没有诞生任何的编程语言以及操作系统,开发人员只能使用机器语言编写程序。

处于这一时期的程序员,开发的系统主要用于数值计算,他们需要提前预约并争取到计算机的使用资格后,才能利用计算机执行他的程序。20 世纪 50 年代,穿孔卡片被引入到计算机中,程序员可以将程序编写到穿孔卡片上,然后交由计算机执行,在一定程序上提高了计算机的性能。

2) 1955~1965年:首个操作系统诞生

这一阶段的重要标志是晶体管的问世,通过用晶体管代替真空管,计算机的运行结果更加可靠,此类计算机通常称为“大型计算机”(简称大型机)。但受到价格的影响,大型机并不普及,仅有政府和一些大型的机构、公司负担得起这笔费用。

大型机的使用,要求程序员先将程序写到纸上,然后存储到打孔卡片中,随后卡片会被带到输入室并由指定操作员将其插入到输入设备中,计算机会将处理结果经位于输出室的打印机打印出来,交给程序员。显然,整个过程是非常繁琐的,当时的解决方案就是使用批处理系统。

批处理系统,其本质就是运行在计算机上的一个系统软件,在它的控制下,计算机能够自动地、成批地处理一个或多个用户的任务。

具体来讲,在批处理系统的协助下,多个用户的任务将被收集起来并一起送到输入室。操作员会将这些任务统一读取到一块磁带(当时的存储工具)中,然后经过磁带机传输给计算机。操作员会手动操作计算机读取第一个任务并运行它,同时将处理结果生成到另一个磁带上,然后批处理系统会自动读取下一个任务,下下个任务…,直到处理完所有的任务。批处理过程完成后,操作员会将 2 块磁带取出,并开启下一次批处理过程。所有的处理结果会从存储处理结果的磁带中获取。

批处理系统主要用于工程设计制造和科学计算。这一代计算机使用了首个操作系统,通常称其为 FMS 操作系统。

3) 1964~1979年:多道程序系统诞生

1964 年,IBM 360系统计算机诞生。这一代计算机用硅芯片取代晶体管,并且此阶段开发出的操作系统,可以同时执行多个应用程序(称为多道程序系统),其中一些多道程序系统还兼具批处理、实时处理等功能。

4) 1979~至今:网络操作系统和分布式操作系统快速发展

这一时期,计算机内部的芯片往往由上千个晶体管构成,个人计算机(即微型计算机)和工作站出现并得到了快速的发展,从而也促进了网络操作系统和分布式操作系统的发展。

所谓网络操作系统,除具备先前操作系统所具有的诸如内存管理、文件管理、CPU 管理等功能外,还可以为计算机提供高效、可靠的网络通信能力,包括远程管理、文件传输、远程打印、电子邮件等。

而分布式操作系统,即具备分布式处理能力的操作系统,即该操作系统可以将位于不同地点、具备不同功能、拥有不同数据的多台计算机,通过网络连接起来,系统会统一管理、控制这些资源,从而可以完成大规模地数据处理。

Dos、Linux 以及 Windows 操作系统,就是这一时期网络操作系统和分布式操作系统的典型代表。

三,操作系统的类别

通过了解操作系统的发展史就不难理解,伴随着计算机硬件和软件的发展,先后诞生了多种操作系统。

根据不同操作系统各自的特点,大致可以将它们分为 5 类,分别为批处理操作系统、分时操作系统、分布式操作系统、网络操作系统以及实时操作系统。前面的讲解过程中,我们已经对批处理操作系统、分布式操作系统以及网络操作系统做了简单的介绍,接下来给大家介绍一下另外 2 种操作系统的特性。

分时操作系统最大的特点是,它支持位于不同终端的多个用户同时使用一台计算机,这些用户共享计算机的资源。举一个典型的例子,在该类型操作系统中所有用户共享 CPU,每个用户都可以向计算机发布任务,而 CPU 会以一定的顺序逐个执行这些任务。

实时操作系统是专为实时应用程序开发的,所谓实时应用程序,即这些应用程序必须在指定时间内对数据进行处理。实时操作系统最大的特性可总结为快速输入和及时响应。例如在炼油厂中,如果油的温度过高并超过阈值,就应立即响应,对此情况做及时处理。实时操作系统常用于控制科学仪器,并作为导弹发射系统、交通灯控制系统、空中交通管制系统等。

对于操作系统的 5 大分类,简单了解即可。

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

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

相关文章

静态HTML旅行主题网页设计与实现——联途旅游网服务平台网(39页)HTML+CSS+JavaScript

👨‍🎓学生HTML静态网页基础水平制作👩‍🎓,页面排版干净简洁。使用HTMLCSS页面布局设计,web大学生网页设计作业源码,这是一个不错的旅游网页制作,画面精明,排版整洁,内容…

KafKa C++实战

1 集群 1. Kafka架构是由producer(消息生产者)、consumer(消息消费者)、borker(kafka集群的 server,负责处理消息读、写请求,存储消息,在kafka cluster这一层这里,其实里面是有很多个…

SpringBoot+Vue项目校园防疫管理系统

文末获取源码 开发语言:Java 使用框架:spring boot 前端技术:JavaScript、Vue.js 、css3 开发工具:IDEA/MyEclipse/Eclipse、Visual Studio Code 数据库:MySQL 5.7/8.0 数据库管理工具:phpstudy/Navicat JD…

Apollo 应用与源码分析:Monitor监控-硬件监控-GPS

硬件架构图 可以看到左下角的“GNSS定位模块”其实是有IMU和GPS Antenna 组成的。 执行分析 代码 class GpsMonitor : public RecurrentRunner {public:GpsMonitor();void RunOnce(const double current_time) override; };void GpsMonitor::RunOnce(const double current_t…

为什么要把Linux机器加入到Windows AD/域控制器(Linux机器为什么要入域)?

文章目录1. 如何入域?2. 如何判断入域成功?3. 入域的效果(目的)是什么?4. 入域和SSSD之间是什么关系?1. 如何入域? sudo yum -y install oddjob oddjob-mkhomedir sssd samba-common-tools adcli \krb5-workstation o…

Java项目:jsp+servlet实现的新闻发布系统

作者主页:源码空间站2022 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 项目介绍 本项目分为前后台; 前台主要功能为: 首页、娱乐新闻、经济新闻、文化新闻、小道新闻、用户评价等; 后台主要…

HTML5学习笔记(五)

CSS3 多列布局 CSS3新增了一种布局方式——多列布局。使用多列布局,可以轻松实现类似报纸那样的布局。 多列布局的应用非常广泛,像各大电商网站、素材网站中常见的“瀑布流效果”。 column-count属性来定义多列布局的列数。 column-width属性来定义多列…

【云原生系列】第四讲:Knative 之 Eventing

目录 序言 1.基础介绍 2.组成要素 2.1 事件源(Event Source) 2.2 事件处理(Flow) 2.3 事件消费者(Event Consumer) 3.架构模式 3.1 Source to Service ​编辑 3.2Channels & Subscriptions …

思科配置SVI实现VLAN间路由

思科SVI配置 说明 SVI技术与单臂路由和传统VLAN间路由一样,都是解决多个VLAN间通信问题。 SVI技术利用了多层交换机(本文以三层交换机为例)。 示例拓扑 其中S1为三层交换机 S2的Fa0/2接口于VLAN 10下 S3的Fa0/2接口于VLAN 20下 PC 1地…

NH2-picolyl-azide|2168629-06-7|Amine azide Picolyl叠氮生物标记基团

【产品描述】 西安凯新生物科技有限公司​picolyl-azide-NH2含有叠氮基,叠氮基可以通过点击化学与炔烃、BCN、DBCO反应,生成稳定的三唑键。末端羧酸在活化剂(如EDC或HATU)存在下可与伯胺基反应,形成稳定的酰胺键。叠氮…

python基础之面向对象基础语法

文章目录一、面向对象基础语法1.dir内置函数:2.定义一个简单的类(只包含方法):二、实例演练3.面对对象练习:小明爱跑步需求:4.摆放家具练习:5.士兵突击,需求:6.私有属性和…

CDN技术介绍

引言 随着Internet技术和多媒体技术的不断发展,图像、音频、视频服务所占的比重越来越大,加之网民数量激增,网络访问距离过长,导致网络负载迅速增加,从而使用户的访问质量受到严重影响。传统的缓存技术对交互性强和比…

【ML特征工程】第 9 章 :回到特征:构建学术论文推荐器

🔎大家好,我是Sonhhxg_柒,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎 📝个人主页-Sonhhxg_柒的博客_CSDN博客 📃 🎁欢迎各位→点赞…

算法leetcode|17. 电话号码的字母组合(rust重拳出击)

文章目录17. 电话号码的字母组合:样例 1:样例 2:样例 3:提示:原题传送门:分析题解rustgocjavatypescriptpython17. 电话号码的字母组合: 给定一个仅包含数字 2-9 的字符串,返回所有…

向NS-3添加新模块_ns3.35添加新模块_ns3.35以及更早版本添加新模块

2022年11月,ns3官网发布了3.37版本,与3.36一样,运行、编译、配置的时候使用的都是ns3.37/ns3 这个脚本,但3.35以及3.35以前的版本使用的都是ns3.35/waf脚本,相应的3.35以及以前的版本与3.36以后的版本,新生…

Java迭代器 for循环的区别

1、Iterator接口: Iterator接口包含三个方法:hasNext,next,remove Iterator常用于对集合进行 一边遍历一边修改 的操作 注意:当Iterator迭代访问Collection集合中元素时,Collection的元素不能改变&#x…

数据库实践 Hw02

Assignment 02: get familiar with operations in MySQL 创建数据库 创建名字为bank的银行数据库 create database if not exists bank; show create database bank; use bank; show tables;可以获得如下内容 后续展示bank数据库中的tables tables为空 bank数据中创建表…

【Compose】Desktop Application 初尝试

前言 作为一个多年的android开发者,自从Jetpack发布以来,其中的Compose组件就深深的吸引了我,在去年就用新版android studio创建模板尝鲜了一把,不过并没有投入太多时间和精力,其实还有一个消息我没太关注&#xff0c…

算法提升:图的最小生成树算法-克鲁斯卡尔(Kruskal)

目录 概念 思路 代码 概念 克鲁斯卡尔算法查找最小生成树的方法是:将连通网中所有的边按照权值大小做升序排序,从权值最小的边开始选择,只要此边不和已选择的边一起构成环路,就可以选择它组成最小生成树。对于 N 个顶点的连通网…

axios数据交互

目录 一、axios 概念 二、官方文档 三、下载命令 四、特点 五、基本语法 六、基本案例 一、axios 概念 axios 是基于promise创建的http库,可以用于客户端(浏览器)和 node.js ​ 官方概念: Axios 是一个基于 promise 的 HTT…