计算机操作系统之概述(一)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/shentanweilan9/article/details/53509007

1.操作系统的作用
1.1 OS作为用户与计算机硬件系统之间的接口,用户可以通过如下三种方式使用计算机。
  ① 命令方式;OS提供了命令接口,用户可输入命令取得操作系统的服务,并控制用户程序的运行。
  ② 系统调用方式;OS提供了系统调用,用户可在应用程序中调用系统调用,来实现与操作系统的通信,并取得它的服务。
  ③ 图形、窗口方式;这应该是用户最熟悉的一种方式,只需要通过鼠标简单的点击就能够实现与操作系统之间的通信,并取得它的服务。

1.2 OS作为计算机系统资源的管理者, OS管理的计算机系统资源如下。
 ① 处理器;用于分配和控制处理器。
 ② 存储器;负责内存的分配与回收。
 ③ I/O设备;负责I/O设备的分配与操纵。
 ④ 文件管理;负责文件的存取、共享和保护。

1.3 OS实现了对计算机资源的抽象
若在计算机上没有安装任何软件,那么用户需要面向硬件接口进行编程,那是相当的痛苦,为了方便使用硬件设备,则覆盖了一层I/O设备管理软件,该软件提供Read/Write接口,用户通过此接口就可以使用该硬件设备进行数据的输入和输出了,这就方便了很多。还可以覆盖一层文件管理软件并提供相应的操作接口,用户则可以用户接口去操作文件,而不用去了解具体的细节。

2. 操作系统的分类
2.1 批处理操作系统
主要装配在用于科学计算的大型机上。其特点是作业周转时间短、系统吞吐量大、资源的使用效率高等。
2.2 分时操作系统
分时系统是多用户共享系统,它一般链接多个中端或工作站,每个用户都通过相应的中端设备使用计算机。其主要特点是交互性。
2.3 实时操作系统
实时系统一般是专用计算机系统,其特点是,它对外部输入信号做出放映的速度足以控制发出信号的对象。

3. 操作系统的结构
从整体上将,计算机操作系统,一般可分为:内核(Kernel)和外壳(Shell)两部分。
操作系统的内核:是事先操作系统最基本功能的程序模块的集合,在机器的系统态下运行。
操作系统的外壳:指的是运行在内核之上的,完成OS外层功能的程序,他们运行在机器的用户态下,是一种开放式的结构,其功能可方便的修改和增删。

4.操作系统的基本特征
4.1 并发:多道程序”在宏观上同时运行“。
提到并发,就自然而然的会提到并行,两者到底有怎样的区别呢。
   并行性是指两个或多个事件在同一时刻发生。
   并发性是指两个或多个事件在同一时间间隔发生。
有两者的概念可知,在单处理器计算机上,多道程序会交替运行,是并发的;但是每一个时刻最多只有一道程序运行,是并行的。而在多处理器计算机上,同一时刻会有多到程序同时运行,是并行的。

4.2 虚拟:操作系统使用某种技术,将物理上的一个变成逻辑上的多个,反之亦然。
虚拟就是通过某种技术把一个物理实体转变为若干个逻辑上的对应物。物理实体是实际存在的,逻辑上的对应物是虚拟的,现在主要有两种虚拟技术,时分复用和空分复用技术。
4.2.1. 时分复用技术
  时分复用技术可以用来实现虚拟处理机、虚拟设备等,用来提高资源的利用率。
  虚拟处理机技术。虚拟处理机技术借助多道程序设计技术,即为每一道程序建立一个进程,让多道程序并发执行,从而达到分时使用一台计算机,这台计算机能够同时为多个用户服务,使得每个终端用户都认为有一个处理机专门为他服务。
  虚拟设备技术。通过虚拟设备技术将一台物理I/O设备虚拟为多态逻辑上的I/O设备,并允许用户占用一台逻辑上的I/O设备,这样可以允许在一段时间内由一个用户访问的设备变为在一段时间内允许多个用户同时访问的共享设备。
4.2.2 空分复用技术
  空分复用技术可以用来实现虚拟磁盘、虚拟存储等,用来提高资源利用率。
  虚拟磁盘技术。通过虚拟磁盘技术可以将一个硬盘虚拟为多台虚拟磁盘,这样使用起来既安全又方便。如将一块硬盘划分为C、D、E等逻辑盘。
  虚拟存储器技术。利用存储器的空闲空间来存放程序,提高内存利用率。还可以通过虚拟存储器技术(实质上是时分复用技术)在逻辑上扩大存储器的容量,它可以使得一道程序通过时分复用技术在远小于它的内存空间中运行。
  时分复用或空分复用中逻辑设备数为N,那么每台虚拟设备速速必然等于或低于物理设备速度的1/N。
  
4.3共享。
共享是指操作系统中的资源可供内存中多个并发执行的进程(线程)共同使用,这种资源的共同使用就叫做资源共享。而根据各种资源的不同属性,进程对资源利用的方式也不相同,目前实现资源共享的方式有如下两种。
  4.3.1. 互斥共享方式
  互斥共享是指当资源被一个进程A占用时,其他想用使用该资源的进程B就只能等待,只有进程A使用完该资源后,进程B才能够使用该资源,这种共享方式就叫做互斥式共享,把这种资源叫做临界资源或独占资源。如打印机就属于临界资源。
  4.2.1 同时访问方式
  某一资源在一段时间内可由多个进程”同时”访问,这种”同时”是宏观上的,在微观上,这些进程可能是交替对该资源进行访问,磁盘设备就是这类资源。

4.4 异步性 (不确定性)
  在多道程序环境下,允许多个进程并发执行,但只有进程在获得所需的资源后方可执行,如正在执行的进程A提出打印请求,需要使用打印机,但是此时进程B正在使用打印机,故此时进程A只能等待并且放弃处理机资源,当进程B使用完打印机后,并且分配处理机才能运行,可以看出,进程的执行通常不是一气呵成的,而是走走停停的方式。进程以不可预知的速度向前推进,此即进程的异步性。异步性也是操作系统的一个重要特征。即在操作系统控制下的多个作业的执行顺序和每个作业的执行时间是不确定的。
  
5.微内核OS结构
  为提高操作系统的正确性、灵活性、易维护性、可扩充性,在现代操作系统结构设计中,即单处理机环境下,大多采用了基于客户/服务器模式的微内核结构,将操作系统划分为两个部分:微内核和多个服务器,对微内核的描述如下。
  5.1 微内核的特点
  5.1.1. 足够小的内核
  内核是指经过精心设计、能实现现代OS最基本核心功能的部分。微内核并不是一个完整的OS,而只是操作系统中最基本的部分,它通常用于实现与硬件紧密相关的处理、实现一些比较基本的功能、负责客户和服务器之间的通信。
  5.1.2. 基于客户/服务器模式
  将操作系统中最基本的功能放入内核中,把其他绝大部分功能放在微内核外面的一组服务器(进程)中实现。如用于提供对进程进行管理的进程服务器,提供对虚拟存储器管理的虚拟存储器服务器,提供I/O设备管理的I/O设备管理服务器。他们都是被作为进程来实现的,运行在用户态,客户与服务器之间是借助微内核提供的消息传递机制来实现信息交互的

这里写图片描述

说明:可以看到客户进程与服务器是通过微内核来完成通信的。

  5.1.3. 应用”机制与策略分离”原理
  所谓机制,是指实现某一功能的具体执行结构,而策略,则是在机制的基础上,借助于某些参数或算法来实现该功能的优化,或达到不同的功能目标。通常,机制处于一个系统的基层,而策略则处于系统的高层。在微内核系统中,机制通常放在OS的微内核中。
  5.1.4. 采用面向对象技术
  利用面向对象技术的抽象和隐蔽原则来控制系统的复杂性,利用对象、封装、继承等概念来确保操作系统的正确性、可靠性、易修改性等。
  5.2 微内核的基本功能
  5.2.1. 进程(线程)管理
  为实现进程(线程)调度功能,必须在进程管理中设置一个或多个进程(线程)优先级队列,能将指定优先级进程(线程)从所在队列中取出,并将其投入执行。由于这部分属于调度功能的机制部分,应将它放入微内核中。而如何确定每类用户进程的优先级,以及如何修改他们的优先级,都是属于策略问题,可将他们放在微内核外的进程管理服务器中。由于进程之间的通信功能是微内核OS最基本的功能,因此几乎所有的微内核OS都将进程通信功能放在微内核中,此外,还将进程的切换、线程的调度、以及处理机之间的同步功能也放入微内核中。
  5.2.2. 低级存储器管理
  在微内核中,配置了最基本的低级存储器管理机制。如用于将用户控件的逻辑地址变换Wie内存空间的物理地址的页表机制和地址变换机制,这部分是依赖于机器的,因此放入微内核汇中,而采取何种页面算法、采用何种内存分配和回收策略都是具体的策略,放在微内核外的存储器管理服务器中去实现。  
  5.2.3. 中断和陷入处理
  微内核可以捕获所发生的中断和陷入事件,并进行相应的前期处理。如进行中断现场保护,识别中断和陷入的类型,然后将有关事件的信息转化成消息后,把它发送给相关的服务器。有服务器根据中断和陷入的类型,调用相应的处理程序来进行后期处理。
  5.3 微内核存在的问题
  微内核OS采用客户/服务器模式,有许多优点,但是也存在一些缺点,如客户进程与服务进程,服务进程与服务进程通信时,都需要经过微内核,会存在多次用户/内核模式及上下文切换,这使得开销较大。
这里写图片描述
说明:当客户进程请求文件服务时,需要经过四次用户态和系统态的切换,这样使得开销成本很大。为了减少开销,会把服务器移入到微内核中,这样就只需要进行两次切换即可,会减少系统开销,但是会增加内核的容量。

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页