基础知识(二)-操作系统

为什么要有操作系统

程序员无法把所有的硬件操作细节都了解到,管理这些硬件并加以优化使用是非常繁琐的工作,这个繁琐的工作就是操作系统来干的,有了它,程序员就从这些繁琐的工作中解脱了处理,只需要考虑自己的应用软件的编写就可以了,应用软件直接使用操作系统提供的功能来间接使用硬件

什么是操作系统

精简的话说,操作系统就是一个协调、管理和控制计算机硬件资源和软件资源的控制程序。操作系统所处的位置如图

操作系统位于计算机硬件与应用软件之间,本质也是一个软件。操作系统由操作系统的内核(运行于内核态,管理硬件资源)以及系统调用(运行于用户态,为应用程序员写的应用程序提供系统调用接口)两部分组成,所以,单纯的说操作系统是运行于内核态的,是不准确的

细说的话,操作系统应该分成两部分功能

  1. 隐藏了丑陋的硬件调用接口,为应用程序提供调用硬件资源的更好、更简单、更清晰的模型(系统调用接口)。引用程序员有了这些接口后,就不用再考虑操作硬件的细节,壮心开发 资金的应用程序即可
  2. 将应用程序对硬件资源的竞态请求变得有序化

作用:

  1. 为应用程序提供如何使用硬件资源的抽象
  2. 管理硬件资源

操作系统与普通软件的区别

  1. 主要区别:你不想用你暴风影音你可以选择用迅雷播放器或者干脆自己写一个,但是你无法写一个数据操作系统一部分的程序(时钟中断处理程序),操作系统有硬件保护,不能被用户修改
  2. 操作系统与用户程序的差异并不在于二者所处的地位。特别的,操作系统是一个大型、复杂、长寿的软件

操作系统发展史

第一代计算机(1940~1955)::真空管和穿孔卡片

特点

  1. 没有操作系统的概念
  2. 所有的程序设计都是直接操控硬件

工作过程:
程序员在墙上的机时表预约一段时间,然后程序员拿着它的插件板到机房里,将自己的插件板接到计算机里,这几个小时内他独享整个计算机资源,后面的一批人都得等着(两万多个真空管经常会有被烧坏的情况出现)
后来出现了穿孔卡片,可以加将程序写在卡片上,然后读入机而不用插件板

优点
程序员在申请的时间段内独享整个资源,可以及时地调试自己的程序(有bug可以立即处理)

缺点
浪费计算机资源,一个时间段内只有一个人用。

注意:同一时刻只有一个程序在内存中,被CPU调用执行。

第二代计算机(1955~1965):晶体管和批处理

特点:
设计人员、生产人员、操作人员、程序人员和维护人员直接有了明确的分工,计算机被锁在专用空调房间中,有专业操作人员运行,这便是‘大型机’。
有了操作系统的概念
有了程序设计语言:FORTRAN语言和会变语言,写到纸上,然后穿孔打成卡片,再将卡片盒带到输入室,交给操作员,然后喝着咖啡等待输出接口

工作过程:

第二代如何解决第一代的问题/缺点:

  1. 把一堆人的输入攒成一大波输入
  2. 如何顺序计算(这是有问题的,但是第二代计算也没有解决)
  3. 把一堆人的输出攒成一大波输出

优点:批处理,节省了机时

缺点:

  1. 整个流程需要人参与控制,将磁带搬来搬去
  2. 计算的过程任然是顺序计算(串行)
  3. 程序员原来独享一段时间的计算机,现在必须被统一规划到一批作业中,等待结果和重新调试的过程都需要等同批次的其他程序都运行完才可以(这极大的影响了程序的开发效率,无法及时调试程序)

第三代计算机(1965~1980):集成电路芯片和多道程序设计

IBM360是现在服务器的前身

如何解决第二代计算机的问题

  1. 卡片被拿到机房后能够很快的将作业从卡片读入磁盘,于是任何时刻当一个作业结束时,操作系统就能将一个作业从磁带独处,装进空出来的内存区域运行,这种技术叫做同时的外部设备联机操作(SPOOLING,该技术同时用于输出)
  2. 第三代计算机的操作系统广泛应用了第二代计算机操作系统没有的 关键技术:多道技术

多道技术

CPU在执行一个任务的过程中,若需要操作硬盘,则发送操作硬盘的指令,指令一旦发出,硬盘上的机械手臂滑动读取数据到内存中,这一段时间,CPU需要等待,时间可能很短,但对于CPU来说已经很长很长,长到可以让CPU做很多其他任务,如果我们让CPU在这段时间内切换到去做其他任务,这样CPU不就充分利用了吗,这正是躲到技术产生的技术背景

多道技术中的多道指的是多个程序,多道技术的实现是为了多个程序竞争或者共享同一个资源(比如CPU)的有序调度问题,解决方式即多路复用,多路复用分为时间上的复用和空间上的复用

  1. 时间上的复用:将内存分为几部分,每个部分放入一个程序,这样,同一时间内存中就有了多道程序。
  2. 时间上的复用:当一个程序在等待I/O时,另一个程序可以使用CPU,如果内存中可以同时存放足够多的作业,则CPU的利用率可以接近100%,类似于我们小学所学的统筹方法,(操作系统采用了多道技术后,可以控制进程的切换,或者说进程间去争抢CPU的执行权限。这种切换不仅会在一个进程遇到io时进行,一个进程占用CPU时间过长也会切换,或者说被操作系统夺走CPU的执行权限

空间上的复用最大的问题是:程序之间的内存必须分割,这种分割需要在硬件层面实现,由操作系统控制。如果内存彼此不分割,则一个程序可以访问另一个程序的内存。丧失安全性稳定性

第三代计算机的操作系统仍然是批处理

如何解决第二代计算机的问题3:
分时操作系统:
多个联机终端+多道技术

CTTS:麻省理工(MIT)在一台改装过的7094机上开发成功的,CTSS兼容分时系统,第三代计算机广泛采用了必须的保护硬件(程序之间的内存彼此隔离)之后,分时系统才开始流行
Ken Thompson开发了一个简易的,单用户版本的MULTICS,这就是后来的UNIX系统,基于它衍生了横多其他的Unix版本,为了使程序能在任何版本的Unix上运行,IEEE提出了一个Unix标准,即POSIX(可移植的操作系统接口Portable Operating System Interface)

后来,在1987年,出现了一个UNIX的小型克隆,即minix,用于教学使用。芬兰学生Linus Torvalds基于它编写了Linux

转载于:https://www.cnblogs.com/jin1024/p/ji-chu-zhi-shi-ercao-zuo-xi-tong.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第一章 操作系统引论  一、单项选择题 1、操作系统是一种(B )。 A.应用软件 B. 系统软件 C.通用软件 D. 工具软件 2、操作系统是一组(C )。   A.文件管理程序 B.中断处理程序   C.资源管理程序 D.设备管理程序 3、 操作系统是计算机系统的核心软件。按功能特征的不同,可把操作系统分为[B]、[E]、[C]、个人机系统、网络操作系统和分布式操作系统等基本类型。其中[B]的主要目标是提高系统的吞吐率和效率,而[E]是一旦有处理请求和要求处理的数据时,CPU就应该立即处理该数据并将结果及时送回,例如[D]等。 供选择的答案:   [1][2][3]   A、 单用户系统 B、多道批处理系统 C、分时系统   D、微机操作系统 E、实时系统   [4]  A、计算机激光照排系统 B、办公自动化系统   C、计算机辅助设计系统 D、航空订票系统 4、操作系统是为了提高计算机的[B]和方便用户使用计算机而配置的基本软件。它负责管理计算机系统中的[C],其中包括[F],[A],外部设备和系统中的数据。操作系统中的[F]管理部分负责对进程进行管理。操作系统对系统中的数据进行管理的部分通常叫做[B]。 供选择的答案:  [1] A、速度 B、利用率 C、灵活性 D、兼容性   [2] A、程序 B、功能 C、资源 D、进程   [3][4] A、主存储器 B、虚拟存储器 C、运算器   D、控制器 E、微处理器 F、处理机   [5] A、数据库系统 B、文件系统 C、检索系统   D、数据库 E、数据存储系统 F、数据结构   G、数据库管理系统 5、现代操作系统的基本特征是(C ) 、资源共享和操作的异步性。   A.多道程序设计 B. 中断处理   C.程序的并发执行 D. 实现分时与实时处理 6、引入多道程序的目的在于(A )。   A. 充分利用CPU,减少CPU等待时间   B. 提高实时响应速度   C. 有利于代码共享,减少主、辅存信息交

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值