Linux
文章平均质量分 95
桀桀桀桀桀桀
专注于C/C++,后续会逐渐更新相关的文章,还会有数据结构/Linux系统等文章。
展开
-
Linux中的System V通信标准--共享内存、消息队列以及信号量
关于 System V 标准,一共有三种通信方式,分别为:共享内存、信号量和消息队列三种通信方式。本篇将较为详细的讲解三种通信方式的实现原理,以及介绍在 Linux 系统下调用这三种的通信方式的接口,其中以共享内存为例,较为详细的讲解和用代码实现这种通信方式。 最后我们得出这三种通信方式存在很大的共同点,以及总结了操作系统对这三种通信方式的管理。原创 2024-07-23 20:36:27 · 1027 阅读 · 2 评论 -
Linux中进程间通信--匿名管道和命名管道
本篇将会进入 Linux 进程中进程间通信,本篇简要的介绍了 Linux 中进程为什么需要通信,进程间通信的常用方式。然后详细的介绍了 Linux 进程间的管道通信方式,管道通信分为匿名管道和命名管道,本篇分别介绍了其实现的原理,以及使用 Linux 中的系统调用,用代码实现了这两种通信方式。 还详细的介绍了关于管道通信的五种特征和四种情况。原创 2024-07-19 19:54:19 · 1099 阅读 · 0 评论 -
Linux进程替换 && 自主shell程序
本篇将要讲解有关进程中最后一个知识点——进程替换,其中主要介绍有关进程替换的六个函数,直接从函数层面来理解进程替换(在使用函数的过程中,也会对进行替换进行解释)。本篇原创 2024-06-03 09:49:33 · 1810 阅读 · 0 评论 -
Linux进程控制
本篇将较为全面的介绍的 Linux 中的进程控制,其中主要分为三个模块:fork 创建进程、进程终止以及进程的等待。其中关于进程的终止包含如何终止进程、进程退出的三种状态,以及进程的异常退出。最后讲解了进程的等待方法,其中包括阻塞等待和非阻塞等待。原创 2024-05-27 14:06:25 · 1753 阅读 · 0 评论 -
Linux进程地址空间
本篇首先抛出了为什么同一个地址空间的变量值会不一样的问题,然后就此问题对虚拟地址和写时拷贝进行了简单的介绍,接着又深入地址空间的组织形式,在这里进一步的探讨了虚拟地址,然后又探讨了页表和写时拷贝的组织形式。最后介绍了 Linux 中内核调度队列,在这真正的从底层探讨了进程在 Linux 中的调度形式。原创 2024-05-20 12:44:46 · 1310 阅读 · 0 评论 -
Linux环境变量
本篇将进入到 Linux 中的环境变量。首先我们将会联系 main 函数中的参数来讲解命令行参数,首先先讲解了 main 函数中的两个参数 argc 和 argv,接着介绍了本篇的核心——环境变量,详细的讲解了如何使执行程序的时候,不带路径的方法,介绍了获取环境变量的三种方法,同时得出了 main 函数中的第三个参数:env,最后介绍了 Linux 中的内建命令。最后介绍了 shell 程序中的内建命令。原创 2024-05-13 08:55:49 · 1851 阅读 · 0 评论 -
Linux进程状态与优先级
本篇详细的讲解了 Linux 中进程会出现的各种状态,以及出现这些状态的原因,其中进程的阻塞、挂起和运行就是进程状态的体现。接着科普了一下进程的切换,然后讲解了进程的优先级,以及如何调整进程的优先级。最后对进程的特点进行了总结。原创 2024-05-06 08:49:34 · 2033 阅读 · 4 评论 -
Linux进程基础概念&子进程的创建
有着上一节我们对操作系统和冯诺依曼体系结构的理解,本篇我们便可以开始对 Linux 中的进程开始讲解。在本篇中对进程的基本概念进行了简单的介绍,然后通过对描述进程的 PCB,与 Linux 中的 task_struct 的详细讲解,使得对进程的概念有了一个更加详细的理解。然后接着又介绍了 task_struct 中的内部属性 pid 与 ppid(剩下的 task_ struct 内部属性将会在后面的文章给出),接着还介绍了进程的创建方式和子进程的创建,最后介绍了 proc 查看当前进程信息数据。原创 2024-04-29 14:12:09 · 1619 阅读 · 0 评论 -
Linux操作系统&冯诺依曼结构
从本篇开始,我们将进入 Linux 的进程篇章,但是我们将在进行对进程进行讲解前,我们先需要铺垫一些知识。所以我们将较为详细的讲解计算机中的基础常用体系——冯诺依曼体系,接着讲解有关整个操作系统的知识,先从操作系统开始讲起,然后向操作系统的下层讲解,将接完操作系统的下层之后,最后开始讲解操作系统的上三层,从中我们得出一个结论:操作系统存在的意义:对软硬件进行管理(手段),为用户提供良好(高效、稳定、安全的)的运行环境(目的)。原创 2024-04-22 14:16:53 · 1649 阅读 · 0 评论 -
Linux环境基础开发工具使用——gcc/g++、make/makefile and gdb
本篇将主要介绍三个 Linux 环境基础开发工具,gcc/g++、make/makefile and gdb。其中在介绍 gcc/g++ 的使用时,重点讲解了生成可执行文件的四个步骤:预处理、编译、汇编和编译,然后介绍了 gcc/g++ 的常用指令。介绍 make/makefile 的时候,我们分别介绍了 makefile 文件内部的原理、执行顺序、其中的内置符号以及在 makefile 中可以定义的变量。最后对于调试器 gdb 的使用,详细的介绍了 gdb 中常用的指令。原创 2024-04-01 13:15:34 · 1578 阅读 · 0 评论 -
Linux环境基础开发工具使用——yum and vim
本篇将会介绍平时在Linux中开发常用到的一些工具,其中包括:软件包管理器 — yum,Liunx中的开发工具。具体的介绍了 yum 的相关操作以及 yum 源,同时还介绍了 windows与虚拟机如何进行的关联。然后对Liunx中的开发工具进行了详细的介绍,还详细的介绍了 vim 中的快捷命令集。原创 2024-03-25 14:05:59 · 1780 阅读 · 0 评论 -
Linux文件权限
本篇首先先介绍了Liunx中的shell指令,概述了为什么存在shell,以及shell的作用。接着开始详细介绍本篇的主要内容:权限,其中包括文件的权限和目录的权限。以及围绕权限开展的一些相关知识,如文件的所有者、所属组及其他用户,umask文件掩码,Linux中用户的切换、设置粘滞位、文件权限管理……原创 2024-03-04 09:02:26 · 1860 阅读 · 0 评论 -
Linux常见基本指令
本文将详细的介绍Linux中各常见指令的用法,并且在每个指令都有使用样例。一共有以下指令:1. man指令2.目录基础指令:2.1 pwd指令、2.2 ls指令、2.3cd指令 3.文件创建与删除:3.1 touch指令、3.2mkdir指令、3.3 rmdir 指令 && rm 指令4.文件修改指令:4.1 cp 指令、4.2 mv 指令5.文件查看指令:5.1 cat 指令、5.2 more 指令、5.3 less 指令、5.4 head 和 less 指令;date、cal、find、grep等原创 2024-02-20 22:51:00 · 3951 阅读 · 0 评论