01.基本概念

操作系统

为什么要有操作系统?

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

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

概念

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

内核

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

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

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

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

库函数和系统调用

库函数

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

系统调用

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

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

虚拟内存地址

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

程序和进程

程序

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

进程

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

并发

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

从零入门激光SLAM(十三)——LeGo-LOAM源码超详细解析4

大家好呀,我是一个SLAM方向的在读博士,深知SLAM学习过程一路走来的坎坷,也十分感谢各位大佬的优质文章和源码。随着知识的越来越多,越来越细,我准备整理一个自己的激光SLAM学习笔记专栏,从0带大家快速上手激…

Linux -- 日志

一 日志的重要性 在之前的编程经历中,如果我们的程序运行出现了问题,都是通过 标准输出 或 标准错误 将 错误信息 直接输出到屏幕上,以此来排除程序中的错误。 这在我们以往所写的程序中使用没啥问题,但如果出错的是一个不断在运行…

fb设备驱动框架分析

一、字符设备注册过程: 归根到底,fb设备也是一个字符设备,所以逃不开常规的字符设备驱动框架: Linux内核中编写字符设备驱动通常遵循以下步骤: ①、定义主设备号: 在Linux中,每个字符设备都…

MySQL 通过 systemd 启动时 hang 住了……

mysqld:哥,我起不来了…… 作者:贲绍华,爱可生研发中心工程师,负责项目的需求与维护工作。其他身份:柯基铲屎官。 爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编…

如何查看页面对应的Selenium定位参数

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

谷歌外链怎么发?

既要数量也要质量,要保证你的链接广泛分布,在数量上,确实需要你的链接在各种平台上有所展现,这样能提升你网站的知名度和曝光率,但是,光有数量是不够的,如果这些链接的内容不行,那对…

泰迪智能科技企业数据挖掘流程分析及特色服务优势

企业发展会沉淀大量的数据,数据中囊括了企业业务各种维度指标,通过数据挖掘和数据分析 ,让企业业务了解过去、现在和未来将要发生什么,从而更好的调整企业发展方向。泰迪智能科技企业数据挖掘平台是面向企业级用户快速处理数据构建…

2024年湖北省专升本C语言程序设计大题真题解析

2024年湖北省的专升本考试已于4月30日举行,考试中,出现了许多不同的考试题目,我在网上找到一所高校专升本的大题(好像是湖北师范的,后续会有湖北理工的大题真题解析,敬请期待),那么我…

在新页面中跳转到指定 div容器位置

要在打开新的页面时跳转到指定 div,我们需要结合 HTML、JavaScript 和后端技术来实现。以下是两种常见的方法: 使用 URL 参数传递目标 div 信息 HTML (新页面): 在新页面的链接中,添加参数来指示目标 div 的 id,例如:…

致远M3 Session 敏感信息泄露漏洞复现

0x01 产品简介 M3移动办公是致远互联打造的一站式智能工作平台,提供全方位的企业移动业务管理,致力于构建以人为中心的智能化移动应用场景,促进人员工作积极性和创造力,提升企业效率和效能,是为企业量身定制的移动智慧协同平台。 0x02 漏洞概述 致远M3 server多个日志文…

Vue3自定义指令封装-按钮权限控制v-permission、hasPermissions

背景:平常所接触到的系统权限控制,大部分都是菜单、路由级别的控制,但后台管理系统中,很多操作都是与职责和角色挂钩的,同样一个列表,不同人的操作列并不都一样,有些页面存在一些含有重要数据的…

万物生长大会 | 创邻科技再登杭州准独角兽榜单

近日,由民建中央、中国科协指导,民建浙江省委会、中国投资发展促进会联合办的第八届万物生长大会在杭州举办。 在这场创新创业领域一年一度的盛会上,杭州市创业投资协会联合微链共同发布《2024杭州独角兽&准独角兽企业榜单》。榜单显示&…

MathType2024官方版数学公式编辑器功能全面介绍

在数字化学习和科研的浪潮中,数学公式的编辑与展示成为了不可或缺的一部分。MathType,作为一款专业的数学公式编辑器,凭借其强大的功能和便捷的操作,为科研人员、教师、学生等广大用户提供了极大的便利。下面,我们将对…

基于.NET WinForms 数据CURD功能的实现

使用开发工具 VS 2022 C#,数据库MS SQL SERVER 2019 ,基于NET WinForms,实现数据记录的创建(Create)、更新(Update)、读取(Read)和删除(Delete)等功能。主要控件包括:DataGridView,SqlDataApater , DataTab…

字符以及字符串函数

字符以及字符串函数 求字符串长度strlen 长度不受限制的字符串函数strcpystrcatstrcmp 长度受限制的字符串函数strncpystrncatstrncmp 字符串查找strstrstrtok 错误信息报告strerror 字符分类函数字符转换函数tolowertoupper 内存操作函数memcpymemmovememcmpmemset 这篇文章注…

软件开发故事 - 我对 CTO 撒谎并挽救了项目

原文:GrumpyOldDev - 2024.04.18 这是几年前的事情了。还记得在我职业生涯的初期,父亲曾告诉我,做好工作往往意味着要在上司的阻碍下做好需要做的事情。他的意思是,你可以让上司成功并感到快乐;也可以让上司做每一个决…

Linux的编译器

程序编译的过程 程序的编译过程是将源代码转换为可执行文件的一系列步骤。这个过程涉及多个阶段,主要包括预处理、编译、汇编和链接。下面详细介绍每个阶段: 1. 预处理(Preprocessing) 在实际编译之前,源代码文件首…

让云上用户拥有安全感 可信或成云服务器标配安全能力之一!

什么是虚拟主机 虚拟主机就是利用网络空间技术,把一台服务器分成许多的“虚拟”的主机,每一台网络空间都具有独立的域名和IP地址,具有完整的Internet服务器功能。网络空间之间完全独立,在外界看来,每一台网络空间和一台…

gpustat 不能使用问题

突然间就不能用了,可能是环境出了问题,如果GPU没问题的话,那么换个环境重新安装试一下(pip install gpustat),目前是换个环境就可以了(做个笔记)

【神器来袭】快速解放双手,朋友圈自动转发工具,告别繁琐操作!

朋友圈作为一个重要的营销推广渠道,如果能实现自动转发,那对于很多企业或个人来说,是极好的。下面,就给大家分享一个实用且便捷的朋友圈运营工具——个微管理系统,让大家都能快速推广。 1、多账号登录,定时…