计算机——操作系统

现在的计算机主要由一个或者多个处理器,主存,硬盘,键盘,鼠标,显示器,打印机,网络接口以及其他输入输出硬件设备组成,如果一个程序想要调用者所有硬件接口而进行单独的代码开发,那么是一个太过于繁琐的事情了。

这时:操作系统来做中间件,由上层的代码下发命令,让操作系统来进行对电脑硬件的处理工作。这样就可以大大的提高代码的简洁程度。

 

操作系统主要的功能由:

1.隐藏凑楼的硬件调用接口,为了应用程序更方便的调用硬件资源,提供更简单,更清晰的模型(系统调用接口)。

2.将应用程序对硬件资源的静态请求变得有序化,按照顺序来进行硬件资源的分配工作。

多道操作系统:

多道操作系统指,可以允许多个程序同时进入内存并等待CPU运行,当一个程序因I/O操作停止使用CPU时,那么将会进行下一个程序的CPU使用。

特点:

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

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

微观上串行:实际上,各道程序轮流使用CPU,交替运行。

由于多个程序同时在计算机中运行,开始有了空间隔离的概念,只有内存空间的隔离,才能让数据更加安全,稳定。

同时第一次体现了时空复用的特点,遇到IO操作就切换程序,使得CPU的利用率提高。计算机的工作效率也随之提高。

I/O操作:

不使用CPU进行运算,而是在内存中输入或输出:

I:input,向内存输入:input,read,recv,recvfrom,accept,connect,close

O:output,向内存输出:print,write,send,sendto,accpet,connect,close

分时系统

把处理机运行时间分成很短的时间片,按时间片轮流把处理机分配给各联机作业使用。

特点:

若某个作业在分配给它的时间片内不能完成其计算,则改作业暂时中断,把处理机让给另一作业使用,等待下一轮时再继续其运行。

多路性,允许多个用户使用一台计算机,微观上看是各用户轮流使用计算机,宏观上看是各用户并行工作(由于计算机计算速度太快)

交互性,用户可根据系统对请求的相应结果,进一步向系统提出新的请求。这种能使用户与系统进行人机对话的工作方式,明显有别于批处理系统,因而,分时系统又被称为交互式系统

独立性,用户之间可以相互独立操作,互不干扰。系统保证各用户程序运行的完整性,不会发生相互混淆或破坏现象。

及时性,系统可对用户的输入及时作出响应。分时系统性能的主要指标之一是响应时间,它是指:从终端发出命令到系统予以应答所需的时间,提高了用户体验。

 

分时系统可以同时接纳数十个甚至上百个用户,由于内存空间有限,往往采用对换(又称交换)方式的存储方法。即将未“轮到”的作业放入磁盘,一旦“轮到”,再将其调入内存;而时间片用完后,又将作业存回磁盘(俗称“滚进”、“滚出“法),使同一存储区域轮流为多个用户服务。

多用户分时系统是当今计算机操作系统中最普遍使用的一类操作系统。
注意:分时系统的分时间片工作,在没有遇到IO操作的时候就用完了自己的时间片被切走了,这样的切换工作其实并没有提高cpu的效率,反而使得计算机的效率降低了。但是我们牺牲了一点效率,却实现了多个程序共同执行的效果,这样你就可以在计算机上一边听音乐一边聊qq了。
 
实时系统
实时系统是为了满足实时控制与实时信息处理两个应用领域的需求,即系统能够及时响应随机发生的外部事件,并在严格的时间范围内完成对该时间的处理。
特点:
及时响应,每一个信息接收,分析处理和发送的过程必须在严格的时间限制内完成。
高可靠性,需采取冗余措施,双击系统前后台工作,也包括必要的保密措施等。
两类实时系统:
1. 实时控制系统,当用于飞机飞行,导弹发射等自动控制时,要求计算机能尽快地对飞机或导弹进行控制,或显示给决策者。
2. 实时信息处理系统,用于预定机票,查询有关航班,航线,票价,银行系统等,要求计算机能对中断设备发来的服务器求及时予以正确的回答。
 

通用操作系统

操作系统的三种基本类型:多道批处理系统、分时系统、实时系统。
通用操作系统:具有多种类型操作特征的操作系统。可以同时兼有多道批处理、分时、实时处理的功能,或其中两种以上的功能。
例如:实时处理+批处理=实时批处理系统。首先保证优先处理实时任务,插空进行批处理作业。常把实时任务称为前台作业,批作业称为后台作业。
再如:分时处理+批处理=分时批处理系统。即:时间要求不强的作业放入“后台”(批处理)处理,需频繁交互的作业在“前台”(分时)处理,处理机优先运行“前台”作业。
从上世纪60年代中期,国际上开始研制一些大型的通用操作系统。这些系统试图达到功能齐全、可适应各种应用范围和操作方式变化多端的环境的目标。但是,这些系统过于复杂和庞大,不仅付出了巨大的代价,且在解决其可靠性、可维护性和可理解性方面都遇到很大的困难。
相比之下,UNIX操作系统却是一个例外。这是一个通用的多用户分时交互型的操作系统。它首先建立的是一个精干的核心,而其功能却足以与许多大型的操作系统相媲美,在核心层以外,可以支持庞大的软件系统。它很快得到应用和推广,并不断完善,对现代操作系统有着重大的影响。
至此,操作系统的基本概念、功能、基本结构和组成都已形成并渐趋完善。
 
操作系统的进一步发展
 
个人计算机操作系统
个人计算机上的操作系统是联机交互的单用户操作系统,它提供的联机交互功能与通用分时系统提供的功能很相似。由于是个人专用,因此一些功能会简单得多。然而,由于个人计算机的应用普及,对于提供更方便友好的用户接口和丰富功能的文件系统的要求会愈来愈迫切。
每个500条CPU的指令=100行的Python代码,而目前CPU会以每秒上亿次的CPU指令进行运算。

网络操作系统

计算机网络:通过通信设施,将地理上分散的、具有自治功能的多个计算机系统互连起来,实现信息交换、资源共享、互操作和协作处理的系统。

网络操作系统:在原来各自计算机操作系统上,按照网络体系结构的各个协议标准增加网络管理模块,其中包括:通信、资源共享、系统安全和各种网络应用服务。

分布式操作系统

表面上看,分布式系统与计算机网络系统没有多大区别。分布式操作系统也是通过通信网络,将地理上分散的具有自治功能的数据处理系统或计算机系统互连起来,实现信息交换和资源共享,协作完成任务。——硬件连接相同。

但有如下一些明显的区别:

(1)分布式系统要求一个统一的操作系统,实现系统操作的统一性。

(2)分布式操作系统管理分布式系统中的所有资源,它负责全系统的资源分配和调度、任务划分、信息传输和控制协调工作,并为用户提供一个统一的界面。

(3)用户通过这一界面,实现所需要的操作和使用系统资源,至于操作定在哪一台计算机上执行,或使用哪台计算机的资源,则是操作系统完成的,用户不必知道,此谓:系统的透明性。

(4)分布式系统更强调分布式计算和处理,因此对于多机合作和系统重构、坚强性和容错能力有更高的要求,希望系统有:更短的响应时间、高吞吐量和高可靠性。

 
posted @   新兵蛋Z  阅读(305)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)
历史上的今天:
2020-03-09 Python——xlrd(excel文件操作)
点击右上角即可分享
微信分享提示