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多个年头。新…...
循环链表的创建
循环链表的介绍及创建(C语言代码实现) 点击打开在线编译器,边学边练 循环链表概念 对于单链表以及双向链表,其就像一个小巷,无论怎么样最终都能从一端走到另一端,然而循环链表则像一个有传送门的小巷&…...
如何让GPT的回答令人眼前一亮,不再刻板回复!
我们平常在使用GPT的时候,是否觉得它的回复太过于死板、官方化,特别是用于创作、写论文分析的时候,内容往往让读者提不起兴趣、没有吸引人的地方,甚至有些内容百度都可以搜到。 举个例子,如下图: 问GPT,AI…...
JMeter测试笔记(四):逻辑控制器
引言: 进行性能测试时,我们需要根据不同的情况来设置不同的执行流程,而逻辑控制器可以帮助我们实现这个目的。 在本文中,我们将深入了解JMeter中的逻辑控制器,包括简单控制器、循环控制器等,并学习如何正…...
【计算机组成原理·笔记】I/O接口
I/O接口 概述I/O接口的功能和组成 I/O接口的组成I/O接口的功能 I/O接口类型 按数据传送方式按功能灵活性按通用性按数据传输的控制方式 概述 I/O接口通常是指主机与I/O设备之间设置的硬件电路以及相应的软件控制,主机通过I/O接口和I/O设备相连接。 I/O接口的功…...
MIT6.024学习笔记(二)——图论(1)
学习不是为了竞争和战胜他人,而是为了更好地了解自己和世界。 - 达赖喇嘛 文章目录 图的相关概念涂色问题基础涂色方法(贪婪算法)证明 二分图匹配问题应用:稳定婚烟问题算法性质及其证明 图的相关概念 图的定义:一组&…...
饼状图使用属性时,使用驼峰命名法
饼状图是使用D3.js等JavaScript库来绘制的,而JavaScript中的属性名通常采用驼峰式命名法,即第一个单词的首字母小写,后面单词的首字母大写,例如fontSize、fontWeight等。而CSS中的属性名采用连字符命名法,即单词之间用…...
使用Spring Boot、Spring Security和Thymeleaf的整合示例
使用Spring Boot、Spring Security和Thymeleaf的整合示例 大纲: 创建Spring Boot项目 集成Thymeleaf作为模板引擎 配置Spring Security实现身份验证和授权 创建登录页面和主页 创建管理员页面和普通用户页面 实现用户角色和权限管理 详细步骤: 创建Sprin…...
Linux--ServerProgramming--(7)IPC
1.管道 2.信号量 2.1 概念 信号量 是一个计数器,用于实现进程间互斥和同步。 信号量的取值可以是任何自然数。 最简单的信号量是只能取 0 和 1 的变量,这也是信号量最常见的一种形式,叫做二进制信号量(Binary Semaphore&#…...
最优化理论-KKT定理的推导与实现
目录 一、引言 二、最优化问题的基本概念 三、KKT条件的引入 1. 梯度条件 2. 原始可行性条件 3. 对偶可行性条件 四、KKT定理的表述 五、KKT定理的证明 1. 构造拉格朗日函数 2. 构造拉格朗日对偶函数 3. 推导KKT条件 4. 解释KKT条件 六、KKT定理的应用 七、总结 …...
chatgpt赋能python:Python中引入其他包的指南
Python中引入其他包的指南 Python是一种流行的编程语言,拥有丰富的开源软件包和库。许多Python程序将使用其他包来增强其功能。在本文中,我们将探讨如何在Python项目中使用和引入其他包。 什么是Python包和库? Python包是一组可重复使用的…...
网站平台客服系统/2024近期新闻
打开如下链接: https://huangmingkun.github.io/vuepress/...
web的网站开发/网站搭建一般要多少钱
本章节扩展一些目录和文件操作的更多知识,因为这些知识涉及到时间操作,所以放在时间操作之后的章节中介绍。一、access库函数access函数用于判断当前操作系统用户对文件或目录的存取权限。包含头文件:#include 函数声明:int acces…...
微商手机网站制作公司/网络销售渠道有哪些
放鞭炮贺新春,在我国有两千多年历史。关于鞭炮的起源,有个有趣的传说。 西方山中有焉,长尺余,一足,性不畏人。犯之令人寒热,名曰年惊惮,后人遂象其形,以火药为之。——《神异经》 当…...
请人做网站收费多少钱/系统优化软件推荐
这个问题是使用SqlBulkCopy拷贝数据,字符串长度超出数据类型长度导致的。 处理过程中对长度进行判断并截取就OK了。 *注:SqlBulkCopy 这货 要求ColumnMappings 列的大小写完全对应,列顺序不敏感。 转载于:https://www.cnblogs.com/hydor/p/4480929.html...
做网站设计参考文献/玄幻小说排行榜百度风云榜
目录 [TOC] 前言 (一)求解多元一次方程-solve() 1.说明: 解多元一次方程可以使用solve(),在sympy里,等式是用Eq()来表示, 例如:表示为:Eq(x*2, 4) 2.源代码: ""…...
怎么宣传自己的网站推广/提高关键词排名的软文案例
我想在crontab中执行一个php函数,就像在URL中一样:yourdomain.com/yourphp.php?functionpwdTimeout我尝试过类似的东西,但它不起作用* * * * * /var/..../webpage/yourphp.php?functionpwdTimeout如何在crontab的帮助下执行php函数.非常感谢帮助.我的php-File看起…...