
Linux学习(转载)
文章平均质量分 83
转载学习
炫酷的伊莉娜
C/C++领域新星创作者、阿里云专家博主、入围2023年博客之星。大学本科在读,计算机科学与技术专业,致力于C/C++方向的学习。一步一个脚印,查漏补缺,努力提升自己,记录学习过程。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Apache 与 Nginx 网络模型
Nginx的高并发得益于其采用了epoll模型,与传统的服务器程序架构不同,epoll是linux内核2.6以后才出现的。下面通过比较Apache和Nginx工作原理来比较。传统Apache都是多进程或者多线程来工作,假设是多进程工作(prefork),apache会先生成几个进程,类似进程池的工作原理,只不过这里的进程池会随着请求数目的增加而增加。对于每一个连接,apache都是在一个进程内处理完毕。具体是 recv(),以及根据 URI 去进行磁盘I/O来寻找文件,还有 send()都是阻塞的。转载 2024-05-31 14:51:17 · 127 阅读 · 0 评论 -
epoll 的惊群效应
在多线程或者多进程环境下,有些人为了提高程序的稳定性,往往会让多个线程或者多个进程同时在 epoll_wait 监听的 socket 描述符。当一个新的链接请求进来时,操作系统不知道选派那个线程或者进程处理此事件,则干脆将其中几个线程或者进程给唤醒,而实际上只有其中一个进程或者线程能够成功处理 accept 事件,其他线程都将失败,且 errno 错误码为 EAGAIN。这种现象称为惊群效应,结果是肯定的,惊群效应肯定会带来资源的消耗和性能的影响。转载 2024-05-31 11:03:50 · 393 阅读 · 0 评论 -
Linux dig 命令使用方法
dig 是一个很给力 DNS 查询工具,本文仅介绍了其常见用法,更多的命令选项及使用方法请查看 man page。转载 2024-05-23 13:06:44 · 173 阅读 · 0 评论 -
【Linux 网络】TCP/IP 四层模型和 OSI 七层模型的概念
TCP/IP 是一组协议的代名词,它还包括许多协议,组成了 TCP/IP 协议簇。TCP/IP 协议簇分为四层,IP 位于协议簇的第二层(对应 OSI 的第三层),TCP 位于协议簇的第三层(对应 OSI 的第四层)。TCP/IP 通讯协议采用了 4 层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。转载 2024-05-05 14:18:51 · 675 阅读 · 1 评论 -
【Linux】Ptrace -- 详解
所有这一切的背后都隐藏着 Linux 所提供的一个强大的系统调用 ptrace()。转载 2024-02-06 16:34:14 · 1317 阅读 · 2 评论 -
【Linux】Linux 的进程优先级 NI 和 PR
NICE 值应该是熟悉 Linux/UNIX 的人很了解的概念了,它是反应一个进程“优先级”状态的值,其取值范围是 -20至19,一共 40 个级别。转载 2024-02-06 15:18:39 · 274 阅读 · 0 评论 -
【Linux】Linux 中进程控制块 PCB —— task_struct 结构体结构
在 Linux 中每一个进程都由 task_struct 数据结构来定义。当我们调用 fork() 时,系统会为我们产生一个 task_struct 结构。然后从父进程那里继承一些数据,并把新的进程插入到进程树中,以待进行进程管理。因此了解 task_struct 的结构对于我们理解任务调度(在 Linux 中任务和进程是同一概念)的关键。因为每一个 PCB 都是这样的,只有这些结构才能满足一个进程的所有要求。打开开 /include/linux/sched.h 可以找到 task_struct 的定义。转载 2024-02-06 09:40:01 · 486 阅读 · 1 评论