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

操作系统引论(一)

操作系统的地位和目标

计算机系统的组成

在这里插入图片描述
系统软件是和硬件相关的,这是它本质的特征。

操作系统在计算机系统中的地位

在这里插入图片描述

操作系统的设计目标

在这里插入图片描述
可扩充性是面向未来的。

操作系统的作用

1)用户与计算机硬件系统之间的接口

在这里插入图片描述

2)计算机系统资源的管理者

在这里插入图片描述

3)用作扩充机器(或虚拟机)

在这里插入图片描述
裸机是由硬件和固件构成的,并不是纯粹的裸机。

操作系统的组成及层次模型

在这里插入图片描述
处理机抽象成进程的方式管理。
上述是从理解的角度,实际的操作系统更复杂,更交叉。
在这里插入图片描述

操作系统的定义及实例

在这里插入图片描述
管理和控制:管控
有效管理:操作系统的设计目标之有效性
在这里插入图片描述
VxWorks:实时系统,航天领域
AIX:大型机上
Novell Netware: 网络

计算机系统组成及体系结构

在这里插入图片描述
这些硬件通过总线连接在一起,各个设备的控制器连接到总线上。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
a) 中央处理器直接参与内存与设备间的交互。
b) 后期引入中断机制,每传输一个机器字,中央处理器干预一次
c) 直接内存访问DMA硬件设备,每传输一个数据块,让处理器干预一次
d) 传送好多数据块,通过通道,输入输出处理器

在这里插入图片描述
内存外设都是通过接口和总线连接。
执行部件:CPU,通过指令集:(7)用户指令集 (8)系统指令集(只能为OS内核所使用),
(3)系统调用
(2)库函数
外围接口的控制机,也就是端口,我们关注对端口的访问指令。
OS对外围设备的管控,主要是通过端口,对内存通过地址,对处理器通过指令集。

用户指令集体系结构

在这里插入图片描述
0x0800,一半给内核,一半给用户空间

注:0xFFFF FFFF,即232=4GB
在这里插入图片描述
在这里插入图片描述
8086是16位外部数据总线,2^16=64K,为什么可以寻址1M呢?
因为启用了20位的地址线,8086将段寄存器中的地址左移4位,2^4=16。
8086和8088提供了4个段寄存器,它可以直接进行访问4*2^16=256K。
在这里插入图片描述
线性空间等分,就是分页的处理,好多计算机系统支持分页,未必支持分段。

系统指令集体系结构及陷入机制

在这里插入图片描述
操作系统的内核运行在系统模式下,普通用户程序运行在用户模式下。
系统模式也称之为系统态,管态。
用户模式称为用户态,目态。
访管指令就是访问系统态下的某些东西。
在这里插入图片描述
输入输出指令,对端口的访问,对硬件控制是通过端口操作指令来完成的。
在这里插入图片描述
陷入是软中断,由用户态转入系统态
由硬设备引发的中断,和当前指令的执行无关
两种中断的流程类似,上面的黑体是硬件的处理流程。
用户态切入到系统态,要经过一个陷入机制。

操作系统硬件基础举例说明

在这里插入图片描述
在这里插入图片描述

操作系统用户接口

在这里插入图片描述

操作系统联机命令接口

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

操作系统图形化用户接口

在这里插入图片描述
弹出式菜单:比如鼠标右击显示的菜单
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

系统调用概念及实现机理

在这里插入图片描述
系统调用本质上是过程调用,是操作系统提供的系统服务。
系统调用是系统内核的一个系统过程。操作系统提供的服务于应用程序的系统调用命令。
系统调用的前后会运行在不同的系统状态前,调用前在用户态,调用后陷入到系统态。
在这里插入图片描述
在这里插入图片描述
5类系统调用
编写程序并没有直接见过系统调用,而是通过函数库,间接的使用系统调用。
在这里插入图片描述
0666,八进制6是110可读可写
在这里插入图片描述
在这里插入图片描述
syscall可以实现系统调用的直接调用。
在这里插入图片描述
最终映射到系统调用号。
3 4 5 6 8 是32位的Inter体系架构的系统调用整数值,注释里的是64位的Inter体系架构的系统调用整数值。
在这里插入图片描述
在这里插入图片描述
系统调用号:__NR_打头,在AX寄存器中,最后通过0x80,即128号中断触发了系统调用。
在这里插入图片描述
在这里插入图片描述
系统调用本质上就是一种过程调用,但它又是一种特殊的过程调用,因为它涉及到了从用户态到系统态的切换。
关键是把用户传入的系统调用号转换成内核相对应的系统调用处理函数,涉及到软中端陷入机制,涉及到中断向量表,系统调用表。

操作系统引导过程及引导程序

在这里插入图片描述
19号中断。
在这里插入图片描述
512B,一个扇区的大小
在这里插入图片描述
hang:jmp hang 自己跳转自己,times重复执行510字节。

操作系统二次加载引导过程设计举例说明

BIOS加载引导程序,引导程序再来加载操作系统内核代码。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
10号中断用于显示。

http://www.lryc.cn/news/221282.html

相关文章:

  • 2023-11-7 OpenAI 45 分钟发布会:整理发布了哪些内容更新
  • 索引和事务
  • 全场景数实融合聚焦北京——2023(第六届)行业信息技术应用创新大会隆重召开
  • 深入理解强化学习——多臂赌博机:乐观初始值
  • [黑马程序员Pandas教程]——DataFrame数据的增删改操作
  • 【服务器】Java连接redis及使用Java操作redis、使用场景
  • Spark 基础知识点
  • 动作捕捉系统通过SDK与LabVIEW通信
  • 【PTE-day02 sqlmap操作】
  • 2021年03月 Python(四级)真题解析#中国电子学会#全国青少年软件编程等级考试
  • 2023.10.18 信息学日志
  • Modbus封装库(Com,tcp,udp一应俱全)
  • 专访HuggingFace CTO:开源崛起、创业故事和AI民主化丨智源独家
  • C++常用格式化输出转换
  • 如何使用 Loadgen 来简化 HTTP API 请求的集成测试
  • 软件测试面试大家是不是一问到项目就不会了?
  • 伐木猪小游戏
  • 0007Java安卓程序设计-ssm基于Android的校园新闻管理系统
  • git增加右键菜单
  • openGauss学习笔记-117 openGauss 数据库管理-设置数据库审计-查看审计结果
  • 学习代码20231106
  • turtle绘制分形树-第10届蓝桥杯省赛Python真题精选
  • 【大厂招聘试题】__硬件工程师_2021年“美团”校招
  • 算法通关村第七关|黄金挑战|迭代实现二叉树的前、中、后序遍历
  • 了解高防服务器的工作原理
  • AVL树性质和实现
  • 出口贸易媒体发稿推广6个技巧提升品牌知名度-华媒舍
  • 学习笔记:CANOE模拟LIN主节点和实际从节点进行通信测试
  • 模型可解释性
  • Django初窥门径-自定义用户模型