
Linux
文章平均质量分 94
linux
knoci
Hello World!
展开
-
【Linux系统编程】-信号&进程间通信
定义:异步操作是指在执行一个任务时,调用者不需要等待任务完成,可以继续执行其他操作。特点:非阻塞:调用者在任务执行期间不会被阻塞,可以继续执行其他任务。并发执行:多个任务可以并发执行,提高资源利用率。复杂性:由于任务是并发执行的,可能涉及到并发控制和状态管理,逻辑相对复杂。处理方法:查询法,通知法。原创 2024-08-01 16:34:13 · 785 阅读 · 0 评论 -
【Linux系统编程】-多路IO&套接字
socket提供了`stream` `datagram` 两种通信机制,即流socket和数据包socket,流socket基于TCP协议,是一个有序、可靠、双向字节刘的通道,传输数据不会丢失、不会重复、顺序也不会错乱,数据包socket基于UDP协议,不需要建立和尉迟连接,可能会丢失或错乱。epfd 是 epoll 实例的文件描述符,events 是一个数组,用于接收触发的事件,maxevents 是数组的大小,timeout 是等待时间(单位为毫秒),0 表示立即返回,-1 表示无限等待。原创 2024-08-01 15:22:28 · 778 阅读 · 0 评论 -
【Linux系统编程】-线程
当其他线程通过pthread_cond_signal()或pthread_cond_broadcast,把该线程唤醒,使pthread_cond_wait()通过(返回)时,该线程又自动获得该mutex。该函数用于向指定的线程发送信号。线程的本质就是一个正在运行的函数 ,线程没有主次之分(main函数 也只是一个main线程),多个线程之间共享内存,线程的调度取决于调度器的测略。线程从启动例程返回,返回值就是线程的退出码,线程可以被同一进程的其他线程取消,线程调用`pthread_exit()`函数。原创 2024-07-29 11:00:13 · 931 阅读 · 0 评论 -
【Linux系统编程】-进程
进程(程序)是存储在存储介质(硬盘)上的一段代码,它在运行时被加载到内存空间(RAM)中。CPU会为进程分配一块地址空间,这块地址空间是虚拟的,并且可能与其他进程共享(mmap)。操作系统会将文件的物理扇区映射到进程的虚拟地址空间,而内存管理单元(MMU)负责处理虚拟地址到物理地址的转换。进程通过操作系统提供的API(应用程序编程接口)来执行任务。进程的执行是通过CPU的寄存器来控制的。原创 2024-07-24 12:02:50 · 709 阅读 · 0 评论 -
【Linux系统编程】-文件系统
在操作系统的世界中,文件系统扮演着至关重要的角色,它负责管理磁盘上的数据,提供数据持久化和访问的机制。Linux文件系统,以其强大的灵活性和高性能,成为了许多系统管理员和开发者的首选。本文将从底层角度,深入探讨Linux文件系统的内部工作原理。原创 2024-07-24 11:02:14 · 680 阅读 · 0 评论 -
【Linux系统编程】-标准IO&系统调用IO
缓冲区是一种数据存储机制,用于在数据传输或处理过程中暂存数据,主要作用是合并系统调用,可以通过setbuf更改。原创 2024-07-18 19:35:13 · 1026 阅读 · 0 评论