操作系统原理(一),概述

Technorati 标签: 操作系统,原理

clip_image001

第一章 引论

什么是操作系统?对用户而言,操作系统是用户与硬件接口,它将硬件资源抽象出来,方便调用。对硬件而言,它是计算机资源的调度者。所以

操作系统:可以提供给其他程序方便编写并运行的程序。

由程序来运行程序,而不是程序自己来运行,这是操作系统提供的虚拟化的表现
clip_image002

1.1 操作系统发展

1.1.1 单任务模式

计算机只能被一个程序独占。

1.1.2 OS的多任务模式

加电之后,首先运行OS,随时可以载入其他程序执行。执行完以后切换回OS本身。

但是每次还是要等待这个程序执行完毕,才能接着载入下个程序执行。任何中断事件,都会中断正在运行的程序。

程序执行完毕,会将CPU归还给OS。从而继续OS本身的运行。这种操作系统就是单任务操作系统,典型代表就是DOS。

批处理:OS将多个程序一个一个的排列起来。省去了人为载入的过程。所以批处理操作系统相对单任务来说又进了一步,但是本质仍然是一个程序独占资源。

再后来OS针对系统时钟中断开发了中断服务程序,也就是多任务OS中的调度程序。中断来临,CPU根据中断向量表的内容,指向调度程序所在的内存地址入口,执行调度程序的代码。调度程序将CPU的执行跳转到各个应用程序所在的内存地址入口。每次中断,调度程序以一定的优先级,指向不同程序的入口。如果还没执行完,会自动保存运行状态。从微观上看,每个应用程序独占CPU,但是时间非常小,10ms

多任务操作系统的关键就是有多任务调度程序。

1.1.3 虚拟化的好处

虚拟化的好处是,将下层复杂的逻辑转换为上层简单的逻辑,方便人类读懂。

1.2 操作系统的主要功能

操作系统的主要功能有:

  • 进程的创建和调度
  • 内存空间的管理
  • 设备管理
  • 文件系统管理

可以看出操作系统其实涵盖了计算机的CPU、内存、IO设备等最基本要素的管理。再一次印证了操作系统其实就是硬件与用户的接口,可以将下层复杂逻辑转换为用户易懂的逻辑。相当于用户的大管家。

1.3 操作系统的架构

操作系统是用户和硬件主机的接口,核心功能在于任务调度和硬件抽象,现有的操作系统之间的最大不同在于内核在总体代码里面的比重。

主要有单内核、混合内核、微内核、外内核这几种架构。

单内核、混合内核、微内核、外内核的区别
clip_image003

  • 单内核:内核所有的功能代码全部都运行在同一个内核空间内,优点是性能性能很高,缺点是设计复杂,稳定性不够好;
  • 微内核:类似C/S服务模式,只有最基础的代码会运行于内核空间,其他的都运行于用户空间,通过消息机制来交互信息。优点是稳定性高,缺点性能较低;
    clip_image004
  • 混合内核:性能与稳定的妥协产物,完全由设计者进行用户自定义;
  • 外内核:比微内核更加极端,连硬件抽象工作都交给用户空间,内核只需要确保应用程序访问硬件资源时,硬件是空闲的
posted @ 2018-01-13 11:44  dy2903  阅读(543)  评论(0编辑  收藏  举报