操作系统分类_操作系统的分类_默默进步---一鸣惊人的博客-程序员秘密

技术标签: 实时操作系统  操作系统的发展  嵌入式  操作系统分类  分时操作系统  

目录

前言

一、操作系统的分类

二、批处理操作系统的发展

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

2.批处理操作系统

1) 单道批处理系统

2) 多道批处理系统

3.分时操作系统

4.实时操作系统

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


 


前言

上篇文章我们探讨了裸机系统与操作系统的区别,具体内容可以翻阅上面内容,这篇文章我们一起来看下操作系统的分类。


一、操作系统的分类

操作系统一般可分为三种基本类型,即批处理系统、分时系统和实时系统,随着计算机体系结构的发展,又出现了许多种操作系统,它们是嵌人式操作系统、个人操作系统、网络操作系统和分布式操作系统。本篇文章我们主要介绍批处理系统,分时操作系统和实时操作系统。

二、批处理操作系统的发展

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

用户在计算机上算题的所有工作都要人工干预,如程序的装入、运行、结果的输出等。随着计算机硬件的发展,人机矛盾(速度和资源利用)越来越大,必须寻求新的解决办法。

手工操作阶段有两个突出的缺点:

  • 用户独占全机,不会出现因资源已被其他用户占用而等待的现象,但资源利用率低。
  • CPU等待手工操作,CPU的利用不充分。

唯一的解决办法就是用高速的机器代替相对较慢的手工操作来对作业进行控制。
批处理阶段(操作系统开始出现),为了解决人机矛盾及CPU和I/O设备之间速度不匹配的矛盾,出现了批处理系统。它按发展历程又分为单道批处理系统、多道批处理系统(多道程序设计技术出现以后)。

2.批处理操作系统

批处理(Batch Processing)操作系统的工作方式是:用户将作业交给系统操作员,系统操作员将许多用户的作业组成一批作业,之后输入到计算机中,在系统中形成一个自动转接的连续的作业流,然后启动操作系统,系统自动、依次执行每个作业。最后由操作员将作业结果交给用户。

批处理操作系统又分为单道批处理系统和多道批处理系统

1) 单道批处理系统

系统对作业的处理是成批进行的,但内存中始终保持一道作业。该系统是在解决人机矛盾和CPU与I/O设备速率不匹配的矛盾中形成的。

单道批处理系统的主要特征如下:

  • 顺序性:磁带上的各道作业是顺序地进入内存,各道作业的完成顺序与它们进入内存的顺序,在正常情况下应完全相同,亦即先调入内存的作业先完成。
  • 单道性:内存中仅有一道程序运行,即监督程序每次从磁带上只调入一道程序进入内存运行,当该程序完成或发生异常情况时,才换入其后继程序进入内存运行。
  • 自动性:在顺利的情况下,在磁带上的一批作业能自动地逐个依次运行,而无需人工干预。

此时面临的问题是:每次主机内存中仅存放一道作业,每当它运行期间(注意这里是“运行时”,并不是“完成后”)发出输入/输出请求后,高速的CPU便处于等待低速的I/O完成状态。为了进一步提高资源的利用率和系统的吞吐量,引入了多道程序技术。

2) 多道批处理系统

多道程序设计技术允许多个程序同时进入内存并运行。即同时把多个程序放入内存,并允许它们交替在CPU中运行,它们共享系统中的各种硬、软件资源。当一道程序因I/O请求而暂停运行时,CPU便立即转去运行另一道程序。它没有用某些机制提高某一技术方面的瓶颈问题,而是让系统的各个组成部分都尽量去“忙”,花费很少时间去切换任务,达到了系统各部件之间的并行工作,使其整体在单位时间内的效率翻倍。

多道程序设计的特点有:

  • 多道:计算机内存中同时存放多道相互独立的程序。
  • 宏观上并行:同时进入系统的多道程序都处于运行过程中,即它们先后开始了各自的运行,但都未运行完毕。
  • 微观上串行:内存中的多道程序轮流占有CPU,交替执行。

多道程序设计技术的实现需要解决下列问题:

  • 如何分配处理器。
  • 多道程序的内存分配问题。
  • I/O设备如何分配。
  • 如何组织和存放大量的程序和数据,以便于用户使用和保证其安全性与一致性。

在批处理系统中釆用多道程序设计技术,就形成了多道批处理操作系统。该系统把用户提交的作业成批地送入计算机内存,然后由作业调度程序自动地选择作业运行。

优点是资源利用率高,多道程序共享计算机资源,从而使各种资源得到充分利用;系统吞吐量大,CPU和其他资源保持“忙碌”状态。缺点是用户响应的时间较长。不提供人机交互能力,用户既不能了解自己程序的运行情况,也不能控制计算机。

批处理操作系统的特点是:多道和成批处理。

3.分时操作系统

分时(Time Sharing)操作系统的工作方式是:一台主机连接了若干个终端,每个终端有一个用户在使用。用户交互式地向系统提出命令请求,系统接受每个用户的命令,采用时间片轮转方式处理服务请求,并通过交互方式在终端上向用户显示结果。用户根据上步结果发出下道命。分时操作系统将CPU的时间划分成若干个片段,称为时间片。操作系统以时间片为单位,轮流为每个终端用户服务。每个用户轮流使用一个时间片而使每个用户并不感到有别的用户存在。分时系统具有多路性、交互性、“独占”性和及时性的特征。多路性指,伺时有多个用户使用一台计算机,宏观上看是多个人同时使用一个CPU,微观上是多个人在不同时刻轮流使用CPU。交互性是指,用户根据系统响应结果进一步提出新请求(用户直接干预每一步)。“独占”性是指,用户感觉不到计算机为其他人服务,就像整个系统为他所独占。及时性指,系统对用户提出的请求及时响应。

在操作系统中釆用分时技术就形成了分时系统。所谓分时技术就是把处理器的运行时间分成很短的时间片,按时间片轮流把处理器分配给各联机作业使用。若某个作业在分配给它的时间片内不能完成其计算,则该作业暂时停止运行,把处理器让给其他作业使用,等待下一轮再继续运行。由于计算机速度很快,作业运行轮转得很快,给每个用户的感觉好像是自己独占一台计算机。

分时操作系统是多个用户通过终端同时共享一台主机,这些终端连接在主机上,用户可以同时与主机进行交互操作而互不干扰。所以,实现分时系统最关键的问题是如何使用户能与自己的作业进行交互,即当用户在自己的终端上键入命令时,系统应能及时接收并及时处理该命令,再将结果返回用户。分时系统也是支持多道程序设计的系统,但它不同于多道批处理系统。

多道批处理是实现作业自动控制而无需人工干预的系统,而分时系统是实现人机交互的系统,这使得分时系统具有与批处理系统不同的特征,其主要特征如下:
同时性。同时性也称多路性,指允许多个终端用户同时使用一台计算机,即一台计算机与若干台终端相连接,终端上的这些用户可以同时或基本同时使用计算机。
交互性。用户能够方便地与系统进行人-机对话,即用户通过终端釆用人4^1对话的方式直接控制程序运行,与同程序进行交互。
独立性。系统中多个用户可以彼此独立地进行操作,互不干扰,单个用户感觉不到别人也在使用这台计算机,好像只有自己单独使用这台计算机一样。
及时性。用户请求能在很短时间内获得响应。分时系统釆用时间片轮转方式使一台计算机同时为多个终端服务,使用户能够对系统的及时响应感到满意。

虽然分时操作系统比较好地解决了人机交互问题,但是在一些应用场合,需要系统能对外部的信息在规定的时间(比时间片的时间还短)内作出处理(比如飞机订票系统或导弹制导系统)。因此,实时系统应运而生。


4.实时操作系统

实时操作系统(RealTimeOperatingSystem,RTOS)是指使计算机能及时响应外部事件的请求在规定的严格时间内完成对该事件的处理,并控制所有实时设备和实时任务协调一致地工作的操作系统。实时操作系统要追求的目标是:对外部请求在严格时间范围内做出反应,有高可靠性和完整性。

为了能在某个时间限制内完成某些紧急任务而不需时间片排队,诞生了实时操作系统。这里的时间限制可以分为两种情况:如果某个动作必须绝对地在规定的时刻(或规定的时间范围)发生,则称为硬实时系统。例如,飞行器的飞行自动控制系统,这类系统必须提供绝对保证,让某个特定的动作在规定的时间内完成。如果能够接受偶尔违反时间规定,并且不会引起任何永久性的损害,则称为软实时系统,如飞机订票系统、银行管理系统。

在实时操作系统的控制下,计算机系统接收到外部信号后及时进行处理,并且要在严格的时限内处理完接收的事件。实时橾作系统的主要特点是及时性和可靠性。


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

网络操作系统把计算机网络中的各台计算机有机地结合起来,提供一种统一、经济而有效的使用各台计算机的方法,实现各个计算机之间的互相传送数据。网络操作系统最主要的特点是网络中各种资源的共享以及各台计算机之间的通信。

分布式计算机系统是由多台计算机组成并满足下列条件的系统:系统中任意两台计算机通过通信方式交换信息;系统中的每一台计算机都具有同等的地位,即没有主机也没有从机; 每台计算机上的资源为所有用户共享;系统中的任意若千台计算机都可以构成一个子系统,并且还能重构;任何工作都可以分布在几台计算机上,由它们并行工作、协同完成。用于管理分布式计算机系统的操作系统称为分布式计算机系统。该系统的主要特点是:分布性和并行性。分布式操作系统与网络操作系统本质上的不同之处在于分布式操作系统中,若干台计算机相互协同完成同一任务。


操作系统的发展历程如图1-1所示。

 
图1-1 操作系统的发展历程

此外还有嵌入式操作系统、服务器操作系统、多处理器操作系统等。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/WZJwzj123456/article/details/108351069

智能推荐

mysql增加最大连接数_增加mysql的最大连接数_肖琦琦的博客-程序员秘密

1,修改my.ini# The maximum amount of concurrent sessions the MySQL server will# allow. One of these connections will be reserved for a user with# SUPER privileges to allow the administrator to login even...

基于docker搭建的mysql主从复制_llsydn的博客-程序员秘密

docker搭建mysql主从复制拉取mysql镜像命令:docker pull mysql:5.71.启动master,slavedocker run -it -p 3306:3306 --name master --privileged=true -v /f/DockerServer/mysql3306/conf/conf.d:/etc/mysql/conf.d -v /f/Doc...

HLSL_qzl123666的博客-程序员秘密

语法:当中定义了matrix,vector,float2,...等类型变量。向量vectortype表示向量内部元素的类型,n表示几维。默认是4维float向量。matrix同样t表示类型,m*n维矩阵默认是4*4 float矩阵其实上面的两个类型的另外写法可以直接写成typeN和typeMxN例如float2表示2维浮点型向量,float2x3表示2*3的float矩阵,但是这里要注意它们维数要小于4反问向量可以通过数组形式如a[1]这样访问,也可以通过x,y,z,w或r,g,b,a等成员方式访问矩阵通过

组装服务器详细攻略,深度学习服务器组装经验过程分享_weixin_39819327的博客-程序员秘密

描述本文作者详细描述了自己组装深度学习服务器的过程,从 CPU、GPU、主板、电源、机箱等的选取到部件的安装,再到服务器的设置,可谓面面俱到。作者指出,组装者首先要弄清自己的需求,然后根据预算做出合理的选择。我刚开始学习 fast.ai 课程的第一部分——“Practical Deep Learning for Coders”,我想搭建自己的服务器来训练模型,作为使用 AWS p2 和存储的升级。...

自动化测试面试题及答案,看完后吊打面试官!_自动化面试问题及答案_Onesiphorus的博客-程序员秘密

自动化测试是什么?自动化测试学什么?自动化测试面试题及答案?–看完后吊打面试官!一、前言最近有童鞋和我抱怨,说网上很难搜到那些全面又合适的自动化测试面试题,这里根据我个人的经验以及收集整理的:你没看错,不慌,慢慢来。先从什么是自动化测试开始说起哈!二、什么是自动化测试?什么是自动化测试?当我第一次知道自动化测试的时候,除了知道“自动化”这三个有些高大上的称呼之外,我对自动化测试一无所知,正如谈恋爱一样,找女朋友之前要知道她是谁。自动测试就是把以人为驱动的测试转化为机器执行的一种过程,它是一种

css 样式引入和选择器权重_小虎小虎 花里胡哨的博客-程序员秘密

1、css样式引入1)、行内样式使用style属性引入CSS样式<h1 style="color:red;">style属性的应用</h1><p style="font-size:14px; color:green;">直接在HTML标签中设置的样式</p>使用style属性设置CSS样式仅对当前的HTML标签起作为,并且是写在HTML标签中的这种方式不能起到内容与表现相分离,本质上没有体现出CSS的优势,因此不推荐使用。2)、内部样式表CS

随便推点

第 4 章 自定义登陆页面_jingqiang521的博客-程序员秘密

Spring Security虽然默认提供了一个登陆页面,但是这个页面实在太简陋了,只有在快速演示时才有可能它做系统的登陆页面,实际开发时无论是从美观还是实用性角度考虑,我们都必须实现自定义的登录页面。4.1. 实现自定义登陆页面自己实现一个login.jsp,放在src/main/webapp/目录下。+ ch004/ + src/ + main/

黑马程序员——Java基础---网络编程_加瓦安柱的博客-程序员秘密

——- android培训、java培训、期待与您交流! ———-网络模型 OSI参考模型 TCP/IP参考模型 网络通讯要素 IP地址 端口号 传输协议网络传输步骤 1.找到对方ip 2.数据要发送到对方指定的应用程序上,为了标识这些应用程序,所以给这些网络应用程序都用了数字进行标识。为了方便称呼这些数字,叫做端口(逻辑端口) 3.

nginx vue前后端分离配置示例_aiChenK的博客-程序员秘密

vue + thinkphpvue为history路由模式,固定/api,/static前缀为php使用server { listen 80; server_name localhost; set $static_root ''; # web目录 set $php_root ''; # php目录 root $static_root; index index.html index.htm index.php; location ~ \.php$ {

YOLO系列论文笔记--YOLOv1_gongp**?的博客-程序员秘密

YOLOv1优点--预测为false positives的样例比较少,主要表现在YOLO是对整张图片进行处理,能够索取整体图片的上下文信息,不像滑动窗口和基于区域建议技术(如Fast R-CNN),它是以图像块为单位,用以对目标进行识别;--YOLO比DPM和R-CNN等顶级检测方法更具优势,在实验上表现在利用自然图像训练并在艺术品测试,其检测性能更优,究其本质,是由于YOLO学习目标特征的普遍化...

用C++写一个三人表决器_三人表决器c语言_终成大师的博客-程序员秘密

昨天离散数学老师布置了一道编程题:设计并编程实现一个3人表决开关电路。设三个裁判分别为A、B、C,有两个及以上裁判同意,则通过表决;否则,未通过表决。同意与否通过键盘输入,可以用0、1或T、F表示。再进一步,如果A是主裁判,有一票否决权。又该如何设计实现呢?让我们写一个三人表决器,我晚上的时候上交了作业,用类与对象写的A裁判未拥有一票否决权#include<bits/stdc++.h...

Ubuntu的启动配置文件grub.cfg_lq.kr的博客-程序员秘密

打开命令行, sudo gedit /boot/grub/grub.cfg  (或者 sudogedit /boot/grub/menu.lst)打开grub.cfg文件在### BEGIN /etc/grub.d/00_header ###后面的部分主要记录了一些启动默认信息。在if [ -s $prefix/grubenv ]; then  load_envfiset defau

推荐文章

热门文章

相关标签