![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux系统编程
talk is cheap, show me the code!
布莱恩特退役写代码
Talk is cheap, show me the code!热爱生活,热爱coding!
展开
-
Linux系统编程:(5)进程凭证
一、进程凭证每个进程都有一套用数字表示的用户ID(UID) 和组ID(GID),有时将这些ID称之为进程凭证,具体如下图所示:1. 实际用户ID和组ID实际用户ID和组ID确定了进程所属的组,标识我是谁。2.有效用户ID和有效组ID当进程尝试执行各种系统调用的时候,将结合有效用户ID、有效组ID及辅助ID来确定赋予进程的权限。例如,当进程访问一些文件、进程间通信对象之类的系统资源时,...原创 2020-01-04 17:36:42 · 260 阅读 · 0 评论 -
Linux系统编程:(4)用户与组、密码加密与认证
一、用户与组在讨论进程凭证之前,我们先来搞清楚用户与组的概念。每个用户都拥有一个唯一的用户名和一个与之相关的数值型用户标识符(UID),一个用户可以隶属于一个或者多个组。每个组也都有唯一的名称和一个组标识符(GID)。用户与组的主要用途包括以下两个方面:确定各种系统资源的所有权 和 对赋予进程访问上述资源的权限加以控制。1. 密码文件:/etc/passwd针对系统中每个用户账号,系统密码...原创 2020-01-03 11:36:38 · 550 阅读 · 0 评论 -
Linux系统编程:(3)进程内存分配
一、堆内存分配进程在运行期间可以通过增加堆(heap)的大小来为进程分配内存,在进程的内存布局中,堆是一段大小可变的连续虚拟内存,始于BSS段的末尾,随着内存的分配和释放而增减。和栈有自己的指针指向栈顶一样,堆也有指向堆边界的“program break”。1.List item调整program break:brk()和sbrk()改变堆的大小,其实就是内核改变program break...原创 2019-12-31 12:37:39 · 470 阅读 · 0 评论 -
Linux系统编程:(2)进程与进程内存布局
一、进程定义进程是一个可执行程序的实例;从内核角度看,进程由用户内存空间和一系列内核数据结构组成,其中用户内存空间包含了程序代码及代码所使用的变量,而内核数据结构则用于维护进程状态信息,记录在内核数据结构中的信息包括如下:与进程相关的标志号(IDs)虚拟内存表打开文件的描述符表信号传递及处理的有关信息进程资源使用及限制当前工作目录大量其他信息运行进程相关的信息均在/proc/...原创 2019-12-30 21:01:35 · 224 阅读 · 0 评论 -
Linux系统编程:(1)文件I/O
一、文件操作I/O1fd = open(pathname,flags,mode)打开文件返回文件描述符flag指定打开方式及一些限制,mode指定文件访问权限2numread = read(fd,buffer,maxszie)读文件自动更新文件偏移量3numwrite = write(fd,buffer,maxszie)写文件自动更新文件偏移...原创 2019-12-27 12:59:31 · 173 阅读 · 0 评论