操作系统

博客核心内容:


1、为什么要有操作系统
2、什么是操作系统
3、计算机早期批处理处理的过程以及相应的问题
4、多道技术的问题
5、操作系统的作用


参考博客:http://blog.csdn.net/a2011480169/article/details/51030041
这里写图片描述
(一)为什么要有操作系统
现代的计算机系统主要是由一个或者多个处理器,主存,硬盘,键盘,鼠标,显示器,打印机,网络接口及其他输入输出设备组成。程序员无法把所有的硬件操作细节都了解到,管理这些硬件并且加以优化使用是非常繁琐的工作,这个繁琐的工作就是操作系统来干的,有了他,程序员就从这些繁琐的工作中解脱了出来,只需要考虑自己的应用软件的编写就可以了,应用软件直接使用操作系统提供的功能来间接使用硬件

(二)什么是操作系统
精简的说的话,操作系统就是一个协调、管理和控制计算机硬件资源和软件资源的控制程序。
操作系统位于计算机硬件与应用软件之间,本质也是一个软件。
操作系统应该分成两部分功能:
一:隐藏了丑陋的硬件调用接口,为应用程序员提供调用硬件资源的更好,更简单,更清晰的模型(系统调用接口)。应用程序员有了这些接口后,就不用再考虑操作硬件的细节,专心开发自己的应用程序即可
二:将应用程序对硬件资源的竞态请求变得有序化,例如:很多应用软件其实是共享一套计算机硬件,比方说有可能有三个应用程序同时需要申请打印机来输出内容,那么a程序竞争到了打印机资源就打印,然后可能是b竞争到打印机资源,也可能是c,这就导致了无序,打印机可能打印一段a的内容然后又去打印c…,操作系统的一个功能就是将这种无序变得有序。

(三)计算机早期批处理处理的过程以及相应的问题
批处理的概念:
1.把一堆人的输入攒成一大波输入
2.然后顺序计算(这是有问题的,但是第二代计算也没有解决)
3.把一堆人的输出攒成一大波输出
问题:
1.整个流程需要人参与控制,将磁带搬来搬去(中间俩小人)
2.计算的过程仍然是顺序计算——>串行
3.程序员原来独享一段时间的计算机,现在必须被统一规划到一批作业中,等待结果和重新调试的过程都需要等同批次的其他程序都运作完才可以(这极大的影响了程序的开发效率,无法及时调试程序)
(四)多道技术的问题
1、多道技术的产生背景
cpu在执行一个任务的过程中,若需要操作硬盘,则发送操作硬盘的指令,指令一旦发出,硬盘上的机械手臂滑动读取数据到内存中,这一段时间,cpu需要等待,时间可能很短,但对于cpu来说已经很长很长,长到可以让cpu做很多其他的任务,如果我们让cpu在这段时间内切换到去做其他的任务,这样cpu不就充分利用了吗。这正是多道技术产生的技术背景.
2、多道技术:所谓多道技术就是在同一时间内内存当中含有多个程序,cpu在多个任务之间来回的进行切换

cpu在各个任务之间来回切换,在遇到磁盘IO的时候会越过这个任务,去处理别的任务。
所谓CPU很快,指的是cpu在各个任务之间切换的速度很快。
空间上的复用:在同一时刻CPU当中可以存放多个程序,如果不这样做的话,CPU如何做到
并发呢?只有实现空间上的复用,才可以实现任务的并发。
具体过程:如果cpu在处理第一个程序,当遇到磁盘IO的时候,CPU变回切换到第二个程序,当第一个
程序完成磁盘IO之后,CPU在切换到第一个程序,就这样CPU在各个任务之间来回切换,从而实现
并发的效果。
只有CPU在各个任务之间切换,才可以实现并发的效果。
CPU是不会等待程序进行磁盘IO操作的
当然,来回切换的这个具体过程是由操作系统经控制的
时间上的复用+空间上的复用 = 多道技术
CPU在多个任务切换的过程中,花费的时间就是耗费时间最长的那个任务时间。
时间上的复用(切换):复用的是CPU的时间,即遇到IO要进行切换,当然没有IO也要进行切换,
由操作系统进行切换。
空间上的复用必须要依赖于物理级别进行划分(硬件级别)

所谓多个联机终端实际上也是CPU在多用任务之间来回的进行切换,从而实现并发的效果。
多道技术:内存里面同时存放多个程序,CPU可以在多个任务之间来回的进行切换。

多道技术中的多道指的是多个程序,多道技术的实现是为了解决多个程序竞争或者说共享同一个资源(比如cpu)的有序调度问题,解决方式即多路复用,多路复用分为时间上的复用和空间上的复用。
空间上的复用:将内存分为几部分,每个部分放入一个程序,这样,同一时间内存中就有了多道程序。
时间上的复用:当一个程序在等待I/O时,另一个程序可以使用cpu,如果内存中可以同时存放足够多的作业,则cpu的利用率可以接近100%,类似于我们小学数学所学的统筹方法。
空间上的复用最大的问题是:程序之间的内存必须分割,这种分割需要在硬件层面实现,由操作系统控制。如果内存此不分割,则一个程序可以访问另外一个程序的内存,首先丧失的是安全性,比如你的qq程序可以访问操作系统的内存,这意味着你的qq可以拿到操作系统的所有权限。其次丧失的是稳定性,某个程序崩溃时有可能把别的程序的内存也给回收了,比方说把操作系统的内存给回收了,则操作系统崩溃。
这里写图片描述
(五)操作系统的作用
1、作用一:为应用程序提供如何使用硬件资源的抽象
2、作用二:为应用程序提供如何使用硬件资源的抽象

总结:
从本质上讲,cpu不可能在同一时刻内执行多个进程(多核除外),只是因为cpu执行速度很快,所以看似cpu在执行多个进程,事实上是多个进程不停的占用cpu来交替的进行执行,所谓cpu很快指的是cpu在单个时间切换的速度很快,而所谓多道技术就是在同一时间内内存当中含有多个程序,cpu在多个任务之间来回的进行切换,多道技术的实现为多个任务的并发执行提供了可能。
这里写图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只懒得睁眼的猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值