![](https://img-blog.csdnimg.cn/7de2257382a246f48b71aff76eb9e611.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Linux经典收录
文章平均质量分 89
本专栏收录博主所有Linux相关知识
独享你的盛夏
非科班大二在读,阿里云博客专家,致力于C/C++后端研发。乐于分享成长过程中的芝麻,欢迎相互交流。
展开
-
Linux文件:缓冲区、缓冲区刷新机制 | C库模拟实现
我们可以快速向缓冲区中写入数据,然后通过一定的刷新方式。将数据从语言级别的缓冲区中拷贝到内核缓冲区。下面我们调用3个常见的C库函数和一个系统调用,都向显示器文件中进行写入。对于文件的IO等操作,用户可以直接通过系统调用直接向操作系统进行读操作和写操作。缓冲区可以暂存数据,必定存在一定的刷新机制。的原因在于:系统调用在语言之下,数据不是向语言基本的缓冲区中写入;此时数据属于操作系统,不在属于进程!同时由于缓冲区的存在,我们可以积累一定的数据后在统一发生,C所提供的缓冲区是二次加上的,由C本身所提供!原创 2024-05-23 20:46:19 · 710 阅读 · 3 评论 -
Linux文件:重定向底层实现原理(输入重定向、输出重定向、追加重定向)
在Linux中,操作系统会为每一个文件创建对应的描述结构体对象。该结构体中一定存在3个部分:打开文件的所有属性、文件的操作集、文件缓冲区(内存)。其中由于冯诺依曼体系决定了,无论对文件进行读操作还是写操作,都需要先将数据加载到文件缓存区!我们在应用层进行对数据读写的操作本质上是用户缓冲区和内核数据缓冲区之间的相互拷贝!!!原创 2024-05-15 23:06:49 · 1034 阅读 · 4 评论 -
Linux:文件、fd
文件 = 内容 + 属性所有对文件的操作本质上就分为:对内容的修改和对属性的修改。内容是数据,属性也是数据。所以存储文件,必须同时存储文件相关的数据信息和属性信息。默认情况下文件存储在磁盘中,但由于冯诺依曼体系,CPU只能从内存中获取文件信息,对文件进行操作。所以当进程打开文件时,OS需要先将文件信息加载到内存中,在被CPU调度执行对文件进行操作!!一个进程可以打开多个文件,多个进程也可以打开同一个文件。所以当文件被加载到内存时,被打开的文件可能存在多个。操作系统需要对这些文件进行管理。原创 2024-05-15 19:21:39 · 1005 阅读 · 0 评论 -
进程并发究竟是如何进行进程切换的?Linux内核原理解析
实时操作系统(Real Time Operating System,简称RTOS)是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统做出快速响应,调度一切可利用的资源完成实时任务,并控制所有实时任务协调一致运行的操作系统。此时操作系统会在进程被剥离前,将当前进程的运行相关信息保存到PCB中,然后将该进程的PCB从活跃队列中移除,加载到过期队列。至于新产生的需要被调度的进程,则是直接添加到过期队列中。活跃进程、过期进程。原创 2024-04-06 10:50:22 · 1488 阅读 · 5 评论 -
Linux:进程等待究竟是什么?如何解决子进程僵尸所带来的内存泄漏问题?
一、进程等待的概念二、进程等待存在的意义三、如何进行进程等待3.1 wait()是实现进程等待3.2 waitpid()实现进程等待四、获取子进程status实现机制五、阻塞等待和非阻塞等待5.1 阻塞等待5.2 非阻塞等待(非阻塞 + 轮询方案)六、非阻塞轮询方案示例演示原创 2024-04-06 10:46:45 · 2910 阅读 · 95 评论 -
Linux: 进程优先级
在计算机中,CPU的个数是有限的(大部分都是一个),并且在同一时间内CPU只能调度执行一个进程。CPU的资源严重不足,必然衍生出进程竞争,即进程优先级。PRL表示进程的优先级,数字越小,进程优先级越高,一般情况下PRL默认80。NI表示进程的nice值,用于调整PRL的大小。PRL越小,进程被调度的优先级越高。但操作系统作为一款管理进程(功能之一)的软件,OS在调度进程时,需要较为均衡的让每一个进程都被调度。进程优先级是操作系统用于确定进程执行顺序的一个参数,它反映了进程在CPU资源分配中的先后顺序。原创 2024-03-31 18:16:09 · 646 阅读 · 0 评论 -
Linux: 进程地址空间究竟是什么?进程地址空间存在意义何在?
一、内存究竟是什么?分为哪些?二、内存是真实物理空间?三、进程地址空间(虚拟地址)3.1 为何同一个变量地址相同,保存的数据却不同?四、为什么需要地址地址空间和页表的存在?4.1 真实内存无序便有序4.2 进行内存安全检查4.3 进程管理和内存管理藕接五、其他细节问题5.1 操作系统如何获取进程页表相关信息5.2 操作系统如何确定内存中是否分配空间、是否存在内容?原创 2024-03-31 18:14:06 · 2919 阅读 · 69 评论 -
LInux: fork()究竟是如何工作的?为何一个变量能够接受两个返回值?
LInux: fork()究竟是如何工作的?为何一个变量能够接受两个返回值?为何需要创建子进程。fork底层实现机制解析原创 2024-03-30 19:56:04 · 1359 阅读 · 0 评论 -
Linux: 僵尸进程究竟是什么?有什么危害?
僵尸进程是什么?为什么会产生僵尸进程?有什么危害?原创 2024-03-28 15:51:24 · 574 阅读 · 5 评论 -
冯诺依曼体系究竟是什么?
数据必须先传到存储区(即内存中),CPU在通过从存储器中读取数据,并将处理后的结果先返回给存储器,在通过存储器将结果传给输出设备。这样做的意义在于,由于CPU和输入设备、输出设备的运行速度差距还是挺大的,在CPU处理某个任务时,我们可以提前将下一个任务所所需要的数据通过输入设备先加载到存储器中,待CPU处理完当前任务后,可以立即从存储器中获取数据。在计算机启动并打开QQ时,操作系统和QQ两个软件会加载到内存,在QQ中输入“你好”,实际上是输给内存(存储器)。运算器和控制器,即CPU中,通常为。原创 2024-03-28 15:48:54 · 1038 阅读 · 0 评论 -
进程状态究竟是什么?在Linux操作系统中具体存在哪些进程状态?
;进程状态在操作系统中分为为:新建状态、就绪状态、阻塞状态、挂起状态以及结束状态。但在每一款具体的操作系统中,进程状态多存在差异,并非完全对应.。比如在Linux中分为僵尸进程、孤儿进程、前台进程、后台进程、以及睡眠状态等等原创 2024-03-26 18:12:12 · 1678 阅读 · 31 评论 -
操作系统究竟是什么?在计算机体系中扮演什么角色?
操作系统是一款进行软硬件资源管理的软件。操作系统通过将软硬件资源管理好(手段),从而给用户提供一个良好(稳定、高效、安全)易用的使用环境(目的)。操作系统是如何管理软硬件资源?在计算机体系中扮演什么角色?如何给操作用户提供一个良好易用的使 用环境?原创 2024-03-25 06:25:43 · 1943 阅读 · 9 评论 -
Linxu自动化构建工具make/Makefile究竟时什么?
在一个大型工程中,源文件不计其数。按照文件类型、功能、模块不同,放在不同的目录下。但哪些文件先编译,哪些文件后编译,哪些文件需冲重新编译,甚至更为复杂的功能操作,如果依靠程序员自身来控制,不仅效率低下,而且极其容易出错!为此,自动化构建工具诞生 —— make/MakefileMakefile(或makefile)是一个脚本文件;而make是一个命令工具,用于解释Makefile中的指令。原创 2024-03-03 23:15:40 · 2216 阅读 · 45 评论 -
Linux:vim调试工具gdb | 常见命令集
linux发布的程序由debug和release两个版本,但在Linux环境下生成的程序默认为release版本。但一份代码需要被调试,该代码的发布模式必须是debug。所以在在使用g++编译代码时,需要额外增加。回车会接着打印源代码。原创 2024-03-02 07:30:00 · 895 阅读 · 4 评论 -
Centos7:自动化配置vim | suoders信任列表添加普通用户
vim配置的核心则是将我们需要的配置选项添加保存到该文件文件中即可!vim在启动时,会自动扫描当前家目录下的。注意我们是在普通用户下配置vim,而在接下来的脚本配置中,存在。然后输入root密码即可,然后脚本开始配置了,只需耐心等待即可。文件,该文件是系统中公共的vim配置文件,对所有用户都成立。但由于原生的vim功能不全,我们可以通过安装插件来完善功能。但首次一般不存在该文件,需要手动。文件,让其中的配置选项生成。切换到root账号,然后输入。的隐藏文件,该文件则是自己。指令,强制保存退出即可。原创 2024-02-28 12:15:10 · 1302 阅读 · 4 评论 -
Vim 模式切换 | 命令集
vim是一款历史悠久的多模式文本编辑器,在不同模式下有不同的功能。但实际开发过程中,主要有以下5中模式。在末行模式中,我们可以进行文件的保存和退出,文件替换、查找字符串和列出行号等操作。即可进入替换模式,此时新输入的文本将直接替代/覆盖已经存在的内容,直至点击。要进行文字输入,vim必须从命令行模式切换到插入模式。Vim默认模式为命令模式,该模式主要用于。而由视图模式回退命令模式只需无脑。由命令模式切换到视图模式只需。切换到视图模式,然后通过。切换到视图模式,然后通过。数字(n) + dd。原创 2024-02-22 23:20:17 · 2935 阅读 · 12 评论 -
Linux: yum查看、安装、删除软件包
Linxu: yum 搜索查找、安装、删除软件包,及相关操作动画演示。原创 2024-02-22 12:10:29 · 1999 阅读 · 4 评论 -
Linux入门指南:linux权限究竟是什么?和文件有什么关系?
一、Linux权限概念普通用户和超级用户间的切换:二、Linux权限管理2.1 文件访问者的分类(角色)2.2 .文件类型和访问权限(事物属性)2.2.1文件类型2.2.2 基本权限2.3 文件权限值的表示方法2.3.1 字符表示方法2.3.2 8进制数值表示方法三、.文件访问权限的相关设置方法3.1 chmod3.2 chown3.3 chgrp3.4 umask四、file指令五、目录的权限和粘滞位原创 2023-12-10 08:00:00 · 2743 阅读 · 13 评论 -
Linux常用命令笔记大全(建议收藏!!)
ls 指令、pwd命令、cd 指令、touch指令、mkdir指令、rmdir指令 && rm 指令、man指令、cp指令、mv指令、cat 指令、more指令、less指令、head指令、tail指令、时间相关的指令、Cal指令、 find指令、grep指令原创 2023-10-09 23:21:59 · 6507 阅读 · 226 评论 -
天选之子Linux是如何发展起来的?为何对全球IT行业的影响如此之大?
本篇文章首先一图给出了Linux的发展背景。然后依次介绍了UNIX、Linux发展史、以及开源相关内容。最后就是Linux在全球企业中的引用和地位以及发行版本。原创 2023-09-30 13:18:06 · 4387 阅读 · 117 评论