1:操作系统导论
1.1操作系统的定义
•Anoperatingsystemactsanintermediarybetweenuserofacomputerandthecomputer
hardware.
◦ 操作系统充当计算机⽤⼾和计算机硬件之间的中介
•Thepurposeofanoperatingsystemistoprovideanenvironmentinwhichausercanexecute
programsinaconvenientandefficientmanner.
◦ 操作系统的⽬的是提供⼀个⽤⼾可以⽅便和有效地执⾏程序的环境
•Anoperatingsystemissoftwarethatmanagesthecomputerhardware.
◦ 操作系统是管理计算机硬件的软件
计算机操作系统的架构
1.2硬盘内部结构
磁头如何读写盘⽚数据?
•磁臂移动到指定的圈道
•等待要访问的数据点旋转到磁头下发
•读写操作:
◦ 读:将从磁盘上读到的磁性转化0或1
◦ 写:将0或1转化成相应的磁性写⼊磁盘
主引导扇区(BootSector)
•硬盘的0柱⾯、0磁头、1扇区称为主引导扇区,在这扇区⾥存放着⼀段代码:主引导记录MBR(MainBootRecord),它⽤于硬盘启动时将系统控制权转给⽤⼾指定的、在分区表中登记了某个操作系统分区
•MBR的内容是在硬盘分区时由分区软件写⼊该扇区的,MBR不属于任何⼀个操作系统,不随操作系统的不同⽽不同,即使不同,MBR也不会夹带操作系统的性质,具有公共引导的特性 Bootstrapofcomputer
•打开电源
•CPU将控制权交给BIOS(基本输⼊输出系统,存放在CMOS中)
•BIOS运⾏⼀个程序:通电⾃测试程序
•BIOS确认所有外部设备:硬盘或扩充卡
•BIOS找到磁盘的引导区,将其中的主引导程序bootloader装⼊内存。(主引导程序时⼀段代码,它可以将OS余下部分装⼊内存)
•引导操作系统结束,操作系统接管计算机
•操作系统等待事件发⽣…
1.3中断
•当有事件(Event)发⽣时,CPU会收到⼀个中断(Interrupt)信号,可以是硬中断也可以是软中
断
•CPU会停下正在做的事,转⽽执⾏中断处理程序,执⾏完毕会回到之前被中断的地⽅继续执⾏
•OperatingSystemisanInterruptdrivensystem
◦ 操作系统是⼀个由中断驱动的系统
1.4存储系统
•CPU负责将指令(Instruction)从内存(Memory)读⼊,所以程序必须在内存中才能运⾏
•内存以字节为存储单位,每个字节都有⼀个地址与之对应。通过load/store指令即可访问地址的内
存数据
◦ load:将内存输⼊读⼊到寄存器
◦ store:将寄存器数据写⼊到内存
IO设备 设备的控制器 设备驱动程序 IO子系统 计算机cpu
我新买一个IO设备,要安装这个设备的驱动程序,这样IO子系统才会通过驱动程序,来操作IO设备。
1.5处理器系统
单处理器系统:
•Single-processSystem
•只有⼀颗注CPU,执⾏通⽤指令集
•带有其他专⽤处理器,为特定设备服务,如:磁盘、键盘、图形控制器等
注意其他专用的CPU是指:比如会专门有一个监听键盘操作的CPU,当你操作键盘的时候,这个CPU会处理你的键入信息。并不会让主CPU来处理,主CPU主要是干应用程序里的工作。
◦ 它们能够执⾏的指令有限,不处理⽤⼾进程
◦ 操作系统会向它们发出任务,并监控它们的状态
多处理器系统:
•Multiprocessor/MulticoreSystem
•有两个或多个紧密通信的CPU,它们共享计算机总线、时钟、内存和外设等
非对称处理:虽然有多个CPU但是其中有一个主要的CPU,当处理的任务很复杂的时候,就交给主要的CPU处理。
对称处理:每个CPU性能都差不多。
集群系统:
•ClusteredSystem
•该系统由若⼲节点(Node)通过⽹络连接在⼀起,每个节点可为单处理器系统或多处理器系统,
节点之间是松耦合(looselycoupled)关系
◦ ⾼可⽤性(highavailability)
每个节点之间的关系是松耦合关系:即两个计算机之间的关系并不是非常的紧密,其中一个宕机了,并不会影响另一个,其他计算机仍然可以继续完成宕机计算机的任务。
◦ ⾼性能计算(high-performancecomputing)
1.6:操作系统结构
单道单⽤⼾模式
多道程序设计
•操作系统最重要的⼀点是具有多道程序能⼒
•单道程序不能让CPU和IO设备始终忙碌,多道程序设计通过安排任务使⽤的CPU总有⼀个执⾏任
务,从⽽提⾼CPU利⽤率
•实现的硬件保证:处理器和IO设备具备并⾏⼯作的能⼒
分时系统
小结:
为什么只有将任务放到内存上才会被执行。
在计算机系统中,任务的执行需要通过将其加载到内存中进行操作。这是因为内存(RAM)是计算机中用于存储和执行程序的主要组件之一。
当你启动一个程序或执行一个任务时,操作系统会将程序的相关代码和数据从存储设备(如硬盘)加载到内存中。内存的特点是读写速度快,可以快速访问和处理数据,因此将任务加载到内存中可以提供更高的执行效率。
另外,CPU(中央处理器)是执行计算机指令的核心部件,它从内存中读取指令并执行相应的操作。如果任务未加载到内存中,CPU 就无法访问和执行相关的指令和数据。因此,将任务放到内存上是为了确保CPU可以正确地执行任务。
此外,内存还提供了多个程序之间共享数据的机制。多个任务可以同时加载到内存中,并通过共享内存中的数据进行通信和交互。
总而言之,将任务放到内存上执行是为了实现快速访问和处理数据、确保CPU可以执行相关指令,并提供多任务间的数据共享机制。
相关文章:

1:操作系统导论
1.1操作系统的定义 •Anoperatingsystemactsanintermediarybetweenuserofacomputerandthecomputer hardware. ◦ 操作系统充当计算机⽤⼾和计算机硬件之间的中介 •Thepurposeofanoperatingsystemistoprovideanenvironmentinwhichausercanexecute programsinaconvenientandeff…...

什么是微软的 Application Framework?
我是荔园微风,作为一名在IT界整整25年的老兵,今天来看一下什么是微软的 Application Framework? 到底什么是 Application Framework? 还没有真正掌握任何一套Application Framework的使用之前,就来研究这个真的不是很…...

一个关于宏定义的问题,我和ChatGPT、NewBing、Google Bard、文心一言 居然全军覆没?
文章目录 一、问题重述二、AI 解题2.1 ChatGPT2.2 NewBing2.3 Google Bard2.4 文心一言2.5 小结 一、问题重述 今天在问答模块回答了一道问题,要睡觉的时候,又去看了一眼,发现回答错了。 问题描述:下面的z的值是多少。 #define…...

【服务器数据恢复】断电导致RAID无法找到存储设备的数据恢复案例
服务器数据恢复环境: HP EVA存储,6块SAS硬盘组建的raid5磁盘阵列。上层操作系统是WINDOWS SERVER。该存储为公司内部文件服务器使用。 服务器故障&分析: 在遭遇两次意外断电后,设备重启时raid提示“无法找到存储设备”。管理员…...

Windows上不可或缺的5款宝藏软件,工作效率拉满!
职场小白与大牛的区别:小白需要耗费大半天琢磨的事情,而大牛可以只花5分钟就能处理。 “牛人”,即拥有过人之处,专业、经验、技术等等,学会灵活运用高效率的工具也是关键的一点。工具找得好,运用得快&#…...

链表内指定区间反转
题目: 将一个节点数为 size 链表 m 位置到 n 位置之间的区间反转,要求时间复杂度 O(n),空间复杂度 O(1)。 例如: 给出的链表为 1→2→3→4→5→NULL,m2,n4 返回 1→4→3→2→5→NULL 数据范围ÿ…...

Vue中如何进行地图展示与交互(如百度地图、高德地图)?
Vue中如何进行地图展示与交互 随着移动互联网的普及,地图应用已经成为人们生活中不可或缺的一部分。在Vue.js中,我们可以使用第三方地图库(如百度地图、高德地图)来实现地图的展示和交互。本文将介绍如何在Vue.js中使用百度地图和…...
uni-app组件概述
1、组件 1.1、组件的含义 组件是视图层的基本组成单元。 组件是一个单独且可复用的功能模块的封装。 组件,包括:以组件名称为标记的开始标签和结束标签、组件内容、组件属性、组件属性值。 <component-name>是开始标签,</compon…...

什么是防火墙?它有什么作用?
作者:Insist-- 个人主页:insist--个人主页 作者会持续更新网络知识和python基础知识,期待你的关注 目录 一、什么是防火墙 二、防火墙的分类 1、软件防火墙 2、硬件防火墙 三、防火墙的作用 1、防止病毒 2、防止访问不安全内容 3、阻…...

基础工程(cubeide串口调试,printf实现,延时函数)
0.基础工程(cubeide串口调试,printf实现,延时函数) 文章目录 0.基础工程(cubeide串口调试,printf实现,延时函数)外部时钟源CLOCK(RCC)系统时钟SYS与DEBUG设置UART串口设置cubeide设置…...
大厂设计师都在用的9个灵感工具
每一件伟大的设计作品都离不开设计师灵感的爆发。设计师有很多灵感来源,比如精美的摄影图片、酷炫的网站设计、APP的特色功能、友好的用户体验动画,或者一篇文章。 设计师每天都需要收集灵感,把灵感收集当成日常生活。在这篇文章中ÿ…...
安全实现SpringBoot配置文件自动加解密
需求背景 应用程序开发的时候,往往会存在一些敏感的配置属性 数据库账号、密码第三方服务账号密码内置加密密码其他的敏感配置 对于安全性要求比较高的公司,往往不允许敏感配置以明文的方式出现。 通常做法是对这些敏感配置进行加密,然后在…...

数据结构--队列2--双端队列--java双端队列
介绍 双端队列,和前面学的队列和栈的区别在于双端队列2端都可以进行增删,其他2个都是只能一端可以增/删。 实现 链表 因为2端都需要可以操作所以我们使用双向链表 我们也需要一共头节点 所以节点设置 static class Node<E>{E value;Node<E…...

网络安全:信息收集专总结【社会工程学】
前言 俗话说“渗透的本质也就是信息收集”,信息收集的深度,直接关系到渗透测试的成败,打好信息收集这一基础可以让测试者选择合适和准确的渗透测试攻击方式,缩短渗透测试的时间。 一、思维导图 二、GoogleHacking 1、介绍 利用…...
Linux 命令总结
基本操作 Linux关机,重启 # 关机 shutdown -h now# 重启 shutdown -r now 查看系统,CPU信息 # 查看系统内核信息 uname -a# 查看系统内核版本 cat /proc/version# 查看当前用户环境变量 envcat /proc/cpuinfo# 查看有几个逻辑cpu, 包括cpu型号 cat /proc/cpuinfo | grep na…...

使用腾讯手游助手作为开发测试模拟器的方案---以及部分问题的解决方案
此文主要介绍使用第三方模拟器(这里使用腾讯手游助手)作为开发工具,此模拟器分为两个引擎,一个与其他模拟器一样基于virtualbox的标准引擎,不过优化不太好,一个是他们主推的aow引擎,此引擎。关于aow没有太多的技术资料…...

牛客网论坛最具争议的Linux内核成神笔记,GitHub已下载量已过百万
原文地址:牛客网论坛最具争议的Linux内核成神笔记,GitHub已下载量已过百万 1、前言 Linux内核是一个操作系统(OS)内核,本质上定义为类Unix。它用于不同的操作系统,主要是以不同的Linux发行版的形式。Linu…...
docker如何容器迁移(实战)
手把手教你如何做容器迁移 第一步准备数据 假设要迁移一个 mysql 服务(docker部署),由于数据库过大(超过50 GB),用mysqldump备份和还原则太过耗时,下面尝试拷贝目录的方式来迁移,详…...

Android kotlin序列化之Parcelable详解与使用(二)
一、介绍 注解序列化篇:Android kotlin序列化之Parcelize详解与使用_蜗牛、Z的博客-CSDN博客 通过上一篇注解序列化,我们已了解的kotlin的序列化比Java复杂了很多。而且有好多问题,注解虽好,但是存在一些问题。 一般在大型商业…...

C++ 类设计的实践与理解
前言 C代码提供了足够的灵活性,因此对于大部分工程师来说都很难把握。本文介绍了写好C代码需要遵循的最佳实践方法,并在最后提供了一个工具可以帮助我们分析C代码的健壮度。 1. 尽可能尝试使用新的C标准 到2023年,C已经走过了40多个年头。新…...

MPNet:旋转机械轻量化故障诊断模型详解python代码复现
目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...
synchronized 学习
学习源: https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖,也要考虑性能问题(场景) 2.常见面试问题: sync出…...

调用支付宝接口响应40004 SYSTEM_ERROR问题排查
在对接支付宝API的时候,遇到了一些问题,记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...

Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误
HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误,它们的含义、原因和解决方法都有显著区别。以下是详细对比: 1. HTTP 406 (Not Acceptable) 含义: 客户端请求的内容类型与服务器支持的内容类型不匹…...

visual studio 2022更改主题为深色
visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中,选择 环境 -> 常规 ,将其中的颜色主题改成深色 点击确定,更改完成...
系统设计 --- MongoDB亿级数据查询优化策略
系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log,共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题,不能使用ELK只能使用…...

ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放
简介 前面两期文章我们介绍了I2S的读取和写入,一个是通过INMP441麦克风模块采集音频,一个是通过PCM5102A模块播放音频,那如果我们将两者结合起来,将麦克风采集到的音频通过PCM5102A播放,是不是就可以做一个扩音器了呢…...
生成 Git SSH 证书
🔑 1. 生成 SSH 密钥对 在终端(Windows 使用 Git Bash,Mac/Linux 使用 Terminal)执行命令: ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" 参数说明: -t rsa&#x…...

前端开发面试题总结-JavaScript篇(一)
文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包(Closure)?闭包有什么应用场景和潜在问题?2.解释 JavaScript 的作用域链(Scope Chain) 二、原型与继承3.原型链是什么?如何实现继承&a…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...