1、前言算法
操做系统的重要性不言而喻,学习操做系统对咱们理解计算机的工做流程是很是有利的,也颇有利于咱们学习掌握其余语言,由于语言中的不少概念都是直接和操做系统相关的,学好操做系统就是基础中的基础,因此,颇有必要好好掌握操做系统这门基础知识。数据库
2、何为操做系统编程
操做系统(OS,Operating System)是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充。它在计算机系统中占据了重要地位,汇编程序、编译程序、数据库管理系统等系统软件,都依赖于操做系统的支持,须要取得操做系统的服务。windows
3、操做系统的做用安全
为何须要操做系统?能够很简单的会带,由于为了方便使用者使用计算机,因此须要操做系统,若是没有操做系统,使用计算机将会无比的困难,由于机器只能识别0,1二进制码,而普通人不可能去经过二进制码而计算机打交道,因此必须须要操做系统,这样普通用户才能很好的使用计算机,好比windows操做系统,Linux操做系统,它们都使得咱们使用计算机变得很是的简单。既然须要在计算机中装操做系统,那么操做到底有什么做用呢。服务器
3.1 OS做为用户与计算机硬件系统之间的接口并发
用户能够经过以下三种方式使用计算机。异步
① 命令方式;OS提供了命令接口,用户可输入命令取得操做系统的服务,并控制用户程序的运行。学习
② 系统调用方式;OS提供了系统调用,用户可在应用程序中调用系统调用,来实现与操做系统的通讯,并取得它的服务。优化
③ 图形、窗口方式;这应该是用户最熟悉的一种方式,只须要经过鼠标简单的点击就可以实现与操做系统之间的通讯,并取得它的服务。
OS做为接口示意图以下。
3.2 OS做为计算机系统资源的管理者
OS管理的计算机系统资源以下。
① 处理器;用于分配和控制处理器。
② 存储器;负责内存的分配与回收。
③ I/O设备;负责I/O设备的分配与操纵。
④ 文件管理;负责文件的存取、共享和保护。
3.3 OS实现了对计算机资源的抽象
若在计算机上没有安装任何软件,那么用户须要面向硬件接口进行编程,那是至关的痛苦,为了方便使用硬件设备,则覆盖了一层I/O设备管理软件,该软件提供Read/Write接口,用户经过此接口就可使用该硬件设备进行数据的输入和输出了,这就方便了不少。还能够覆盖一层文件管理软件并提供相应的操做接口,用户则能够用户接口去操做文件,而不用去了解具体的细节。OS就是由这些软件组成,其屏蔽了具体的硬件的细节,提供统接口供用户调用,经过该接口就能够轻松的访问操纵硬件资源。
4、操做系统的基本特性
操做系统最重要的特征有并发、共享、虚拟和异步。其中,并发是最基本的特征,其余三个特征都是以并发为前提的。
4.1 并发性
提到并发,就天然而然的会提到并行,二者到底有怎样的区别呢。
并行性是指两个或多个事件在同一时刻发生。
并发性是指两个或多个事件在同一时间间隔发生。
有二者的概念可知,在单处理器计算机上,多道程序会交替运行,是并发的;可是每个时刻最多只有一道程序运行,是并行的。而在多处理器计算机上,同一时刻会有多到程序同时运行,是并行的。
用户编写好的程序交给计算机运行,从用户的角度看,计算机运行的是程序,可是,实际上,在计算机中运行的是线程。由于程序时静态实体,不能被处理器调用独立运行,更不能与其余程序并发执行。实际上,计算机会为每一个程序创建进程,而后为每个进程创建线程,处理器调度线程,从而到达运行程序的效果。
而进程与线程也是一个容易混淆的概念。进程是操做系统分配资源的基本单位,线程是独立运行和独立调度的基本单位,线程基本上不占据资源,一个进程的多个线程共享该进程的资源。关于进程与线程,以后还会具体的介绍。
4.2 共享性
共享是指操做系统中的资源可供内存中多个并发执行的进程(线程)共同使用,这种资源的共同使用就叫作资源共享。而根据各类资源的不一样属性,进程对资源利用的方式也不相同,目前实现资源共享的方式有以下两种。
1. 互斥共享方式
互斥共享是指当资源被一个进程A占用时,其余想用使用该资源的进程B就只能等待,只有进程A使用完该资源后,进程B才可以使用该资源,这种共享方式就叫作互斥式共享,把这种资源叫作临界资源或独占资源。如打印机就属于临界资源。
2. 同时访问方式
某一资源在一段时间内可由多个进程"同时"访问,这种"同时"是宏观上的,在微观上,这些进程多是交替对该资源进行访问,磁盘设备就是这类资源。
4.3 虚拟技术
虚拟就是经过某种技术把一个物理实体转变为若干个逻辑上的对应物。物理实体是实际存在的,逻辑上的对应物是虚拟的,如今主要有两种虚拟技术,时分复用和空分复用技术。
1. 时分复用技术
时分复用技术能够用来实现虚拟处理机、虚拟设备等,用来提升资源的利用率。
虚拟处理机技术。虚拟处理机技术借助多道程序设计技术,即为每一道程序创建一个进程,让多道程序并发执行,从而达到分时使用一台计算机,这台计算机可以同时为多个用户服务,使得每一个终端用户都认为有一个处理机专门为他服务。
虚拟设备技术。经过虚拟设备技术将一台物理I/O设备虚拟为多态逻辑上的I/O设备,并容许用户占用一台逻辑上的I/O设备,这样能够容许在一段时间内由一个用户访问的设备变为在一段时间内容许多个用户同时访问的共享设备。
2. 空分复用技术
空分复用技术能够用来实现虚拟磁盘、虚拟存储等,用来提升资源利用率。
虚拟磁盘技术。经过虚拟磁盘技术能够将一个硬盘虚拟为多台虚拟磁盘,这样使用起来既安全又方便。如将一块硬盘划分为C、D、E等逻辑盘。
虚拟存储器技术。利用存储器的空闲空间来存放程序,提升内存利用率。还能够经过虚拟存储器技术(实质上是时分复用技术)在逻辑上扩大存储器的容量,它可使得一道程序经过时分复用技术在远小于它的内存空间中运行。
时分复用或空分复用中逻辑设备数为N,那么每台虚拟设备速速必然等于或低于物理设备速度的1/N。
4.4 异步性
在多道程序环境下,容许多个进程并发执行,但只有进程在得到所需的资源后方可执行,如正在执行的进程A提出打印请求,须要使用打印机,可是此时进程B正在使用打印机,故此时进程A只能等待而且放弃处理机资源,当进程B使用完打印机后,而且分配处理机才能运行,能够看出,进程的执行一般不是一鼓作气的,而是走走停停的方式。进程以不可预知的速度向前推动,此即进程的异步性。异步性也是操做系统的一个重要特征。
5、微内核OS结构
为提升操做系统的正确性、灵活性、易维护性、可扩充性,在现代操做系统结构设计中,即单处理机环境下,大多采用了基于客户/服务器模式的微内核结构,将操做系统划分为两个部分:微内核和多个服务器,对微内核的描述以下。
5.1 微内核的特色
1. 足够小的内核
内核是指通过精心设计、能实现现代OS最基本核心功能的部分。微内核并非一个完整的OS,而只是操做系统中最基本的部分,它一般用于实现与硬件紧密相关的处理、实现一些比较基本的功能、负责客户和服务器之间的通讯。
2. 基于客户/服务器模式
将操做系统中最基本的功能放入内核中,把其余绝大部分功能放在微内核外面的一组服务器(进程)中实现。如用于提供对进程进行管理的进程服务器,提供对虚拟存储器管理的虚拟存储器服务器,提供I/O设备管理的I/O设备管理服务器。他们都是被做为进程来实现的,运行在用户态,客户与服务器之间是借助微内核提供的消息传递机制来实现信息交互的
说明:能够看到客户进程与服务器是经过微内核来完成通讯的。
3. 应用"机制与策略分离"原理
所谓机制,是指实现某一功能的具体执行结构,而策略,则是在机制的基础上,借助于某些参数或算法来实现该功能的优化,或达到不一样的功能目标。一般,机制处于一个系统的基层,而策略则处于系统的高层。在微内核系统中,机制一般放在OS的微内核中。
4. 采用面向对象技术
利用面向对象技术的抽象和隐蔽原则来控制系统的复杂性,利用对象、封装、继承等概念来确保操做系统的正确性、可靠性、易修改性等。
5.2 微内核的基本功能
1. 进程(线程)管理
为实现进程(线程)调度功能,必须在进程管理中设置一个或多个进程(线程)优先级队列,能将指定优先级进程(线程)从所在队列中取出,并将其投入执行。因为这部分属于调度功能的机制部分,应将它放入微内核中。而如何肯定每类用户进程的优先级,以及如何修改他们的优先级,都是属于策略问题,可将他们放在微内核外的进程管理服务器中。因为进程之间的通讯功能是微内核OS最基本的功能,所以几乎全部的微内核OS都将进程通讯功能放在微内核中,此外,还将进程的切换、线程的调度、以及处理机之间的同步功能也放入微内核中。
2. 低级存储器管理
在微内核中,配置了最基本的低级存储器管理机制。如用于将用户控件的逻辑地址变换Wie内存空间的物理地址的页表机制和地址变换机制,这部分是依赖于机器的,所以放入微内核汇中,而采起何种页面算法、采用何种内存分配和回收策略都是具体的策略,放在微内核外的存储器管理服务器中去实现。
3. 中断和陷入处理
微内核能够捕获所发生的中断和陷入事件,并进行相应的前期处理。如进行中断现场保护,识别中断和陷入的类型,而后将有关事件的信息转化成消息后,把它发送给相关的服务器。有服务器根据中断和陷入的类型,调用相应的处理程序来进行后期处理。
5.3 微内核存在的问题
微内核OS采用客户/服务器模式,有许多优势,可是也存在一些缺点,如客户进程与服务进程,服务进程与服务进程通讯时,都须要通过微内核,会存在屡次用户/内核模式及上下文切换,这使得开销较大。
说明:当客户进程请求文件服务时,须要通过四次用户态和系统态的切换,这样使得开销成本很大。为了减小开销,会把服务器移入到微内核中,这样就只须要进行两次切换便可,会减小系统开销,可是会增长内核的容量。
6、总结
操做系统的基本知识就介绍到这里,以后咱们会更深刻的介绍每个知识点,谢谢各位园友的观看~