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多个年头。新…...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)
题目:3442. 奇偶频次间的最大差值 I 思路 :哈希,时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况,哈希表这里用数组即可实现。 C版本: class Solution { public:int maxDifference(string s) {int a[26]…...

Zustand 状态管理库:极简而强大的解决方案
Zustand 是一个轻量级、快速和可扩展的状态管理库,特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...

3.3.1_1 检错编码(奇偶校验码)
从这节课开始,我们会探讨数据链路层的差错控制功能,差错控制功能的主要目标是要发现并且解决一个帧内部的位错误,我们需要使用特殊的编码技术去发现帧内部的位错误,当我们发现位错误之后,通常来说有两种解决方案。第一…...
IGP(Interior Gateway Protocol,内部网关协议)
IGP(Interior Gateway Protocol,内部网关协议) 是一种用于在一个自治系统(AS)内部传递路由信息的路由协议,主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...

大数据零基础学习day1之环境准备和大数据初步理解
学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 (1)设置网关 打开VMware虚拟机,点击编辑…...
工程地质软件市场:发展现状、趋势与策略建议
一、引言 在工程建设领域,准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具,正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...
【AI学习】三、AI算法中的向量
在人工智能(AI)算法中,向量(Vector)是一种将现实世界中的数据(如图像、文本、音频等)转化为计算机可处理的数值型特征表示的工具。它是连接人类认知(如语义、视觉特征)与…...

EtherNet/IP转DeviceNet协议网关详解
一,设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络,本网关连接到EtherNet/IP总线中做为从站使用,连接到DeviceNet总线中做为从站使用。 在自动…...

在WSL2的Ubuntu镜像中安装Docker
Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包: for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...

网络编程(UDP编程)
思维导图 UDP基础编程(单播) 1.流程图 服务器:短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...