这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 5.操作系统的运行机制

共8条 1/1 1 跳转至

5.操作系统的运行机制

高工
2014-10-31 10:02:35     打赏

  计算机系统中,通常CPU执行两种不同性质的程序:一种是操作系统内核程序;另一种是用户自编程序或系统外层的应用程序。对操作系统而言,这两种程序的作用不同,前者是后者的管理者,因此“管理程序”要执行一些特权指令,而“被管理程序”出于安全考虑不能执行这些指令。所谓特权指令,是指计算机中不允许用户直接使用的指令,如I/O指令、 置中断指令,存取用于内存保护的寄存器、送程序状态字到程序状态字寄存器等指令。操作系统在具体实现上划分了用户态(目态)和核心态(管态),以严格区分两类程序。


  在软件工程思想和结构程序设计方法的影响下诞生的现代操作系统,几乎都是层次式的结构。操作系统的各项功能分别被设置在不同的层次上。一些与硬件关联较紧密的模块,诸如时钟管理、中断处理、设备驱动等处于最底层。其次是运行频率较髙的程序,诸如进程管理、存储器管理和设备管理等。这两部分内容构成了操作系统的内核。这部分内容的指令操作工作在核心态。


  内核是计算机上配置的底层软件,是计算机功能的延伸。不同系统对内核的定义稍有区别,大多数操作系统内核包括四个方面的内容。


  1) 时钟管理


  在计算机的各种部件中,时钟是最关键的设备。时钟的第一功能是计时,操作系统需要通过时钟管理,向用户提供标准的系统时间。另外,通过时钟中断的管理,可以实现进程的切换。诸如,在分时操作系统中,釆用时间片轮转调度的实现;在实时系统中,按截止时间控制运行的实现;在批处理系统中,通过时钟管理来衡量一个作业的运行程度等。因此,系统管理的方方面面无不依赖于时钟。


  2) 中断机制


  引入中断技术的初衷是提高多道程序运行环境中CPU的利用率,而且主要是针对外部设备的。后来逐步得到发展,形成了多种类型,成为操作系统各项操作的基础。例如,键盘或鼠标信息的输入、进程的管理和调度、系统功能的调用、设备驱动、文件访问等,无不依赖于中断机制。可以说,现代操作系统是靠中断驱动的软件。

  中断机制中,只有一小部分功能属于内核,负责保护和恢复中断现场的信息,转移控制权到相关的处理程序。这样可以减少中断的处理时间,提高系统的并行处理能力。


  3) 原语


  按层次结构设计的操作系统,底层必然是一些可被调用的公用小程序,它们各自完成一个规定的操作。其特点是:

  1. 它们处于操作系统的最底层,是最接近硬件的部分。

  2. 这些程序的运行具有原子性——其操作只能一气呵成(这主要是从系统的安全性和便于管理考虑的)。

  3. 这些程序的运行时间都较短,而且调用频繁。


  通常把具有这些特点的程序称为原语(Atomic Operation)。定义原语的直接方法是关闭中断,让它的所有动作不可分割地进行完再打开中断。

  系统中的设备驱动、CPU切换、进程通信等功能中的部分操作都可以定义为原语,使它们成为内核的组成部分。



  4) 系统控制的数据结构及处理


  系统中用来登记状态信息的数据结构很多,比如作业控制块、进程控制块(PCB)、设备控制块、各类链表、消息队列、缓冲区、空闲区登记表、内存分配表等。为了实现有效的管理,系统需要一些基本的操作,常见的操作有以下三种:

  进程管理:进程状态管理、进程调度和分派、创建与撤销进程控制块等。

  存储器管理:存储器的空间分配和回收、内存信息保护程序、代码对换程序等。

  设备管理:缓冲区管理、设备分配和回收等。


  从上述内容可以了解,核心态指令实际上包括系统调用类指令和一些针对时钟、中断和原语的操作指令。



专家
2022-07-15 16:49:37     打赏
2楼

感谢分享


工程师
2022-07-15 23:56:47     打赏
3楼

感谢您的分享


高工
2022-07-16 11:22:11     打赏
4楼

学习了


高工
2022-07-16 11:22:47     打赏
5楼

谢谢分享


专家
2022-07-16 11:43:50     打赏
6楼

学习


专家
2022-07-16 12:25:36     打赏
7楼

谢谢分享


专家
2022-07-16 12:34:31     打赏
8楼

谢谢分享


共8条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]