关闭

深入认识操作系统

标签: 操作系统
222人阅读 评论(0) 收藏 举报
分类:
在计算机中存在着各种各样有着不同功能硬件设备,如果要使用这些设备那么必须为这些设备分别编写不同的驱动程序,所以就会产生各种不同的驱动程序接口,应用程序开发人员如果要进行开发工作,那么首先要掌握各种不同硬件设备提供的的驱动程序接口,这就给应用程序开发工作带来了困难。除此之外,由于计算机可能同时运行着多个应用程序,这也就导致一个新问题的出现,如何为不同了的程序分配不同的硬件资源呢?此时操作系统的出现就很好的解决了这一系列的问题,操作系统把各种各样的驱动层序接口抽象成一套统一的接口,这样开发人员只需掌握由操作系统提供的统一接口便可以使用不同的硬件资源进行开发工作,同时操作系统还实现了资源管理的等其他功能。所以从我个人角度出发,我认为操作系统就是管理计算机软、硬件资源,并且以尽可能的高效、合理的方式为用户和其应用程序提供服务的一种系统软件。该系统软件主要功能包括处理机管理(进程管理),存储管理,设备管理和文件管理。其中处理机管理主要包括进程同步,进程通信和进程调度等,存储管理包括存储分配,存储保护,地址映射和存储扩充等功能,设备管理管理主要对I/O设备的管理,比如I/O设备的分配,/O操作的执行等。文件管理包括文件存储管理,文件读写管理功能等。
操作系统经过了长期的发展历程,在发展过程产生了各种各样的操作系统,首先最早的是单道批处理操作系统,该操作系统的特点是当计算机中有多个任务的时候,在单道批处理操作系统的控制下,这些任务会被逐个执行,只有在前一个任务完成后,下一个任务才会被执行。但是这种系统的资源利用率和任务的吞吐量很低,为了解决这一问题,人们就开发出了另一种操作系统,叫做多道批处理操作系统,其特点是当计算机中有多个任务的时候,在多道批处理操作系统的控制下,这些任务会以交替轮换的方式被执行,这样就在很大的程度上提高了系统的资源利用率和任务的吞吐量。但是虽然解决资源利用率和吞吐量的问题,但是这种操作系统缺乏人机交互的功能,当用户把多个任务提交给计算机以后,计算机就不在受到用户的控制,直到任务执行结束,即使在任务执行期间出现错误,这种错误对用户也是透明的。这样就造成了使用效率低下的问题。分时操作体统的出现很好的解决了这一问题,分时操作体统允许多个用户共享主机,多个用户可以通过多个终端连接到同一台主机上面,这样使得多个用户感觉好像自己在独自使用计算机,同时用户可以在终端通过向主机发送要各种命令,主机会根据不同的命令对用户的请求作出响应。在这之后又出现了实时操作系统,网络操作系统,分布式操作系统,并行操作系统。其中实时操作系统的重点在于对任务的及时响应,强调的是正确性和实时性,现在不少的分时操作系统都加强了实时性。对于网络操作系统功能重点在于共享能力和通信能力,比如现在的Windows NT,不过现在大部分的操作系统当中都具有很好的共享能力和通信能力。而分布式操作系统和并行操作系统还处于发展阶段。
虽然操作系统的种类很多,但是他们都具有一些共同的基本特征,比如并发、共享、虚拟和不确定性。首先来说并发,说到并发不得不说并行,并发是指在单处理器的情况下,在计算机中虽然有多个任务在同时进行,但是在某一个具体时刻只一个任务获得处理器的执行权,这些任务是被交替轮换的执行的。而并行与之相反,并行是指在多个处理器的情况下,在计算机中的多个任务在不同的处理器上同时被执行。共享和并发是一对相关联的概念,并发一定会引发共享,共享也会导致并发。操作系统的虚拟性在分时系统中最能体现,通过交替轮换的执行方式使用户感觉到自己在独自使用资源。不确定性是指在计算机中进程何时获取执行权,何时发出请求,总共执行多长时间等都是未知的。
每一种操作系统又有着自己的结构,操作系统结构大致分为传统系统结构和现代系统结构,传统系统结构包括无结构,模块化结构和层次化结构,现代系统结构主要是微内核结构,该结构集成了传统结构的优势,而且利用了C/S和面向对象等开发方法。在传统系统结构中的无结构系统是指整个系统的开发大致可以看成从上到下一气呵成,比如以前的DOS系统就是一种无结构的系统。模块化结构系统是指将整个系统按功能划分成不同的模块进行开发,层次化结构的操作系统是在操作系统抽象多驱动接口的时候最能体现。微内核结构操作系统引入了C/S开发方法,微内核结构操作系统将系统的最核心部分写入内核,其他的大部分系统功能都是放在内核之外了,比如处理机管理功能,存储管理功能等都是被放在内核之外,被视为一种服务进程。当用户向这些服务进程发出请求的时候,用户是通过内核和这些服务进程通信的。

注:在操作系统中为了保护内核的安全,引入了操心系统两种不同的运行机制,分别是用户态和内核态,其中处于内核态的进程可以执行系统指令集中的任何指令,可以访问任何的存储位置,但是处于用户态的进程其能够执行的指令是有限制的,它不能执行特权指令,而且能够访问的存储位置也是受限制的。在Intel CPU中设置了四个不同的运行模式,分别是Ring0-Ring3,其中Ring0的级别最高,Ring3的级别最低,当进程处于内核态的时候CPU的运行模式为Ring0,当进程处于用户态的时候,CPU的运行模式为Ring3,Ring2和Ring3运行模式没有使用。
1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:295次
    • 积分:23
    • 等级:
    • 排名:千里之外
    • 原创:2篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档