1.操作系统相关知识

什么是操作系统

操作系统就是一个协调,管理和控制计算机硬件资源和软件资源的控制程序

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

操作系统的一个功能就是将无序变成有序

操作系统发展史

第一代(1940~1955) 手工操作 ---- 穿孔卡片

手工操作特点:

    (1)用户独占全机。不会出现因资源已被其他用户占用而等待的现象,但资源的利用率低。
    (2)CPU 等待手工操作。CPU的利用不充分。
    (3)没有操作系统的概念。
    (4)所有的程序设计都是直接操控硬件。

第二代(1955~1965)  磁盘存储 ----批处理系统

特点:

    设计人员、生产人员、操作人员、程序人员和维护人员直接有了明确的分工,计算机被锁在专用空调房间中,由专业操作人员运行,这便是‘大型机’。

    有了操作系统的概念

    有了程序设计语言:FORTRAN语言或汇编语言

1联机批处理系统

     输入/输出由CPU来处理

  2.脱机批处理系统

        为克服与缓解:高速主机与慢速外设的矛盾,提高cpu的利用率,引入脱机批处理系统

 

卫星机:一台不与主机直接相连而专门用于与输入/输出设备打交道的。

  其功能是:
   1)从输入机上读取用户作业并放到输入磁带上。
   2)从输出磁带上读取执行结果并传给输出机。
1、为了解决大家都要排队去运行自己的程序,出现了批处理系统,
2、为了解决输出设备和输入设备的人工操作以及高速cpu和输入输出设备之间速度的差异问题,出现了高速磁带和脱机批处理系统,
3、因为cpu的运算速度比高速磁带的读取和输出的速度要高很多,那么当程序运当中去和高速磁带打交道,并且解决程序串行,也就是一个程序完了之后,才能执行下一个的情况,出现了下面的多道系统。
对上面的操作系统进行总结

第三代(1955~1965) 多道程序系统

 1.多道程序设计技术

   多道程序设计技术指允许多个程序同时进入内存并运行,即同时把多个程序放入内存,并允许它们交替在CPU中运行,它们共享系统中的各种硬、软件资源。当一道程序因I/O请求而暂停运行时,CPU便立即转去运行另一道程序。

 

   在A程序计算时,I/O空闲, A程序I/O操作时,CPU空闲(B程序也是同样);必须A工作完成后,B才能进入内存中开始工作,两者是串行的,全部完成共需时间=T1+T2。

          将A、B两道程序同时存放在内存中,它们在系统的控制下,可相互穿插、交替地在CPU上运行:当A程序因请求I/O操作而放弃CPU时,B程序就可占用CPU运行,这样 CPU不再空闲,而正进行A I/O操作的I/O设备也不空闲,显然,CPU和I/O设备都处于“忙”状态,大大提高了资源的利用率,从而也提高了系统的效率,A、B全部完成所需时间<<T1+T2。

          多道程序设计技术不仅使CPU得到充分利用,同时改善I/O设备和内存的利用率,从而提高了整个系统的资源利用率和系统吞吐量(单位时间内处理作业(程序)的个数),最终提高了整个系统的效率。
   单处理机系统中多道程序运行时的特点:
      (1)多道:计算机内存中同时存放几道相互独立的程序;
      (2)宏观上并行:同时进入系统的几道程序都处于运行过程中,即它们先后开始了各自的运行,但都未运行完毕;
      (3)微观上串行:实际上,各道程序轮流地用CPU,并交替运行。
   多道程序系统的出现,标志着操作系统渐趋成熟的阶段,先后出现了作业调度管理、处理机管理、存储器管理、外部设备管理、文件系统管理等功能。
   由于多个程序同时在计算机中运行,开始有了空间隔离的概念,只有内存空间的隔离,才能让数据更加安全、稳定。
   出了空间隔离之外,多道技术还第一次体现了时空复用的特点,遇到IO操作就切换程序,使得cpu的利用率提高了,计算机的工作效率也随之提高。
    

   空间上的复用:将内存分为几部分,每个部分放入一个程序,这样,同一时间内存中就有了多道程序。

 

    时间上的复用:当一个程序在等待I/O时,另一个程序可以使用cpu,如果内存中可以同时存放足够多的作业,则cpu的利用率可以接近100%

 

 2.多道批处理系统

它有两个特点:

      (1)多道:系统内可同时容纳多个作业。这些作业放在外存中,组成一个后备队列,系统按一定的调度原则每次从后备作业队列中选取一个或多个作业进入内存运行,运行作业结束、退出运行和后备作业进入运行均由系统自动实现,从而在系统中形成一个自动转接的、连续的作业流。
      (2)成批:在系统运行过程中,不允许用户与其作业发生交互作用,即:作业一旦进入系统,用户就不能直接干预其作业的运行。

它的两个缺点:

   1、时间复用上的缺点:程序员A的程序运行10分钟就能够运行结束,程序员B的程序需要运行24小时,如何程序员B的程序先运行,并且程序员B的程序没有任何I\O操作,那么程序员A需要等待24小时之后才能执行,那么这就不太合理了。
   2、空间复用上的缺点:首先丧失的是安全性,比如你的qq程序可以访问操作系统的内存,这意味着你的qq可以拿到操作系统的所有权限。其次丧失的是稳定性,某个程序崩溃时有可能把别的程序的内存也给回收了,比方说把操作系统的内存给回收了,则操作系统崩溃。
    为了解决空间复用上的问题:程序之间的内存必须分割,由操作系统控制。如果内存彼此不分割,则一个程序可以访问另外一个程序的内存。
    为了解决时间出现了分时系统
 
3.分时系统
特点:
    (1)多路性。若干个用户同时使用一台计算机。微观上看是各用户轮流使用计算机;宏观上看是各用户并行工作。
    (2)交互性。用户可根据系统对请求的响应结果,进一步向系统提出新的请求。这种能使用户与系统进行人机对话的工作方式,明显地有别于批处理系统,因而,分时系统又被称为交互式系统。
    (3)独立性。用户之间可以相互独立操作,互不干扰。系统保证各用户程序运行的完整性,不会发生相互混淆或破坏现象。
    (4)及时性。系统可对用户的输入及时作出响应。分时系统性能的主要指标之一是响应时间,它是指:从终端发出命令到系统予以应答所需的时间。
应用场景:
      现在流行的PC,服务器都是采用这种运行模式,即把CPU的运行分成若干时间片分别处理不同的运算请求 linux系统
 
 4.实时系统
实时操作系统的主要特点
    1)及时响应。每一个信息接收、分析处理和发送的过程必须在严格的时间限制内完成。
    2)高可靠性。需采取冗余措施,双机系统前后台工作,也包括必要的保密措施等。
应用场景:
     一般用于单片机上、PLC等,比如电梯的上下控制中,对于按键等动作要求进行实时处理 
 
5.通用操作系统  
      通用操作系统:具有多种类型操作特征的操作系统。可以同时兼有多道批处理、分时、实时处理的功能,或其中两种以上的功能。

第三代(1980~至今) 现代计算机

 1.个人计算机操作系统
    个人计算机上的操作系统是联机交互的单用户操作系统,它提供的联机交互功能与通用分时系统提供的功能很相似。
 2.网络操作系统
   网络操作系统:在原来各自计算机操作系统上,按照网络体系结构的各个协议标准增加网络管理模块,其中包括:通信、资源共享、系统安全和各种网络应用服务。
 3.分布式操作系统 
  分布式操作系统也是通过通信网络,将地理上分散的具有自治功能的数据处理系统或计算机系统互连起来,实现信息交换和资源共享,协作完成任务。——硬件连接相同。
  分布式:将一个大的任务拆分成几个小的任务,分配给不同的任务处理机制,具体怎么分配是由系统中的算法决定的,大家同时来运行自己的任务,然后各自将人物的返回结果再返回给你这个大的任务。
 
 
posted @ 2019-02-24 15:01  等待の喵  阅读(155)  评论(0编辑  收藏