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.hqwc.cn/news/685630.html

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

相关文章

无人机+光电吊舱:四光(可见光+红外热成像+广角+激光测距)吊舱设计技术详解

无人机与光电吊舱的结合,特别是四光吊舱(包含可见光、红外热成像、广角和激光测距技术)的应用,为无人机提供了强大的侦察和测量能力。以下是对四光吊舱设计技术的详解: 1. 可见光技术:可见光相机是吊舱中最…

福昕PDF阅读器取消手型工具鼠标点击翻页

前言: 本文介绍如何关闭福昕PDF阅读器取消手型工具鼠标点击翻页,因为这样真的很容易误触发PDF翻页,使用起来让人窝火。 引用: NA 正文: 新版的福昕PDF阅读器默认打开了“使用手型工具阅读文章”这个勾选项&#x…

IPO压力应变桥信号处理系列隔离放大器 差分信号隔离转换0-10mV/0-20mV/0-±10mV/0-±20mV转4-20mA/0-5V/0-10V

概述: IPO压力应变桥信号处理系列隔离放大器是一种将差分输入信号隔离放大、转换成按比例输出的直流信号混合集成厚模电路。产品广泛应用在电力、远程监控、仪器仪表、医疗设备、工业自控等行业。该模块内部嵌入了一个高效微功率的电源,向输入端和输出端…

CSS跳动文字

<div class"loading-mask"><div class"loading-text"><span style"--i:1">加</span><span style"--i:2">载</span><span style"--i:3">中</span><span style"--i:…

【Ubuntu18.04+melodic】抓取环境设置

UR5_gripper_camera_gazebo&#xff08;无moveit&#xff09; 视频讲解 B站-我要一米八了-抓取不止&#xff01;Ubuntu 18.04下UR5机械臂搭建Gazebo环境&#xff5c;开源分享 运行步骤 1.创建工作空间 catkin_make2.激活环境变量 source devel/setup.bash3.1 rviz下查看模…

Java入门基础学习笔记10——变量

变量的学习路径&#xff1a; 认识变量->为什么要用变量&#xff1f;->变量有啥特点&#xff1f;->变量有啥应用场景&#xff1f; 什么是变量&#xff1f; 变量是用来记住程序要处理的数据的。 变量的定义格式&#xff1a; 数据类型 变量名称 数据&#xff1b; 数…

照片不大于200K怎么改?在线图片处理工具的使用方法

现在使用图片的地方特别多&#xff0c;有时候需要图片压缩到200k&#xff0c;因为上传或传输大文件会受到限制&#xff0c;例如通过电子邮件发送、上传到云存储空间等等。在这种情况下&#xff0c;压缩图片大小可以让图片更容易地传输和分享&#xff0c;并且节省存储空间&#…

从需求到实现的关键

版本封面 内容&#xff1a;产品logo&#xff0c;项目名称&#xff0c;所属公司&#xff0c;产品名称&#xff0c;文档类型&#xff0c;版本号&#xff0c;时间&#xff0c;相关人员&#xff08;最好说明下负责人&#xff09;。 作用&#xff1a; 突出重要信息&#xff0c;将…

ICode国际青少年编程竞赛- Python-2级训练场-识别循环规律2

ICode国际青少年编程竞赛- Python-2级训练场-识别循环规律2 1、 for i in range(3):Dev.step(3)Dev.turnRight()Dev.step(4)Dev.turnLeft()2、 for i in range(3):Spaceship.step(3)Spaceship.turnRight()Spaceship.step(1)3、 Dev.turnLeft() Dev.step(Dev.x - Item[1].…

基于小波交叉谱分析的地震波走时变化测量(MATLAB)

地震波在地球介质中传播&#xff0c;带来了丰富的地下介质物性的信息&#xff0c;为了解地球内部结构及运动变化提供了可能。地球内部地震波速度的差异是人们确定地球圈层结构和横向不均匀性的重要物理参数&#xff0c;地下介质应力的变化和积累是地震的孕育和发生的原因&#…

手把手YOLOv9训练推理!

1,原理讲解 文章地址:https://arxiv.org/pdf/2402.13616.pdf 代码地址:https://github.com/WongKinYiu/y YOLOv9的变化相对较小,它仍然基于YOLOv5的代码架构。这就意味着YOLOv5、YOLOv7和YOLOv9实际上是“同一个框架”。如果你已经熟悉其中一个,那么你将能够轻松掌握另外…

日本OTC机械手维修需要注意哪些问题呢?

随着工业4.0时代的到来&#xff0c;机器人在制造业中的应用越来越广泛。OTC&#xff08;Over The Counter&#xff09;机器人作为工业机器人的一种&#xff0c;以其高效、精准、稳定的特点受到众多企业的青睐。然而&#xff0c;在实际使用过程中&#xff0c;可能会出现一些OTC机…