3 操作系统的运行机制

用户态与核心态

计算机系统中,通常CPU执行两种不同性质的程序:一种是操作系统内核程序;另一种是用户自编程序或系统外层的应用程序。对操作系统而言,前者是后者的管理者。操作系统在具体实现上划分了用户态(目态)和核心态(管态),以严格区分两类程序。

特权指令,是操作系统由于管理用户态的指令,如I/O指令、 置中断指令、存取用于内存保护的寄存器、送程序状态字到程序状态字寄存器等指令。特权指令只能在核心态执行,不允许用户直接使用。

  • 核心态

操作系统的各项功能分别被设置在不同的层次上。一些与硬件关联较紧密的模块,诸如时钟管理、中断处理、设备驱动等处于最底层。其次是运行频率较髙的程序,诸如进程管理、存储器管理和设备管理等。这两部分内容构成了操作系统的内核。内核是计算机功能的延伸,工作在最底层。这部分内容的指令操作工作在核心态。

  • 用户态

在CPU的设计中,用户态指非特权状态。在此状态下,执行的代码被硬件限定,不能进行某些操作,比如写入其他进程的存储空间,以防止给操作系统带来安全隐患。在操作系统的设计中,用户态也类似,指非特权的执行状态。内核禁止此状态下的代码进行潜在危险的操作,比如写入系统配置文件、杀掉其他用户的进程、重启系统等。

引入核心态和用户态两种工作状态后,操作系统内核工作在核心态,用户程序工作在用户态。系统不允许用户程序实现核心态的功能,因此需要通过中断或者异常,实现从用户态进入核心态。CPU由用户态进入核心态是通过硬件实现的。

中断

根据中断源的不同,可以把中断分为硬件中断和软件中断两大类,而硬件中断又可以分为外部中断和内部中断两类。

  • 外中断

外部中断一般是指由计算机外设发出的中断请求,如:键盘中断、打印机中断、定时器中断等。外部中断是可以屏蔽的中断,也就是说,利用中断控制器可以屏蔽这些外部设备的中断请求。这一类中断通常是与当前程序运行无关的事件,即他们与当前处理器运行的程序无关。

  • 内中断

内中断,也成为异常,也成为例外或者陷入,指源自CPU执行指令内部的事件,如程序的非法操作码,地址越界,算术溢出、虚存系统的缺页以及专门的陷入指令等引起的时间,对异常的处理一般要依赖于当前程序的运行现场,而且异常不能被屏蔽,一旦出现应立即处理。

内中断与外中断的区别
  • 软件中断

软件中断其实并不是真正的中断,它们只是可被调用执行的一般程序。例如:ROM BIOS中的各种外部设备管理中断服务程序(键盘管理中断、显示器管理中断、打印机管理 中断等,)以及DOS的系统功能调用(INT 21H)等都是软件中断。

系统调用

系统调用是指用户程序在申请系统服务时,使用的特殊公共接口。系统调用按照功能大致可分为以下几个方面:

  • 设备管理
    完成设备的请求或释放,以及设备启动等功能
  • 文件管理
    完成文件的读、写、创建、删除等功能
  • 进程控制
    完成进程的创建、撤销、阻塞及唤醒等功能
  • 进程通信
    完后进程之间消息的传递或信息传递功能
  • 内存管理
    完成内存的分配、回收、以及获取作业占用内存区大小以及始址等功能。

系统调用运行在系统的核心态。通过系统调用的方式来实现操作系统功能,可以保证系统的稳定性和安全性,防止用户随意更改或访问系统的数据或命令。下面列举一些由用户态转向核心态的例子:

  • 用户程序要求操作系统的服务,即系统调用。
  • 发生一次中断。
  • 用户程序中产生了一个错误状态。
  • 用户程序中企图执行一条特权指令。
  • 从核心态转向用户态由一条指令实现,这条指令也是特权命令。一般是中断返回指令。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 195,980评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,422评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,130评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,553评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,408评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,326评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,720评论 3 386
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,373评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,678评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,722评论 2 312
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,486评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,335评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,738评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,009评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,283评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,692评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,893评论 2 335

推荐阅读更多精彩内容

  • 1. 操作系统的资源管理技术 资源管理解决物理资源数量不足和合理分配资源这两个问题。 操作系统虚拟机为用户提供了一...
    joyeyoung阅读 10,736评论 1 5
  • 操作系统基本概念 计算机系统分为硬件,操作系统,应用程序,用户。操作系统管理各种计算机硬件,为应用程序提供基础,充...
    KevinCool阅读 812评论 0 1
  • 解决官方RatingBar无法自由调整宽高的问题可选则适应宽度或者高度 红色背景为自适应后的宽高 在values下...
    水的101度阅读 1,496评论 0 1
  • 闵晓钰 我外婆家在景德镇浮梁县,这里不仅陶瓷世界闻名,而且茶叶也小有名气。白居易在《琵琶行》中就提到“商人重...
    悦读生活阅读 561评论 0 0
  • cloneable接口是没有方法的,它就像是一种许可,一个类要想实现克隆,就必须要有这种许可,必须要实现clone...
    DevilIncs阅读 225评论 0 0