linux
文章平均质量分 93
酒竹.
这个作者很懒,什么都没留下…
展开
-
进程信号(下)
上文:进程信号(上)-CSDN博客在上篇中,我们讲了关于信号的保存,信号集的操作,那么这篇我们就来看看信号的原理。目录1. 键盘产生信号的原理2. 信号是如何被处理的? 2.1 信号处理的原理 2.2 内核态与用户态2.2.1 内核空间 2.2.2 内核态与用户态的切换 3. 捕捉信号的其他方式 sigaction3.1 函数定义3.2 参数说明3.3 sigaction结构体3.4 sa_flag标志3.5 使用示例 4. 可重入函数 不可重入可重入5. volatile在上篇中,我们讲了信号产生的几种方原创 2024-06-16 14:09:00 · 1136 阅读 · 0 评论 -
进程信号(上)
本节目标:1. 掌握Linux信号的基本概念2. 掌握信号产生的一般方式3. 理解信号递达和阻塞的概念,原理。4. 掌握信号捕捉的一般方式。5. 重新了解可重入函数的概念。6. 了解竞态条件的情景和处理方式7. 了解SIGCHLD信号, 重新编写信号处理函数的一般处理机制。原创 2024-06-05 16:49:35 · 856 阅读 · 0 评论 -
简易进程池的实现
进程池(Process Pool)是一种用于管理和复用多个进程的技术或设计模式。在进程池中,一定数量的进程会被预先创建并保持在内存中,以便在需要时立即使用,而不是每次需要进程时都重新创建新的进程,这样可以提高系统的性能和效率。进程池通常用于需要频繁创建和销毁进程的场景,例如网络服务器等。通过预先创建一些进程并保持它们处于空闲状态,可以避免频繁创建和销毁进程所带来的开销,并且可以更好地控制同时进行的进程数量,以避免系统资源被耗尽。原创 2024-05-25 20:09:31 · 535 阅读 · 0 评论 -
进程间通信(上)
管道是Unix中最古老的进程间通信的形式。我们把从一个进程连接到另一个进程的一个数据流称为一个“管道”。上图就是who进程将信息写入管道,wc-l接收并输出给用户的过程!原创 2024-05-23 14:06:06 · 854 阅读 · 0 评论 -
Linux基础IO(下)--动静态库
我们经常听人说库,有粮库,水库,信息库等,那么在计算机领域的库又是什么呢?我们日常说的库是存储某类或多类资源的地方,而我们要学习的库也是如此。那么计算机领域中的库都有什么呢?:程序在。程序运行的时候将不再需要静态库。:程序在,多个程序共享使用库的代码。一个与,而不是外部函数所在目标文件的整个机器码。(即将库加载到进程中,保存库中所需代码的地址,运行时再去寻找函数)在可执行文件开始运行以前,外部函数的机器码由操作系统从磁盘上的该动态库中复制到内存中,这个过程称为。原创 2024-05-20 21:17:04 · 890 阅读 · 0 评论 -
Linux基础IO(中)
文件系统是一种用于管理计算机存储设备上的数据的方法。它定义了文件和文件夹的组织方式,以及如何访问、存储和管理这些文件。文件系统还负责处理文件的命名、权限控制、数据存储和恢复等功能。常见的文件系统包括FAT、NTFS、ext4等。不同的操作系统支持不同的文件系统,例如Windows通常使用NTFS,而Linux通常使用ext4。原创 2024-04-29 18:48:04 · 788 阅读 · 0 评论 -
Linux--基础IO(上)
文件=内容+属性。常说的对文件进行操作,不仅是对文件内容的读写,也有对文件属性的修改。比如修改文件名称,更新文件最新写入时间等。原创 2024-04-21 13:20:16 · 776 阅读 · 0 评论 -
Linux进程控制
在系统当中查找一个最合适调度的进程的时间复杂度是一个常数,不随着进程增多而导致时间成本增加,我们称之为进程调度O(1)算法!原创 2024-04-01 17:38:37 · 1466 阅读 · 0 评论 -
Linux进程概念(下)
我们可以使用上文中的脚本开启进程监视器,同时使用上文使用的代码来监视父子进程的状态。while :;sleep 1;doneint main()//fork创建子进程,子进程fork返回0,父进程返回pidsleep(2);if(id==0)//子进程int cnt=10;num=999;sleep(1);return 0;监视结果如下,我们看到刚开始两个进程都是睡眠状态??原创 2024-03-29 17:18:35 · 1038 阅读 · 0 评论 -
Linux进程概念(上)
内存是计算机用来存储数据和程序的临时存储器。它通常被称为RAM(随机存取存储器),用于临时存储正在运行的程序和数据,以便CPU能够快速访问和处理这些信息。原创 2024-03-26 20:12:24 · 669 阅读 · 0 评论 -
Linux编译器--gcc/g++的使用
gcc与g++分别是c语言与c++代码的编译器,但同时g++也兼容c语言。我们知道在Linux中,系统并不以文件后缀来区分文件类别。但对于gcc与g++等编译器而言却是需要的。Linux中c代码文件的后缀是.c,c++代码文件的后缀是.cpp(.cc)(.cxx)。在Linux中,我们可以借助如下命令查询gcc/g++的版本如果我们查询失败,显示系统中没有gcc/g++,那么我们可以借助yum工具来进行安装。这里要注意,gcc只能编译c语言代码,而g++同时兼容c/c++。原创 2024-03-19 20:34:51 · 527 阅读 · 0 评论 -
Linux基础开发工具之yum与vim
在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序.但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安装程序)放在一个服务器上, 通过包管理器可以很方便的获取到这个编译好的软件包, 直接进行安装.软件包和软件包管理器, 就好比 "App" 和 "应用商店" 这样的关系.原创 2024-03-13 15:55:36 · 1186 阅读 · 0 评论 -
Linux下的权限
通俗来讲,权限就是能与不能的概念。你能访问某类资源,也就是你对这类的访问具有权限。原创 2024-03-03 16:41:12 · 989 阅读 · 0 评论 -
Linux基本指令(下)
less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看。但若使用了 less 时,就可以使用 [pageup][pagedown] 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。原创 2024-03-01 11:57:03 · 1742 阅读 · 0 评论 -
Linux基本指令(上)
在Linux中,将文件夹称为目录,后面的内容都与目录相关。原创 2024-02-29 15:47:12 · 1274 阅读 · 0 评论 -
linux初识
通俗来讲,Linux是一款操作系统的品类,诸如Debian,centos之类则是具体的Linux操作系统。原创 2023-11-24 21:09:05 · 1051 阅读 · 2 评论