当前位置: 首页 > news >正文

操作系统-01.操作系统的运行机制和体系结构

操作系统的运行机制和体系结构

1. 运行机制
运行机制
两种指令
两种处理器状态
两种程序
特权指令
非特权指令
核心态-目态
用户态-管态
内核程序
应用程序

运行机制的理解
1.特权指令如何判断执行?
答:CPU根据指令来源于用户态还是核心态,来决定是否执行特权指令。
2.如何区别CPU处于的状态?
答: 而这两种状态是用程序状态字寄存器(PSW)中的某标志位来标识当前处理器处于什么状态,如 0:用户态、1:核心态
3.内核程序与应用程序区别?
答:内核程序:操作系统的内核程序是系统的管理者既可以执行特权指令,也可以执行非特权指令,运行在核心态。应用程序:为了保证系统能安全运行,普通应利程序只能执行非特权指令,运行在用户态。
4.操作系统中的哪些功能应该由内核程序实现呢?
答: 见 下一章 操作系统内核

2. 操作系统内核
操作系统内核
时钟管理
中断处理
原语
对系统资源进行管理的功能
进程管理
存储器管理
设备管理

操作系统内核的理解
1.原语:特殊的程序,是最接近硬件的部分,这种程序的运行具有原子性。运行时间短、调用频繁。(设备驱动、CPU切换等),原子性(要么不执行,要么一直运行到结束,中间不可中断)
2.时钟管理:实现计时功能
3.中断处理:负责实现中断机制
4.与硬件精密包含的部分(原语、时钟管理、中断管理)
5.内核是计算机上最底层的软件,是操作系统最基本、最核心的部分。
6.不同操作系统对内核功能划分不同。

3. 操作系统的体系结构
操作系统的体系结构
大内核
微内核

操作系统的体系结构理解
大内核:操作系统包含:微内核部分+进程管理、存储器管理、设备管理等功能。
微内核: 操作系统只包含:时钟管理、中断管理、原语

  1. 大内核与微内核优缺点?
    答: 大内核:将操作系统的主要功能模块都作为系统内核,运行在核心态。 优点:高性能缺点:内核代码庞大,结构混乱,难以维护。微内核:只把最基本的功能保留在内核,优点:内核功能少,结构清晰,方便维护,缺点:需要频繁地在核心态和用户态之间切换,性能低。
    来自王道操作系统PPT

相关文章:

  • 剑指offer(c++)-03.替换空格
  • 剑指offer(c++)-04.从尾到头打印链表
  • 操作系统-02.中断与异常及系统调用
  • 操作系统-03.进程的定义、组成、组织方式、特征
  • 操作系统-04.进程的状态与切换
  • 操作系统-05.进程控制
  • 操作系统-06.进程通信
  • 操作系统-06.线程概念、多线程模型
  • 操作系统-07.处理机调度概念、层次
  • 设计模式-01.面向对象七大设计原则
  • C++面向对象高级开发-01.C++ 类相关解析
  • C++面向对象高级开发-02.堆、栈与内存管理
  • C++面向对象高级开发-03.指针与引用
  • JAVA-IDEA-Tomcat 完美解决乱码
  • Servlet-jsp 依赖库pox.xml配置
  • 「前端早读君006」移动开发必备:那些玩转H5的小技巧
  • angular学习第一篇-----环境搭建
  • Computed property XXX was assigned to but it has no setter
  • JavaScript-Array类型
  • MySQL的数据类型
  • nodejs:开发并发布一个nodejs包
  • puppeteer stop redirect 的正确姿势及 net::ERR_FAILED 的解决
  • React-flux杂记
  • REST架构的思考
  • 构建工具 - 收藏集 - 掘金
  • 聚类分析——Kmeans
  • 区块链分支循环
  • 实战|智能家居行业移动应用性能分析
  • 世界上最简单的无等待算法(getAndIncrement)
  • 移动互联网+智能运营体系搭建=你家有金矿啊!
  • 转载:[译] 内容加速黑科技趣谈
  • linux 淘宝开源监控工具tsar
  • 阿里云IoT边缘计算助力企业零改造实现远程运维 ...
  • (zz)子曾经曰过:先有司,赦小过,举贤才
  • (超详细)2-YOLOV5改进-添加SimAM注意力机制
  • (附源码)基于SSM多源异构数据关联技术构建智能校园-计算机毕设 64366
  • (黑客游戏)HackTheGame1.21 过关攻略
  • (十)【Jmeter】线程(Threads(Users))之jp@gc - Stepping Thread Group (deprecated)
  • (十八)SpringBoot之发送QQ邮件
  • (学习日记)2024.04.04:UCOSIII第三十二节:计数信号量实验
  • (转)利用ant在Mac 下自动化打包签名Android程序
  • *上位机的定义
  • .Net 4.0并行库实用性演练
  • .NET DataGridView数据绑定说明
  • .NET 发展历程
  • .net 验证控件和javaScript的冲突问题
  • @31省区市高考时间表来了,祝考试成功
  • @GetMapping和@RequestMapping的区别
  • [4.9福建四校联考]
  • [BZOJ]4817: [Sdoi2017]树点涂色
  • [BZOJ2281][SDOI2011]黑白棋(K-Nim博弈)
  • [C#]winform制作仪表盘好用的表盘控件和使用方法
  • [codevs1288] 埃及分数
  • [ERROR ImagePull]: failed to pull image k8s.gcr.io/kube-controller-manager失败
  • [I2C]I2C通信协议详解(二) --- I2C时序及规格指引