操作系统引论(一)

news2024/10/7 2:26:35

操作系统的地位和目标

计算机系统的组成

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

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

在这里插入图片描述

操作系统的设计目标

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

操作系统的作用

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.coloradmin.cn/o/1182600.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

阿里终面:10亿数据如何快速插入MySQL?

最快的速度把10亿条数据导入到数据库,首先需要和面试官明确一下,10亿条数据什么形式存在哪里,每条数据多大,是否有序导入,是否不能重复,数据库是否是MySQL? 假设和面试官明确后,有如…

第十五届蓝桥杯模拟赛(第一期)

大家好,我是晴天学长,本次分享,制作不易,需要的小伙伴可以点赞关注评论一波哦!后续会继续更新的。💪💪💪 还在持续更新中,目前只更新了部分内容。 一 .找数位 问题描述 …

Educational Codeforces Round 12 C 字符串和dp

Educational Codeforces Round 12 C zscoder喜欢简单字符串!如果每一对相邻字符都是不同的,则称为简单字符串 t 。例如,ab, aba, zscoder 是简单字符串,而 aa, add 则不简单。 zscoder 给出了一个字符串 s 。他想更改最少的字符…

shell脚本的awk续篇(粗糙版)

sleep 30 #这是睡眠时间 awk的精确筛选&#xff1a; $n{><}:对比数值 $n-"字符串"代表第n个字段包含某个字符串 $n!-"字符串"代表第n个字段不包含某个字符串 $n"字符串" 代表第n个字段为某个字符串 $n!"字符串"代表第n个字…

【教3妹学编程-算法题】2924. 找到冠军 II

3妹&#xff1a;2哥快看&#xff0c;我黑龙江的闺蜜给我发了一个她在打雪仗的视频&#xff0c;好大的雪啊&#xff0c;好欢乐。 2哥&#xff1a;什么&#xff0c;东北不是暴雪吗&#xff0c; 还可以打雪仗。 3妹 :是啊&#xff0c;可是雪停了就可以打雪仗了啊。 2哥&#xff1a…

Netty入门指南之NIO Channel详解

作者简介&#xff1a;☕️大家好&#xff0c;我是Aomsir&#xff0c;一个爱折腾的开发者&#xff01; 个人主页&#xff1a;Aomsir_Spring5应用专栏,Netty应用专栏,RPC应用专栏-CSDN博客 当前专栏&#xff1a;Netty应用专栏_Aomsir的博客-CSDN博客 文章目录 参考文献前言Channe…

【1107】

interface是面向对象编程语言中接口操作的关键字&#xff0c;功能是把所需成员组合起来&#xff0c;用来封装一定功能的集合。 它好比一个模板&#xff0c;在其中定义了对象必须实现的成员&#xff0c;通过类或结构来实现它。 接口不能直接实例化&#xff0c;即ICount icnew iC…

回归模型原理总结及代码实现

前言 本文将介绍回归模型算法&#xff0c;并总结了一些常用的除线性回归模型之外的模型&#xff0c;其中包括一些单模型及集成学习器。 保序回归、多项式回归、多输出回归、多输出K近邻回归、决策树回归、多输出决策树回归、AdaBoost回归、梯度提升决策树回归、人工神经网络、…

openGauss Meetup(合肥站)精彩回顾 | openGauss合肥用户组正式成立

由openGauss社区、天津南大通用数据技术股份有限公司联合主办的“openGauss Meetup • 合肥站”已于11月4日落下帷幕&#xff0c;此次活动邀请到数据库行业专家与行业同仁共同探讨数据库技术发展创新、数据库产业发展与落地、数据库周边工具构建、生态共建等内容&#xff0c;推…

IDEA项目下不显示target目录或者target目录不完整没有新添加的资源,idea隐藏target目录

文章目录 一、前言二、idea隐藏target目录2.1、idea隐藏target目录2.2、git提交时隐藏target目录 三、idea下显示target目录3.1、解决idea下不显示target目录问题3.2、target显示目录不完整 一、前言 在idea-2020.1.4版本下讲解idea怎么显示或隐藏target目录。 需要知道:如果…

执行mysql-community-libs-8.1.0-1.el8.x86_64.rpm报错依赖检测失败

目录 1.错误信息 2.解决方法 1.错误信息 我是在VMware虚拟机18上的Centos8上的&#xff0c;安装MySQL8.1.0&#xff0c;执行mysql-community-libs-8.1.0-1.el8.x86_64.rpm报错 [rootlocalhost mysql8.1.0]# rpm -ivh mysql-community-libs-8.1.0-1.el8.x86_64.rpm 警告&…

rvt文件发三维服务

一、所需工具 SuperMap iDesktop、Revit、SuperMap-Revit插件、SuperMap iServer。 二、操作流程 BIM数据发三维服务&#xff1a; 1、Revit中打开BIM数据&#xff0c;附加模块—UDB SuperMap Export。 2、打开SuperMap IDesktop&#xff0c;数据源—打开文件型数据源&…

Java入门篇 之 类与对象

本篇碎碎念&#xff1a;博主作为一个三本学生&#xff0c;庆幸自己上了个本科&#xff0c;但是在支付高昂学费的时候认识到&#xff0c;自己要好好学习&#xff0c;不好好学习&#xff0c;难道以后给人端盘子咩&#xff1b;无论是专科还是本科&#xff0c;都不可以自暴自弃&…

洛谷P2196 [NOIP1996 提高组] 挖地雷【动态规划思路分析】看完直接举一反三!

P2196 [NOIP1996 提高组] 挖地雷 前言题目题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 题目分析注意事项 代码后话额外测试用例样例输入 #2样例输出 #2 王婆卖瓜 题目来源 前言 我发现我是天才&#xff0c;只做了三道动态规划的类型题就感觉我已经炉火纯青了。大…

如何实现生产质量精细化管理?

导 读 ( 文/ 1528 ) 在现代制造业中&#xff0c;实现生产质量的精细化管理对企业的竞争力至关重要。本文将介绍三个关键步骤&#xff0c;包括建立全面质量管理体系、采用数据驱动的质量监控和实时反馈机制&#xff0c;以及持续改进和员工培训&#xff0c;帮助企业实现生产质量的…

[答疑]大老二和德州扑克-属性值没变,状态怎么变了

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 邬俊杰 2023-10-31 21:20 课上说状态是由属性值决定的&#xff0c;比如身高>170算高&#xff0c;某人身高175&#xff0c;算高。如果规则改了&#xff0c;身高>180算高&#xf…

即插即用篇 | YOLOv8 引入Super Token Sampling ViT | 《CVPR 2023 最新论文》

论文地址:https://arxiv.org/abs/2211.11167 代码地址:https://github.com/hhb072/STViT 视觉变换器已经在许多视觉任务中取得了令人印象深刻的性能。然而,它在捕捉浅层的局部特征时可能会受到高度冗余的影响。因此,引入了局部自注意力或早期卷积,这些方法牺牲了捕捉长距…

生产问题分析:批量执行慢,根据日志进行分析。

1.首先拿到日志&#xff0c;查看批量执行的时间段为36:58-42:24 2.截取时间段为36:58-42:24的日志内容。 3.从该批量的第一个代码看起&#xff0c;sql会打印在日志里&#xff0c;查找第一个sql&#xff0c;对照代码一个个看下去。 4.发现两个sql执行的时间间隔特别长&#xff1…

云尘 命令执行系列

第一题 system <?php include "flag.php";if (isset($_POST[cmd])) {system($_POST[cmd]); }show_source(__FILE__);代码如上 system($_POST[cmd]); POST请求发送一个名为 cmd 的参数&#xff0c;然后将该参数的值传递给系统命令执行函数 system()&#xff0c…

高并发下Redis缓存与数据库双写一致性问题原理分析和解决方案

目录 一、什么是缓存与数据库双写不一致性二、常见保证高并发下双写一致性方案2.1、延迟双删&#xff08;不可靠&#xff09;2.2、分布式读写锁&#xff08;可靠&#xff09;2.3、MQ异步消费&#xff08;不可靠&#xff09;2.4、订阅数据库变更日志&#xff08;不可靠&#xff…