理解操作系统(一)冯诺依曼结构和什么是操作系统

  1. 认识冯诺依曼系统
  2. 操作系统概念与定位
  3. 深⼊理解进程概念,了解PCB
  4. 学习进程状态,学会创建进程,掌握僵⼫进程和孤⼉进程,及其形成原因和危害

1. 冯诺依曼体系结构

我们常⻅的计算机,如笔记本。我们不常⻅的计算机,如服务器,⼤部分都遵守冯诺依曼体系。

截⾄⽬前,我们所认识的计算机,都是由⼀个个的硬件组件组成

  • 输⼊单元:包括键盘, ⿏标,扫描仪, 写板等
  • 中央处理器(CPU):含有运算器和控制器等
  • 输出单元:显⽰器,打印机等

关于冯诺依曼,必须强调⼏点:

  • 这⾥的存储器指的是内存
  • 不考虑缓存情况,这⾥的CPU能且只能对内存进⾏读写,不能访问外设(输⼊或输出设备)
  • 外设(输⼊或输出设备)要输⼊或者输出数据,也只能写⼊内存或者从内存中读取。
  • ⼀句话,所有设备都只能直接和内存打交道。

对冯诺依曼的理解,不能停留在概念上,要深⼊到对软件数据流理解上,请解释,从你登录
上qq开始和某位朋友聊天开始,数据的流动过程。

 2. 操作系统(Operator System)

以是什么,为什么,怎么办,三个方面讲解

2-1 什么是操作系统


书上:任何计算机系统都包含⼀个基本的程序集合,称为操作系统(OS)。

笼统的理解,操作系统包括:

  • 内核(进程管理,内存管理,⽂件管理,驱动管理)
  • 其他程序(例如函数库,shell程序等等)

操作系统就是:一个基本的程序集合,是进行软硬件管理的软件。

大家都知道,安卓手机就是由Linux写的,那他的系统是怎么来的,和电脑的全都不一样吗,

并不是,手机他只改变了外壳,内核还是那些。


2-2 设计OS为了什么

  •  对下,与硬件交互,管理所有的软硬件资源

  • 对上,为⽤⼾程序(应⽤程序)提供⼀个良好的执⾏环境


图片解释

1.软硬件体系结构层状结构

证明操作系统是高内聚低耦合,例如,台式电脑,有这不同厂商的东西共同组织成,不会因为不是一家产的而停止工作
2.访问操作系统,必须使用系统调用--其实就是函数,只不过是系统提供的

不能越级访问

3.我们的程序,只要你判断出它访问了硬件,那么它必须贯穿整个软硬件体系结构!

例如,写printf,是指令吧,到最后显示在显示屏上。
4.库可能在底层封装了系统调用

2-3 理解操作系统

在整个计算机软硬件架构中,操作系统的定位是:⼀款纯正的“搞管理”的软件
首先就要知道操作系统是如何在硬件和用户之间游刃有余的,

操作系统在硬件和用户之间的关系:学生、辅导员、校长
比喻背景

将计算机系统类比为一所学校,硬件是学校的物理设施(如教室、图书馆、实验室),用户是学校外的社会需求方(如家长、企业),而操作系统则是学校内部的管理体系。

  • 学生:代表用户程序或应用程序(如浏览器、游戏、办公软件)。
  • 辅导员:代表操作系统内核(负责直接管理资源和调度)。

1. 学生(用户程序)

  • 职责:完成具体任务(如学习、实验、活动)。
  • 需求:需要资源(CPU时间、内存、磁盘空间、网络带宽)。
  • 限制:不能直接操作硬件,必须通过辅导员(内核)申请资源。

例子:

  • 学生A(浏览器程序)需要进入实验室(CPU)做实验(渲染网页),必须向辅导员申请实验室的使用权。
  • 学生B(游戏程序)需要图书馆(内存)借书(加载游戏数据),需遵守辅导员制定的借阅规则。

2. 辅导员(操作系统内核)
职责:

  • 资源分配:管理CPU、内存、外设等资源,按规则分配给不同学生(进程)。
  • 调度协调:决定哪个学生先使用实验室(CPU时间片轮转)。
  • 冲突解决:处理多个学生争夺同一资源的情况(如死锁避免)。
  • 安全管理:防止学生越权操作(如非法访问其他学生的作业目录)。

    未命名文档 4.pdf

    30.05MB


例子:

  • 进程调度:辅导员(内核)使用时间片轮转算法,让学生A(浏览器)和学生B(游戏)轮流使用实验室(CPU)。
  • 内存管理:辅导员记录每个学生借了多少本书(内存分配),超量时拒绝新请求(内存不足错误)。
  • 权限控制:学生C(恶意程序)试图闯入校长办公室(系统文件),辅导员拦截并终止其权限。

3. 校长(系统策略)
职责:

  • 制定规则:定义资源分配策略(如优先级、公平性)。
  • 全局管理:规划学校整体资源(如新增教室、升级实验室)。
  • 安全策略:规定哪些学生可以访问敏感区域(如系统文件)。
  • 应急处理:处理全校性危机(如停电、硬件故障)。

例子:

优先级策略:校长规定“科研项目(系统进程)”优先使用实验室(CPU)。

资源扩容:校长决定扩建图书馆(增加内存容量)以满足更多学生需求。

权限管理:校长禁止普通学生进入档案室(root目录),仅允许管理员(root用户)访问。


结合来看

  1. 学生申请资源:学生D(视频编辑软件)需要高性能实验室(CPU核心)和大量书籍(内存)。辅导员根据校长制定的优先级规则,分配资源并监控使用情况。
  2. 资源冲突:学生E(下载程序)和学生F(在线会议软件)同时申请网络带宽。辅导员按“实时任务优先”策略,优先分配带宽给学生F。
  3. 异常处理:实验室突然停电(硬件故障),校长启动备用电源(容错机制),辅导员重新调度学生任务。

比喻总结
角色    对应对象    核心职责
学生    用户程序/应用程序    执行具体任务,依赖资源分配
辅导员    操作系统内核    直接管理资源,调度进程,确保安全
校长    系统策略/管理层    制定规则,全局规划,处理系统级问题

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/73229.shtml

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

相关文章

Tomcat常见漏洞攻略

一、CVE-2017-12615 漏洞原理:当在Tomcat的conf(配置⽬录下)/web.xml配置⽂件中添加readonly设置为false时,将导致该漏洞产 生,(需要允许put请求) , 攻击者可以利⽤PUT方法通过精心构造的数据包…

快速求出质数

要快速判断一个数是否为质数,可以采用以下优化后的试除法,结合数学规律大幅减少计算量: 步骤说明 处理特殊情况: 若 ( n \leq 1 ),不是质数。若 ( n 2 ) 或 ( n 3 ),是质数。若 ( n ) 能被 2 或 3 整除&…

Linux上位机开发实战(camera视频读取)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 关于linux camera,一般都是认为是mipi camera,或者是usb camera。当然不管是哪一种,底层的逻辑都是v4l2&#x…

高性能缓存:使用 Redis 和本地内存缓存实战示例

在现代高并发系统中,缓存技术是提升性能和降低数据库压力的关键手段。无论是分布式系统中的Redis缓存,还是本地高效的本地内存缓存,合理使用都能让你的应用如虎添翼。今天,我们将基于go-dev-frame/sponge/pkg/cache库的代码示例&a…

Python实现deepseek接口的调用

简介:DeepSeek 是一个强大的大语言模型,提供 API 接口供开发者调用。在 Python 中,可以使用 requests 或 httpx 库向 DeepSeek API 发送请求,实现文本生成、代码补全,知识问答等功能。本文将介绍如何在 Python 中调用 …

山东大学数据结构课程设计

题目:全国交通咨询模拟系统 问题描述 处于不同目的的旅客对交通工具有不同的要求。例如,因公出差的旅客希望在旅途中的时间尽可能地短,出门旅游的旅客则期望旅费尽可能省,而老年旅客则要求中转次数最少。编织一个全国城市间的交…

深入理解倒排索引原理:从 BitSet 到实际应用

倒排索引是一种极为重要的数据结构,它能够高效地支持大规模数据的快速查询,本文将深入探讨倒排索引的原理,借助 BitSet 这种数据结构来理解其实现机制,并通过具体的JSF请求条件示例来展示其在实际应用中的运算过程。 BitSet&#…

Unity网络开发快速回顾

知识点来源:总结人间自有韬哥在, 唐老狮,豆包 目录 1.网络通信-通信必备知识-IP地址和端口类2.网络通信中序列化和反序列化2进制数据3.Socket类4.TCP同步服务端和客户端基础实现4.1.服务端基本实现4.2.客户端实现: 5.区分消息类型…

内网渗透技术 Docker逃逸技术(提权)研究 CSMSF

目录 如何通过上传的webshell判断当前环境是否是物理环境还是Docker环境 方法一:检查文件系统 方法二:查看进程 方法三:检查网络配置 方法四:检查环境变量 方法五:检查挂载点 总结 2. 如果是Docker环境&#x…

动态规划:从暴力递归到多维优化的算法进化论(C++实现)

动态规划:从暴力递归到多维优化的算法进化论 一、动态规划的本质突破 动态规划(Dynamic Programming)不是简单的递归优化,而是计算思维范式的革命性转变。其核心价值在于通过状态定义和决策过程形式化,将指数复杂度问…

数据结构与算法-数据结构-树状数组

概念 树状数组,也叫二叉索引树(Binary Indexed Tree,BIT),它是用数组来模拟树形结构。树状数组的每个节点存储的是数组中某一段的和(或其他可合并的信息),通过巧妙的索引方式和树形…

AI比人脑更强,因为被植入思维模型【19】三脑理论思维模型

定义 三脑理论思维模型是由美国神经科学家保罗麦克莱恩(Paul MacLean)提出的,该理论认为人类的大脑由三个不同但又相互关联的部分组成,分别是爬虫脑(Reptilian Brain)、边缘脑(Limbic Brain&am…

使用 patch-package 优雅地修改第三方依赖库

在前端开发中,有时我们需要对第三方依赖库进行修改以满足项目需求。然而,直接修改 node_modules 中的文件并不是一个好方法,因为每次重新安装依赖时这些修改都会丢失。patch-package 是一个优秀的工具,可以帮助我们优雅地管理这些…

马科维茨均值—方差理论推导过程

下面给出一个详细的、符号严谨、公式连贯的马科维茨均值—方差理论推导过程,假设你输入了 nnn 列股票的历史收盘价数据。我们从数据符号的定义开始,逐步构建所有公式,并详细解释每个符号的意义。

仅靠prompt,Agent难以自救

Alexander的观点很明确:未来 AI 智能体的发展方向还得是模型本身,而不是工作流(Work Flow)。还拿目前很火的 Manus 作为案例:他认为像 Manus 这样基于「预先编排好的提示词与工具路径」构成的工作流智能体,…

【css酷炫效果】纯CSS实现悬浮弹性按钮

【css酷炫效果】纯CSS实现悬浮弹性按钮 缘创作背景html结构css样式完整代码效果图 想直接拿走的老板,链接放在这里:https://download.csdn.net/download/u011561335/90492020 缘 创作随缘,不定时更新。 创作背景 刚看到csdn出活动了&…

决策树基础

决策树 定义 从根节点开始,也就是拥有全部的数据,找一个维度对根节点开始划分, 划分后希望数据整体的信息熵是最小的, 针对划分出来的两个节点,我们继续重复刚才的划分方式寻找信息熵最小的维度和阈值。 递归这个…

动态查找表

1.问题分析: 动态查找表是一种可以动态地插入、删除和查找元素的数据结构。它是基于二叉搜索树实现的,具有快速的查找和插入操作。 以下是一些关于动态查找表的问题分析: 1. 插入操作:在动态查找表中插入一个元素时&#xff0c…

得分匹配的朗之万动力学——Score-Matching Langevin Dynamics (SMLD)

得分匹配的朗之万动力学——Score-Matching Langevin Dynamics (SMLD) 文章目录 得分匹配的朗之万动力学——Score-Matching Langevin Dynamics (SMLD)摘要Abstract周报内容0. 上期补充1. 本期的基本思想2. 从一个分布中采样(Sampling from a Distribution&#xff…

字节DAPO算法:改进DeepSeek的GRPO算法-解锁大规模LLM强化学习的新篇章(代码实现)

DAPO算法:解锁大规模LLM强化学习的新篇章 近年来,大规模语言模型(LLM)在推理任务上的表现令人瞩目,尤其是在数学竞赛(如AIME)和编程任务中,强化学习(RL)成为…