首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
Unix系统编程()进程和程序
】的更多相关文章
Unix系统编程()进程内存布局
每个进程所分配的内存由很多部分组成,通常称之为"段(segment)". 文本段包含了进程运行的程序机器语言指令.文本段具有只读属性,以防止进程通过错误指针意外修改自身指令. 因为多个进程可同时运行同一程序,所以又将文本段设为可共享,这样,一份程序代码的拷贝可以映射到所有这些进程的虚拟地址空间中. 初始化数据段包含显式初始化的全局变量和静态变量.当程序加载到内存时,从可执行文件中读取这些变量的值. 未初始化数据段包括了未进行显式初始化的全局变量和静态变量. 程序启动之前,系统将本段内所…
Linux系统编程@进程通信(一)
进程间通信概述 需要进程通信的原因: 数据传输 资源共享 通知事件 进程控制 Linux进程间通信(IPC)发展由来 Unix进程间通信 基于System V进程间通信(System V:UNIX系统的一个分支) POSIX进程间通信(POSIX:可移植操作系统接口,为了提高UNIX环境下应用程序的可移植性.很多其他系统也支持POSIX标准(如:DEC OpenVMS和Windows).) 现在Linux使用的进程间通信方式包括: 共享文件 管道(pipe).命名管道(FIFO):只能传输无格式…
《Linux/Unix系统编程手册》读书笔记7 (/proc文件的简介和运用)
<Linux/Unix系统编程手册>读书笔记 目录 第11章 这章主要讲了关于Linux和UNIX的系统资源的限制. 关于限制都存在一个最小值,这些最小值为<limits.h>文件中的常量. 通过cat 命令查看: lancelot@debian:~/Code/tlpi$ cat /usr/include/limits.h /* Copyright (C) 1991, 1992, 1996, 1997, 1998, 1999, 2000, 2005 Free Software Fo…
《Linux/Unix系统编程手册》读书笔记6
<Linux/Unix系统编程手册>读书笔记 目录 第9章 这章主要讲了一堆关于进程的ID.实际用户(组)ID.有效用户(组)ID.保存设置用户(组)ID.文件系统用户(组)ID.和辅助组ID. 实际用户ID决定执行者是谁. 有效用户ID决定该进程执行时获取的文件权限.PS:有效用户ID为0的进程拥有超级用户的所有权限. 认识保存设置用户ID(saved set-user-ID)的时候先来看看设置用户ID(set-user-ID)(对于文件的). 如果可执行文件设置了设置用户ID,当该文件执行…
《Linux/Unix系统编程手册》读书笔记5
<Linux/Unix系统编程手册>读书笔记 目录 第8章 本章讲了用户和组,还有记录用户的密码文件/etc/passwd,shadow密码文件/etc/shadow还有组文件/etc/group. 每个用户都有唯一的用户名和相关的用户标识符(UID).用户可以属于一个或多个组,每个组都有唯一的组名和相关的组标识符(GID). 用户和组的用途为:1.可以确定各种系统资源的所有权:2.对赋予进程访问上述资源的权限加以控制. 首先来看一下密码文件/etc/passwd lancelot@debia…
《Linux/Unix系统编程手册》读书笔记3
<Linux/Unix系统编程手册>读书笔记 目录 第6章 这章讲进程.虚拟内存和环境变量等. 进程是一个可执行程序的实例.一个程序可以创建很多进程. 进程是由内核定义的抽象实体,内核为此实体分配执行程序所需的系统资源. 从内核的角度来看,进程是由用户内存空间和内核数据结构组成的.程序的代码和代码中的变量存放在用户内存空间,内核数据结构用于维护进程状态信息. 对于每个进程都有一个唯一的进程号(进程ID)(正数),用来标识系统中的某个程序. getpid(),返回调用该函数的进程的进程ID. #…
《Linux/Unix系统编程手册》读书笔记1
<Linux/Unix系统编程手册>读书笔记 目录 最近这一个月在看<Linux/Unix系统编程手册>,在学习关于Linux的系统编程.之前学习Linux的时候就打算写关于Linux的学习记录,因为觉得自己学得不好,老是写不出东西.但是现在觉得学习记录应该坚持写,慢慢就会有收获,坚持写才可以锻炼自己的表达能力. <Linux/Unix系统编程手册>这本书的评价很高,但是个人觉得翻译得不太好.其实终究是因为自己的英文阅读能力太差和没什么钱,只能看翻译版.看了接近一个月,…
《Linux/Unix系统编程手册》读书笔记2
<Linux/Unix系统编程手册>读书笔记 目录 第5章: 主要介绍了文件I/O更深入的一些内容. 原子操作,将一个系统调用所要完成的所有动作作为一个不可中断的操作,一次性执行:这样可以避免竞争状态(两个或多个共享资源的进程或线程的运行结果是一个无法预期的顺序). 以独占方式创建一个文件:对文件是否存在的检查和创建文件属于同一个原子操作.防止新建文件的时候因为检查文件是否存在和新建文件之间发生中断(而其他进程也在新建相同文件名的文件),导致两个进程都认为自己是文件的创建者. 向文件尾部追加数…
《Linux/Unix系统编程手册》 时间子系统
Linux下操作系统编程有两本经典APUE即<Advanced Programming in the UNIX Environment>和TLPI<The Linux Programming Interface>,中文版对应<UNIX环境高级编程(第3版)>和<Linux/UNIX系统编程>. TLPI洋洋洒洒英文版1506页,中文版1176页:一共64章节,明显是作为工具书使用.通过目录可以了解本书的结构,以及作者的组织形式. 背景知识及概念:共3章分别介…
《Linux/UNIX系统编程手册》第63章 IO多路复用、信号驱动IO以及epoll
关键词:fasync_helper.kill_async.sigsuspend.sigaction.fcntl.F_SETOWN_EX.F_SETSIG.select().poll().poll_wait()等. <Linux/UNIX系统编程手册>第63章主要介绍了select()/poll().信号驱动IO.epoll三方面,以及他们之间异同.优劣点. 这里准备结合项目中遇到的问题,分两个方向进行归纳总结.一是一个IO模型从测试程序.API.内核实现进行纵向分析:二是横向不同IO模型的优缺…