操作系统设计思想--主奴思想
操作系统设计思想–主奴思想
对于操作系统而言,如何稳定可靠运行无疑是最重要的。目前的方案均为将用户进程和其他用户进程、将用户进程和操作系统进行分离。实现操作系统可以管理用户进程,但用户进程不能侵入内核,同时用户进程之间也不能互相干预。那么,在同一个cpu同一个指令集以及内存条等的情况下,如何实现该机制?
这就是操作系统设计的一个思想,主奴思想,即特权思想。
我们希望能够实现,操作系统可以访问以及管理应用程序,但应用程序之间不能够互相干预,同时应用程序的权限是有限的,即不可以干扰操作系统。
因此,操作系统需要管理应用程序,令其可访问的内存空间是有界的,同时操作系统负责管理用户进程的CPU访问时间,并且全权管理硬件,应用程序需要使用外设等必须向操作系统请示。
主奴机制的三方面体现
进程调度方面。由操作系统全权管理CPU的调度,Linux操作系统每次分配给进程的运行时间由若干时间片组成,分配多少直接由操作系统决定,同时时间片一旦用完将强制交还给内核。因此,操作系统完全支配CPU调度,这保证了应用程序占用CPU资源的情况最多也只影响分配给该程序的时间片范围,避免了如果由进程自己管理则会出现恶意进程占据CPU不归还的现象,将导致系统崩溃。
内存管理方面。操作系统将管理内存分配,在进程的task_struct结构中明确定义了进程的边界,未经允许的跨界行为将被制止。因此清晰的边界保证了进程不能直接越界访问操作系统内核,也不能随意直接访问其他进程的空间。
在Linux设计中,将空间氛围了内核专用区和进程分页区,内核可以访问两个区域,但进程不可以访问内核专用区。同时,通过段页机制,用户进程只能访问虚拟地址而不能直接使用物理地址。因为一旦内核地址泄露便很可能会被利用而攻击,一旦恶意程序获得了内核的管理权则直接完全控制了整个机器。
文件系统方面。操作系统管理着磁盘调度,用户需要读写文件都需要向操作系统申请,同时该过程受操作系统调度。
实现主奴机制的关键技术
- 保护和分页
- 依托CPU硬件提供的特权级
- 中断:实现特权级切换
建立主奴机制的决定性因素–先机
理论上,上述的一切前提,都是操作系统能够直接获得最高的优先级。计算机开机时是实模式,没有特权的区分,此时,开始加载BIOS、内核等,因此,操作系统是最早执行的程序,其他进程都是它直接或间接创建的,那其他进程便都是受其管理的。因此,如果一个病毒能够先于操作系统启动,则它将获得最高的特权级,也就将完全控制这个机器。
操作系统设计思想--主奴思想相关推荐
- 操作系统的设计指导思想——主奴机制
在学习操作系统的过程中我们会发现一个问题:应用程序是应用程序,操作系统也是程序,操作系统程序凭什么能对应用程序进行组织.管理和协调而不受应用程序损害呢?我们认为凭的是特权机制.要想让操作系统做到能够对 ...
- 荐书|程序员必读经典《UNIX操作系统设计》
当前,介绍UNIX系统的书籍很多,然而论述UNIX系统内部结构的专著却屈指可数.<UNIX操作系统设计>是其中非常引人注目的一本.本书作者Maurice J.Bach多年来在AT& ...
- 操作系统哲学原理(22)操作系统设计原理-操作系统设计之哲学原理
说明:该系类文章更多的是从从哲学视角看 操作系统 这门学科.同时也是 操作系统的学习笔记总结.因为博主 这些年主要是以研究安卓系统和 嵌入式Linux为主,因此这个系类文章也是这两个领域不可或缺的基石 ...
- 是不是正是因为linux主奴机制,所以Linux不需要杀毒软件?
是不是正是因为linux主奴机制,所以Linux不需要杀毒软件? 几乎什么操作都要先经过内核的系统调用 https://zhuanlan.zhihu.com/p/36725483 https://ba ...
- linux 0.01内核分析与操作系统设计 pdf,《Linux 0.01内核分析与操作系统设计——创造你自己的操作系统》...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 readme 本光盘为<Linux 0.0.1内核分析与操作系统设计--创造你自己的操作系统>一书的配套光盘,读者可自由取其源文件做学习,研究 ...
- linux1.0内核下载,《Linux 0.01 内核分析与操作系统设计》(Linxu 0.01Source)
中文名: Linux_0_01_内核分析与操作系统设计 英文名: Linxu 0.01Source 发行时间: 2003年 地区: 大陆 对白语言: 普通话 简介: 清华 卢军<Linux0.0 ...
- Linux0.1源码分析,《Linux 0.01内核分析与操作系统设计——创造你自己的操作系统》...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 readme 本光盘为<Linux 0.0.1内核分析与操作系统设计--创造你自己的操作系统>一书的配套光盘,读者可自由取其源文件做学习,研究 ...
- 转:Bit-Map思想与2-BitMap思想
转:Bit-Map思想与2-BitMap思想 1. Bit-map思想 给你一堆西安市的电话号码列表,数量大概在千万级,要求从中找出所有重复的电话号码,需要时间复杂度尽可能小. 目前西安市的电话号码大 ...
- 技术新星决战巅峰,全国大学生操作系统设计赛圆满结束!
在新兴技术百花齐放的今天,我国对自主知识产权的发展愈发重视.除了大量研发资金投入国产芯片.软件及5G等技术领域,基础软件的自主可控也成为必然趋势,其中国产操作系统的开发被定义成了一场收复失地的战争.要 ...
最新文章
- 如何将CSDN文档转换成IPYNB格式的文档?
- BZOJ.2707.[SDOI2012]走迷宫(期望 Tarjan 高斯消元)
- Smarty2至Smarty3升级指南
- python示例_Python中的缩进示例
- hive中的日期转换函数
- Nlpir Parser智能语义平台全文搜索
- python format 时间格式
- mysql集群负载均衡,这些知识你必须拿下
- 服务器没有进行新建或修改数据的操作,14-认识DjangoRESTframework
- apache2 安装时报错 ServerRoot must be a valid directory
- Shapley Explanation Networks
- CondaValueError : prefix already exists: /**/anaconda3
- 【Linux系列文章】网络配置
- MacBook上有哪些值得下载的软件?
- 网络编程——(1)网络编程入门
- NVDIMM的应用场景
- CAD .NET 14.1.X DWG/ DXF, PLT 自由转换- CNC
- SQL Server 配置管理器
- 微信识别图片文字直接导出Word方法
- 学习笔记(5):第01章-互联网的概述(历史发展+技术发展+常见应用)-互联网的接入(手把手教你调试ADSL宽带技术)