操作系统

操作系统位于硬件和应用软件之间,管理资源并提供简洁的硬件访问模型。从早期无操作系统到批处理系统,再到分时系统和现代个人计算机,操作系统经历了显著的发展。多道技术结合空间和时间复用,允许多个程序并发运行,提高CPU效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.为何要有操作系统

计算机系统是一个复杂的系统,包括一个或多个处理器,主存,硬盘,鼠标,键盘以及其他各种各样的I/O设备。如果程序员必须掌握该系统的所有细节,将会严重影响程序员的开发效率。为管理这些部件并优化使用,在计算机硬件系统之上,安装了一层系统软件,称之为操作系统(Operating System,简称OS)。操作系统管理这些硬件及各种软件资源,并给用户呈现一个更简明清晰的计算机模型,也更有利于程序员开发软件。

二.操作系统的位置

操作系统位于计算机硬件和应用软件之间,由系统调用和内核组成,其中系统调用运行于用户态,是用户态转换到内核态的工具,内核运行于内核态,管理硬件资源。

三.操作系统的功能

1.为应用程序员提供调用硬件资源的更简洁清晰的模型(系统调用接口),提高了程序员的开发效率。并且给应用程序提供了更良好的操作硬件的环境。
2.当很多应用程序共享同一套硬件资源时,操作系统使得这种共享变得有序化。

四.操作系统的发展

第一代计算机(1940-1955):真空管和穿孔卡片
特点:没有操作系统,所有程序设计都由纯粹的机器语言编写,同一时刻只能有一个程序在内存中被CPU执行,所有程序的执行是串行的。
工作流程:每个程序员预约并轮流使用计算机,在预约的时间(几个小时)内,程序员独享计算机资源。
优点:程序员可自行调试程序,检测BUG。
缺点:这对计算机来说是一种很大的浪费。
第二代计算机(1955-1965):晶体管和批处理系统
特点:设计人员、生产人员、操作人员、程序人员和维护人员之间有了明确的分工,计算机被锁在专用空调房间中,由专业操作人员运行,这便是“大型机”。
有了操作系统的概念,有了程序设计语言:FORTRAN语言或汇编语言。
工作流程:
这里写图片描述
这里写图片描述

优点:批处理节省时间
缺点:整个流程需要人参与;计算过程仍然是顺序计算(串行);程序员运行程序的结果和重新调试都必须等同批次的程序都运行完才能进行,极大影响了程序的开发效率。
第三代计算机(1965-1980):集成电路芯片和多道程序设计
特点:采用了分时操作系统和多道技术以及将多个终端连接到一台计算机上。
工作流程:卡片被拿到机房后能够很快的将作业从卡片读入磁盘,当一个作业结束时,操作系统将一个作业从磁带读出,装进空出来的内存区域运行。同时外部设备联机并行操作(SPOOLING),该技术同时用于输出。
优点:采用了分时操控系统,为用户提供友好的接口,用户能再较短时间内得到响应,便于资源共享和交换信息,为程序的开发提供了良好环境。采用了SPOOLING技术后,就不再需要IBM1401机了,也不必将磁带搬来搬去了,大大节约了成本;采用多道技术,提高了CPU的运行效率。
CTSS兼容分时系统是麻省理工(MIT)在一台改装过的 7094机上开发成功的,第三代计算机广泛采用了必须的保护硬件之后,分时系统开始流行。MIT,贝尔实验室和通用电气在CTTS成功研制后决定开发能够同时支持上百终端的MULTICS(其设计者着眼于建造满足波士顿地区所有用户计算需求的一台机器),虽然失败了,但是后来一位参加过MULTICS研制的贝尔实验室计算机科学家Ken Thompson开发了一个简易的,单用户版本的MULTICS,这就是后来的UNIX系统。基于它衍生了很多其他的UNIX版本,为了使程序能在任何版本的UNIX上运行,IEEE提出了一个UNIX标准,即POSIX(可移植的操作系统接口Portable Operating System Interface)
后来,在1987年,出现了一个UNIX的小型克隆,即MINIX,用于教学使用。芬兰学生Linus Torvalds基于它编写了Linux。
第四代计算机(1980-至今):个人计算机

五.多道技术

多路复用:处理来自多个程序发起的多个(即多路)共享(即复用)资源的请求,称为多路复用。
多路复用具体有两种实现方式:
1.空间上的复用(必须实现硬件层面的隔离):每个客户(应用程序)都获取了一个大资源的一小部分资源,从而减少排队等待时间。
例如:多个运行的程序同时进入内存,硬件层面提供保护机制来确保各自的内存是分割开的,且由操作系统控制。
2.时间上的复用:一个资源在时间上复用时,不同程序或用户轮流使用它,第一个程序获取该资源使用结束后,再轮到第二个……第三个……
例如:只有一个CPU,多个程序在该CPU上运行,操作系统先把CPU分给第一个程序,这个程序运行足够长时间(时间长短由操作系统的算法决定)后,或者遇到了I/O阻塞(I/O操作相对较慢),操作系统就把CPU分配给下一个程序,以此类推,然后又再将CPU分配给第一个程序运行,直到所有程序运行完毕。由于CPU切换速度很快,让用户感觉这些程序是同时运行的,或者说是并发的、伪并行的。
这两种方式结合起来就是多道技术。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值