
Linux
文章平均质量分 94
linux的学习之路
清源妙木真菌
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Linux:页表详解(虚拟地址到物理地址转换过程)
在我们之前的学习中,我们对于页表的认识仅限于虚拟地址到物理地址转换的桥梁,然而对于具体的转换实现以及更多页表实现的细节还是有认知模糊的,以下便详细解释页表的构成和功能提示:以下是本篇文章正文内容,下面案例可供参考进程虚拟地址和物理内存的解耦在二级页表中,每个页表条目记录的是页面(page)的位置,未加载的页面会存储为null。当程序的数据没有加载到某个页面时,CPU查找时就会发生“未命中”情况。这意味着,CPU在查找物理内存时,不关心页面的内容,只关心该页面是否存在。原创 2025-04-06 18:01:10 · 1269 阅读 · 3 评论 -
Linux:进程信号
在操作系统中,进程信号(Signal) 是一种用于通知进程发生特定事件的通信机制,常用于进程间通信(IPC)、异常处理或系统控制。我们将根据以下顺序阐述信号。同步:任务按顺序执行,前一个任务完成后,才能执行下一个任务。执行流程是阻塞的(Blocking)。类比:在餐厅点单,服务员必须等厨师完成当前菜品后,才能处理下一个订单。异步:任务触发后不等待完成,继续执行后续代码,任务完成后通过回调、事件或Promise通知结果。执行流程是非阻塞的(Non-blocking)。原创 2025-04-03 17:41:34 · 1742 阅读 · 4 评论 -
Linux:进程间通信
进程间通信其实就是让不同进程看到同一份资源的思想,然后设计不同的模式或者数据结构来达到这一目的由于进程地址空间的独立性设计,我们在面对下面情况时需要一种机制来实现进程间的交互,这便是进程间通信的目的数据传输:⼀个进程需要将它的数据发送给另⼀个进程资源共享:多个进程之间共享同样的资源。通知事件:⼀个进程需要向另⼀个或⼀组进程发送消息,通知它(它们)发⽣了某种事件(如进程终⽌时要通知⽗进程)。进程控制:有些进程希望完全控制另⼀个进程的执⾏(如Debug进程),此时控制进程希望能够。原创 2025-03-22 18:40:04 · 1386 阅读 · 2 评论 -
Linux:ELF文件&&动静态库的加载和形成
ELF是一种文件格式的名称ELF(Executable and Linkable Format)是Linux和其他类Unix系统中用于可执行文件、目标文件、共享库(动态链接库)和核心转储(core dumps)的标准文件格式。它定义了程序在存储和运行时的结构,是理解程序编译、链接和加载过程的关键。这篇博客是博主时隔三个多月再次恢复的博客写作,仍有诸多欠缺,希望看到这篇博客的小伙伴能一起坚持下学习和进步。原创 2025-03-09 15:26:22 · 1144 阅读 · 0 评论 -
Linux:内存文件 && 基础io
文件是操作系统中用于存储数据和信息的基本单位。它可以是任何形式的数据集合,包括但不限于文本、图像、音频、视频、程序代码等。在操作系统中,文件通常被组织在目录(或文件夹)结构中,以便于用户和管理员进行查找、访问和管理。原创 2024-12-02 16:34:37 · 1851 阅读 · 0 评论 -
Linux:Ext系列文件系统
提示:以下是本篇文章正文内容,下面案例可供参考本文总结了磁盘的物理结构,并抽象为软件层面上的结构,并将这个结构拆分为若干数据结构进行讲解。原创 2024-12-05 14:09:27 · 1389 阅读 · 0 评论 -
Linux:程序地址空间初步了解
程序地址空间包含了程序所需的所有内存区域,这些区域包括代码段、数据段(包括已初始化和未初始化的数据)、堆(heap)、栈(stack)等。每个进程都有自己独立的程序地址空间.。代码段:存放程序的机器指令。这些指令在程序执行期间被CPU读取并执行。数据段:存放程序中已初始化的全局变量和静态变量。这些变量在程序执行期间被程序访问和修改。未初始化数据段(BSS段):存放程序中未初始化的全局变量和静态变量。这些变量在程序执行前由操作系统初始化为零。堆(heap):用于动态分配内存的区域。原创 2024-11-21 11:42:32 · 674 阅读 · 0 评论 -
Linux:进程控制
前面我们已经掌握了基本的进程概念,从冯诺依曼结构->进程概念->进程优先级和切换->环境变量->虚拟地址的初步了解,本文将来进一步了解其中一些进程发生过程中的细节实现,并说明如何使用一个进程本文主要对进程概念做进一步的了解和并初步使用。原创 2024-11-26 22:12:18 · 1327 阅读 · 3 评论 -
Linux:进程的优先级 && 进程切换
在linux或者unix系统中,⽤ps ‒l 命令则会类似输出以下⼏个内容:我们很容易注意到其中的⼏个重要信息,有下:• UID : 代表执⾏者的⾝份• PID : 代表这个进程的代号• PPID :代表这个进程是由哪个进程发展衍⽣⽽来的,亦即⽗进程的代号• PRI :代表这个进程可被执⾏的优先级,其值越⼩越早被执⾏默认为80• NI :代表这个进程的nice值虽然一般情况下我们是不需要调整优先级的,不过我们仍然需要了解如何调整优先级。使用下面的命令都需要管理者的身份。⽤top命令更改已存在进程原创 2024-11-17 16:03:18 · 2986 阅读 · 1 评论 -
Linux:进程状态
本文将介绍如何利用系统调用来在创建进程,并进一步了解进程的状态,以及相对应延伸出来的僵尸进程和孤儿进程等知识点我们在函数内部使用fork时它会创建一个子进程,并且它会返回两个pid_t类型值(实际上就是整形),子进程的pid会返回给父进程,0会返回给子进程,创建错误返回-1。而返回两个值的具体的实现方法主要依赖于操作系统的进程管理和上下文切换机制(当前不做过多赘述,只需要知道有这个东西就好了)。并且由task_struct链表形式可知每个进程都是具有独立性的!当他返回两个值的时候我们就可以根据if。原创 2024-11-16 15:54:58 · 1019 阅读 · 1 评论 -
Linux:进程概念
• 课本概念:程序的⼀个执⾏实例,正在执⾏的程序等• 内核观点:担当分配系统资源(CPU时间,内存)的实体。但这些观念都是建立在已经理解的基础上描述出来的,对于初学者一头雾水,所以本文将尽可能描述清晰其概念。本文主要介绍了进程的一些基本概念,并展示了一些查看进程的方式,以及bash的概念。原创 2024-11-13 19:51:01 · 1263 阅读 · 0 评论 -
Linux:调试器 gdb/cgdb 的使用
本文主要讲解如何在Linux环境下面来对代码进行调试本文主要介绍了gdb的一些指令方便使用的时候查看。原创 2024-11-09 18:06:21 · 890 阅读 · 0 评论 -
Linux:git的了解和基础使用(保姆级教程)
本文主要介绍了linux环境下的git基础操作。原创 2024-11-08 16:23:49 · 1553 阅读 · 0 评论 -
linux的环境安装
本篇内容将会简单梳理Linux的发展历史,然后讲解本人如何安装Linux的环境以及遇到的一些问题和解决方法,如果对发展史不敢兴趣可以直接跳到二:云服务器环境安装例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。原创 2024-08-07 21:24:14 · 1224 阅读 · 0 评论