01.基本概念

操作系统

为什么要有操作系统?

计算机时一个十分复杂的系统,又cpu、内存、磁盘、IO设备、网络接口等等复杂的硬件组成,人的精力是有限的,不可能了解所有的硬件接口,但是程序可以。

所以我们在计算机上安装了一层软件(程序),称为所作系统

概念

操作系统是软硬件之间的起桥梁作用的一个庞大的程序

内核

内核时操作系统的核心,它是用来帮助操作系统管理硬件资源的。

应用程序只需要关系与内核的交互,不用关系硬件的细节

内核的能力:
1.进程调度:管理进程、线程、决定那个进程、线程使用CPU
2.内存管理:决定内存的分配和回收
3.提供文件系统:inode、block
4.管理硬件设备:为进程和硬件设备之间提供通信能力
5.内核空间,只有内核程序可以访问
6.用户空间,专门给应用程序使用
cpu有两种状态,用户态和内核态

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

库函数和系统调用

库函数

把常用的一些函数放在一个库里面(文件),提供给不同的人调用(lib)

系统调用

内核的入口,可以完成用户态到内核态的切换(因为只有内核态才能管理硬件资源)
当应用程序使用系统调用的时候,会产生一个中断,cpu中段当前执行的用户程序,跳转到中断处理程序,也就是开始执行内核程序。内核处理完成后,主动触发中断,把cpu的执行权交回给用户程序

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

虚拟内存地址

每个进程都会有自己的虚拟内存地址,操作系统会提供一种虚拟地址和物理地址的映射机制,将虚拟地址映射为真实的物理地址,这种内存管理方式,被称为虚拟内存

程序和进程

程序

使用编程语言编写的代码经过预处理、编译、汇编、连接处理后得到的计算机可以理解和执行的指令叫做程序

进程

运行起来的程序叫做进程,时操作系统进行资源分配和程序调度的基本单位

并发

微观上串行,宏观上并行(点时间串行,段时间并行)
我们知道cpu的io速度远远大于磁盘的io速度,当进程读取数据的时候,cpu不需要阻塞等待数据的返回,可以去执行其他的进程,等到磁盘中数据返回时,给cpu发送中断,cpu出行回来执行
因为cpu与磁盘速度差距特别大,这句造成了宏观上多个进程在同时运行

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

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

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

相关文章

InputStream,OutputStream的用法以及相应的案例

1. 文件系统的操作:File类。 2. 文件内容的操作:Stream流。 字符流:IntputStream , OutputStream。 字节流:read , write。 InputStream,OutputStream InputStream和OutputStream都不能被实例…

GIS入门,常用的多边形平滑曲线算法介绍和JavaScript的多边形平滑曲线算法库chaikin-smooth的实现原理和使用

前言 本章介绍一下常用的多边形平滑曲线算法及其使用案例。 多边形平滑算法通常用于图形处理或计算机图形学中,以使线条或曲线在连接处平滑过渡,而不出现明显的棱角或断裂。多边形平滑算法有多种实现方法,其中一些常见的有下面几种: 贝塞尔曲线插值(Bezier Curve Interpo…

【Java】/*逻辑控制语句和输入输出—快速总结*/

目录 前言 一、分支语句 1.1 if 语句 1.2 switch 语句 二、循环语句 2.1 while 循环 2.1.1 break 2.1.2 continue 2.2 for 循环 2.3 do_while 循环 三、逻辑语句的小结 四、Java 中的输入输出 4.1 输出到控制台 4.2 从键盘输入 前言 Java 中的逻辑控制语句和C语…

针对头疼的UDP攻击如何定制有效的防护措施

分布式拒绝服务攻击(Distributed Denial of Service)简称DDoS,亦称为阻断攻击或洪水攻击,是目前互联网最常见的一种攻击形式。DDoS攻击通常通过来自大量受感染的计算机(即僵尸网络)的流量,对目标…

[机器学习-04] Scikit-Learn机器学习工具包进阶指南:集群化与校准功能实战【2024最新】

🎩 欢迎来到技术探索的奇幻世界👨‍💻 📜 个人主页:一伦明悦-CSDN博客 ✍🏻 作者简介: C软件开发、Python机器学习爱好者 🗣️ 互动与支持:💬评论 &…

抖音橱窗不是电商!别再傻傻搞不清了

大家好,我是电商糖果 今天碰到一位非常有意思的朋友,说是找糖果咨询抖音小店。 但是问的问题,跟抖音小店没有一点关系。 而且还非常执拗,给他解释一遍又一遍,还是坚持自己的想法。 记住抖音橱窗不是电商&#xff0…

vue3 element plus el-date-picker组件在日期上做标识

1.先看效果图,带红点的就是我要做标识的日期 2.直接把代码拿出来就可以用 (1)html部分 <el-date-pickerv-model"startTime"type"datetime"placeholder"选择开始日期"format"YYYY-MM-DD HH:mm"value-format"YYYY-MM-DD HH:mm…

Golang实践录:gin框架使用自定义日志模块

本文介绍在 Golang 的 gin 框架中使用自定义日志模块的一些方法。 背景 很早之前就实现并使用了自己封装的日志模块&#xff0c;但一直没有将gin框架内部的日志和日志模块结合。gin的日志都是在终端上打印的&#xff0c;排查问题不方便。趁五一假期&#xff0c;集中研究把此事…

YOLOv8预测流程-原理解析[目标检测理论篇]

接下来是我最想要分享的内容&#xff0c;梳理了YOLOv8预测的整个流程&#xff0c;以及训练的整个流程。 关于YOLOv8的主干网络在YOLOv8网络结构介绍-CSDN博客介绍了&#xff0c;为了更好地介绍本章内容&#xff0c;还是把YOLOv8网络结构图放在这里&#xff0c;方便查看。 1.前言…

1053: 输出利用先序遍历创建的二叉树中的指定结点的度

解法&#xff1a; c语言 #include<iostream> #include<vector> using namespace std; typedef struct tNodes{char val;tNodes* left, * right; }* tNode;void creat(tNode& t) {char ch;cin >> ch;if (ch #) t NULL;else {t new tNodes;t->val …

2024高安全个人密码本程序源码,贴身密码管家-随机密码备忘录二代密码

项目概述&#xff1a; 在这个网络高度发展的时代&#xff0c;每个人都需要上网&#xff0c;而上网就不可避免地需要使用账号和密码。 在众多账号的情况下&#xff0c;你是否还在为复杂难记的密码感到烦恼&#xff1f;现在只需要记录一次&#xff0c; 就可以随时查看你的密码…

微信小程序绕开wx.uploadFile,上传图片,(直接把图片上传到服务器)

用wx.request是可以上传文件的&#xff0c;区别在于需要通过路径读取文件&#xff0c;上传文件&#xff0c; 而wx.uploadFile的方法只需要用路径&#xff0c;无需读取文件 wx.chooseMedia({count: 1,mediaType: [image], // 只允许选择图片sourceType: [album, camera], // 可…

AI跟踪报道第41期-新加坡内哥谈技术-本周AI新闻:本周Al新闻: 准备好了吗?事情即将変得瘋狂

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

Python函数基础详解(狠狠爱住)

函数的定义 在Python中&#xff0c;函数定义是指创建函数并定义其行为的过程。 一个简单的函数定义示例&#xff1a; def greet(name):"""这是一个向用户打招呼的函数"""print(f"Hello, {name}!")greet("Alice")在上面的…

【matlab基础知识代码】(十八)无约束最优化问题

min下面的x称为优化向量或者是决策变量 匿名函数法 >> f(x)(x(1)^2-2*x(1))*exp(-x(1)^2-x(2)^2-x(1)*x(2)); x0[0; 0]; [x,b,c,d]fminsearch(f,x0), x 0.6111 -0.3056 b -0.6414 c 1 d 包含以下字段的 struct: iterations: 72 funcCount: 137 algor…

STM32:GPIO输入输出

文章目录 1、GPIO介绍1.1 GPIO的基本结构1.1 GPIO的位结构 2、 GPIO工作模式3、GPIO标准外设库接口函数3.1 RCC接口函数3.2 GPIO接口函数3.2.1 GPIO的读取函数3.2.1 GPIO的写入函数 4、GPIO的初始化 1、GPIO介绍 GPIO&#xff08;General Purpose Input Output&#xff09;通用…

bugfix:若依框架下对某个url接口权限放行,登陆后调用却提示403无权限

引言 在构建基于若依(RuoYi)框架的现代Web应用时&#xff0c;API接口的安全与权限管理是不可或缺的一环。Spring Security作为业界广泛采用的安全框架&#xff0c;为若依提供了强大的权限控制能力。然而&#xff0c;在实际开发过程中&#xff0c;开发者常会遇到登录用户访问特…

synchronized对象锁和类锁

一、什么是对象锁和类锁 顾名思义 对象锁可以锁住同一对象下synchronized修饰的方法&#xff0c;但不会影响其他对象。synchronized修饰普通方法就为对象锁。 类锁static synchronized修饰一个方法&#xff0c;当一个线程在执行该方法时&#xff0c;其他任何线程用任何对象调…

软件测试之 接口测试 Postman使用

接口测试 URL HTTP协议 HTTP 请求部分 HTTP响应部分 Postman使用 界面介绍 这里 注意 如果你无法访问 那么 captchaImage这个打错了&#xff0c;给的资料中是错误的地址 https://kdtx-test.itheima.net/api/captchaImage登录接口 科大天下 第一个接口的登录设置 https://kd…

使用map类型的参数在mapper.xml中使用案例

使用map类型的参数在mapper.xml中使用案例 简介&#xff1a;在常见的开发中&#xff0c;对于参数的装载一般使用map类型方式&#xff0c;这样可以避免创建很多参数实体类&#xff0c;不管嵌套多层的数据参数都可以通过map拿取&#xff0c;对于嵌套多层的map&#xff0c;我们需…