操作系统设计思想--主奴思想

掌握 Cinder 的设计思想 - 每天5分钟玩转 OpenStack(46) 上一节介绍了 Cinder 的架构,这节讨论 Cinder 个组件如何协同工作及其设计思想。 阅读详情

操作系统设计思想–主奴思想

对于操作系统而言,如何稳定可靠运行无疑是最重要的。目前的方案均为将用户进程和其他用户进程、将用户进程和操作系统进行分离。实现操作系统可以管理用户进程,但用户进程不能侵入内核,同时用户进程之间也不能互相干预。那么,在同一个cpu同一个指令集以及内存条等的情况下,如何实现该机制?

这就是操作系统设计的一个思想,主奴思想,即特权思想。

我们希望能够实现,操作系统可以访问以及管理应用程序,但应用程序之间不能够互相干预,同时应用程序的权限是有限的,即不可以干扰操作系统。

因此,操作系统需要管理应用程序,令其可访问的内存空间是有界的,同时操作系统负责管理用户进程的CPU访问时间,并且全权管理硬件,应用程序需要使用外设等必须向操作系统请示。

主奴机制的三方面体现
  • 进程调度方面。由操作系统全权管理CPU的调度,Linux操作系统每次分配给进程的运行时间由若干时间片组成,分配多少直接由操作系统决定,同时时间片一旦用完将强制交还给内核。因此,操作系统完全支配CPU调度,这保证了应用程序占用CPU资源的情况最多也只影响分配给该程序的时间片范围,避免了如果由进程自己管理则会出现恶意进程占据CPU不归还的现象,将导致系统崩溃。

  • 内存管理方面。操作系统将管理内存分配,在进程的task_struct结构中明确定义了进程的边界,未经允许的跨界行为将被制止。因此清晰的边界保证了进程不能直接越界访问操作系统内核,也不能随意直接访问其他进程的空间。

    在Linux设计中,将空间氛围了内核专用区和进程分页区,内核可以访问两个区域,但进程不可以访问内核专用区。同时,通过段页机制,用户进程只能访问虚拟地址而不能直接使用物理地址。因为一旦内核地址泄露便很可能会被利用而攻击,一旦恶意程序获得了内核的管理权则直接完全控制了整个机器。

  • 文件系统方面。操作系统管理着磁盘调度,用户需要读写文件都需要向操作系统申请,同时该过程受操作系统调度。

实
【Boost】Asio 基本使用与核心设计思想 Asio 基本使用与核心设计思想 阅读详情

相关推荐

Centos7.9上安装glibc2.28遇到/usr/bin/ld: cannot find -lnss_test2问题

Centos7.9安装glic2.28遇到-lnss_test2问题及解决方案。

freflying1119的博客 2898

Unity详细介绍说明限制Unity帧率的方式

在Unity开发中,帧率(FPS,Frames per Second)是一个非常重要的表现标准,它直接影响了游戏运行的流畅度。在某些应用场景里,我们可能需要手动限制帧率。限制帧率可以减少电脑的CPU和GPU负载,使运行更加稳定,同时对于移动设备来说还能有效降低电量消耗。下面就详细介绍几种限制Unity中帧率的方式。

zjw1349547081的专栏 5437

【R语言实例】物种分布模型介绍

SDM介绍

wong2016的博客 1万+

工业级Modbus ASCII实时监控系统(WinForms完整实现)

本文介绍了一个基于WinForms的工业级Modbus ASCII实时监控系统实现方案。该系统采用经典工控界面布局,包含串口配置、数据采集控制和实时数据显示三大区域。核心功能包括:串口通信参数设置、Modbus从站地址配置、寄存器数据采集、实时数据表格展示和趋势图绘制。系统通过ModbusAsciiClient类实现通信核心,采用定时器轮询机制采集数据,支持最多100个数据点的历史趋势显示。界面设计注重用户体验,配置区位于左侧,主显示区在右侧,底部为状态和日志区,符合工业控制系统的操作习惯。代码示例展示了窗

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 278

13、基因相似性度量的相关性及特征选择研究

本文研究了基因相似性度量和特征选择在生物学中的应用,详细介绍了GO术语相似性度量的多种方法,包括语义度量和路径长度度量,并分析了不同方法在酵母和人类数据集上的表现。研究发现,Avg-sum方法和基于路径长度的度量在多数情况下效果较好。此外,通过晚期辐射毒性预测的案例研究,探讨了特征选择的重要性及可能面临的过拟合和噪声干扰问题,并提出了相应的解决策略。

js777的博客 127

基于Java的OPC UA Server开发指南:从零开始构建高效服务器

本文介绍了如何使用开源项目org.eclipse.milo创建Java OPC UA Server。通过创建Spring Boot项目,添加Milo SDK依赖,定义Namespace类,服务器启动类以及监听器,详细阐述了建立OPC UA Server服务的步骤。启动后,服务器默认监听地址为opc.tcp://localhost:12685,可使用Softing OPC Client进行连接。

洛阳泰山的博客 3023

诊断测试工具CANoe.DiVa从入门到精通系列——开门见山

### 工具主要用于测试ECU的诊断功能。关于自动化诊断测试可以分为如下内容: ### -> 1、根据诊断需求规范进行cdd文件的编辑(现阶段主要是诊断问卷调查表); ### -> 2、新建Diva工程,导入对应的诊断数据库文件生成测试用例; ### -> 3、新建CANoe工程,导入CANoe.DiVa生成的Diva工程; ### -> 4、根据测试报告进行错误处理。

Soly_kun的博客 3555

05 SAP CPI 访问第一个CPI接口

其中的clientid的值可作为Basic验证的用户名,clientsecret的值可作为Basic验证的密码。点击SEND按钮,可看见返回状态为200 OK。在04中,我们得到TOKEN令牌。POSTMAN向下滚动。点击按钮获取token。

SAP CPI 663

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

上一篇: Linux内核学习--内存寻址
下一篇: Linux进程间通信机制详谈
coding丁
博客等级 码龄9年 383粉丝 147原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值