【生意多】-免费发布分类信息
当前位置: 首页 » 新闻 » 教程 » 正文

《UNIX环境高级编程》阅读笔记

放大字体  缩小字体 发布日期:2020-06-21 10:33:27    浏览次数:6
导读

  授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!  授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。  在《原力计划【第二季】》打卡挑战活动中,成功参与本

  授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!

  授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。

  在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。

  2、用户可以设置umask值以控制他们所创建文件的默认权限。该值表示成八进制数,一位代表一种要屏蔽的权限。

  1、函数atexit,一个进程可以登记多至32个函数,这些函数将由exit自动调用。我们称这些函数为终止处理程序,并调用atexit函数来登记这些函数。

  2、C程序的存储空间布局:(1)正文段、即代码段、存放指令可共享(2)初始化段、在代码中初始化的全局变量。(3)未初始化段、代码中未初始化的全局变量,有内核初始化为0或空指针。(3)堆、动态分配空间。(4)栈、自动变量以及每次函数调用时所需保存的信息都存放在此段。栈和堆的增长方向相反。参考:Linux下C程序的存储空间布局

  4、虽然sbrk可以扩充或缩小进程的存储空间,但是大多数malloc和free的实现都不减少进程的存储空间。释放的空间可供以后再分配,但将他们保持在malloc池中而不返回给内核。

  5、大多数实现所分配的存储空间比所要求的要稍大一点,额外的空间用来记录管理信息。这意味着,如果超过一个已分配区的尾端或起始位置之前进行写操作,则会改写一些管理信息,这种类型的错误是灾难性的。

  6、环境表(指向实际name=value字符串的指针数组)和环境字符串通常存放在进程存储空间的顶部(栈之上)。并且空间长度不能增加。如果需要更多的空间只能调用malloc重新分配空间,并将environ指向新指针表。

  7、goto语句是不能跨越函数的。但是setjmp和longjmp可以。但是大多数实现并不回滚这些自动变量和寄存器变量的值。

  1、ID为0的进程通常是调度进程,常常被称为交换进程。该进程是内核的一部分。进程ID为1通常是init进程,在自举过程结束后由内核调用。

  3、不管进程如何终止,最后都会执行内核中的同一段代码,这段代码为相应进程关闭所有打开描述符,释放它所使用的存储器。内核为每个终止子进程保存了一定量的信息,所以当终止进程的父进程调用wait或waitpid时,可以得到这些信息。一个已经终止,但是其父进程尚未对其进行善后处理的进程被称为僵死进程。

  》第1章到第20章。读之前的状态大概是只懂一点linux命令行,c语言入门水平。通读的过程大概就是每天早上花1至2个小时,对于书中的一些代码,尽量都照着抄了一遍,写了一些对代码的理解在上面。学习过程中我个人觉得有一些章节读起来就比较枯燥,而有一些章节读起来则津津有味。因为就读了一遍,所以经常会有前面的知......

  (提供服务:执行新程序、打开文件、读文件、分配存储区和获得的当前时间)软件可被看成是内核 其接口被称为 系统调用广义上:操作系统包含 内核 和 系统实用程序 、shell、应用程序、公共函数库等参考 系统实用程序shellshell 是命令解释器,相当于翻译,将指令转换为内核......

  引言main函数是如何被调用的?命令行参数是如何传送给执行程序的?典型的存储器布局是什么样式?如何分配另外的存储空间?进程如何使用

  变量?进程终止的不同方式?main函数main函数的原型是:int main(int argc, char *argv[ ]) ;argc:命令行参数的数目。argv:指向各个参数的指针所构成的数组。进程终止(1) 正常......

  1.文件共享内核使用3种数据结构来表示打开的文件,他们的关系如下:每个进程都有一张进程表项,记录进程打开的文件:fd标志:close_on_exec,若一个文件描述符在close_on_exec中的对应比特、位被设置,那么在执行execve()时该描述符将被关闭,否则该描述符将始终处于打开状态。文件指针:指向文件表。文件表:文件状态标志:read,write...

  不带缓冲:每个read和write都调用内核中的一个系统调用。(open、read、write、lseek、close)。对于内核而言,所有打开的文件都通过文件描述符引用,文件描述符是一个非负整数。在打开一个现有文件或新建一个文件时,内核向进程返回一个文件描述符。0(STDIN_FILENO),1(STDOUT_FILENO),2(STDERR_FILENO)(#includeun......

  fcntl 记录锁很多时候,当我们有多个进程要访问同一个文件的时候,为了防止多进程访问导致的不一致,我们就要考虑进程间的同步问题了。fcntl是一个非常强大的函数,在这里我们可以使用它来给文件的某一个部分上锁。先来看一下它的声明:int fcntl(int filedes, int cmd, ... );很显然,这是一个拥有...

 
关键词: unix环境高级编程
(文/小编)
打赏
免责声明
• 
本文为小编原创作品,作者: 小编。欢迎转载,转载请注明原文出处:https://www.31duo.com/news/show-298735.html 。本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们。
 

(c)2016-2019 31DUO.COM All Rights Reserved浙ICP备19001410号-4

浙ICP备19001410号-4