UNIX环境编程初步认识——进程



前段时间学习了一些关于进程的一些知识,其中分为了三个部分:进程环境、进程关系、进程控制。下边是我做的思维导图和相关理解。由于缺乏实践,对于其中很多地方理解的还不够深入。

思维导图:

进程环境:

1、启动/终止:关于进程的环境,首先是对于进程整个环境的总体认识,通过分析C语言的启动和终止,讲解了关于进程是如何启动和终止的。2、环境表:说明了对于每个程序都会收到一张环境表。3、空间分配:对于空间分配,其中包括:对C程序中关于存储空间的布局安排,共享库的由来和执行方法,一些关于存储空间分配的函数应用及其不同作用。4、环境变量:深入认识了关于环境变量的应用,同时学习了两组函数的应用,分别是:关于跨函数的跳转以及用与查询和修改进程资源限制的函数。

进程控制:

1、进程标识:每一个进程都有一个唯一的进程ID,称为进程标识,对进程的控制都需要以该标识作为相应依据;2、新进程:分析了有关一个新进程的创建过程及其相关函数的运用,新进程的执行需要首先创建一个子进程再通过调用exec来执行一段程序完成。3、终止:同时在这一部分再一次分析关于进程的终止过程和终止过程。4、获取信息:讲解了有关进行信息获取的函数,每一个进程都有自己的相应属性信息,其中包括有关进程的状态信息、进程的相关时间信息,进程使用的资源概况,运行程序的用户登录名。5、更改ID:基于进程中的权限问题,有时需要更改用户的ID和组ID。6、进程会计:当做进程会计处理,它会记录一些关于进程的一些相关信息。7、进程调度:关于进程的执行先后和一个nice的值有关,通过更改该值可以更改进程的调度。

进程关系:

1、进程组:有关进程关系,从最基本的进程来认识,多个进程可以构成进程组,该部分讲解了关于进程组的创建、设置、返回等操作函数的运用,理解关于孤儿进程组的概念。2、会话:多个进程组构成会话,3、作业控制:整体上认识进程的执行过程和有关进程、进程组、会话等概念之间的关系。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-04 18:27:29

UNIX环境编程初步认识——进程的相关文章

UNIX环境编程初步认识——文件和I/O

 前一段时间学习了一下文件I/O的一些编程知识,忙于专业课方面的学习,一直没有总结,现对于文件I/O的总结如下图所示: 根据操作对象类型不同,将其分为了三个方面:文件I/O.文件和目录.标准I/O,虽然将其分为了三个部分,但是其中还是相互联系的. 文件I/O:首先对于文件I/O一些相关操作需要有文件描述符作为参数,于是需要经过打开或创建操作来返回一个文件描述符.基本操作有读写.偏移和关闭等.同时还包括文件描述符的获取,将缓冲区同步至硬盘,改变文件的属性和其他的杂项处理等. 文件和目录:对于这

UNIX环境编程学习——反思认识

 学习情况: 有关UNIX系统环境编程的学习时间用来很长的时间,但是感觉效果还是不是太好,在中间经过了期末考试,用来很长的时间用来学习专业课,就将该过程的学习放到了一边上,放假以后又回家造成了中间的学习时间打的很散,又由于自己的水平还是十分有限的,所以该过程的学习效果感觉不太好,时间的观念在脑中还是不够强烈,整个过程中总体来说只是在总体上了解了一个大概,实践还差的很远. 学习期间博客: 1.UNIX环境编程初步认识--编程环境搭建 2.UNIX环境编程初步认识--文件和I/O 3.UNIX环

unix环境编程 文件操作

1.  文件的打开读写 关闭 int open(const char *pathname,int flag,-)   打开一个文件 成功则返回文件描述符,若出现则返回-1 flag可以取下面的常量 O_RDONLY  只读打开 O_WRONLY  只写打开 O_RDWR    读写打开 其它的常量 O_APPEND,O_CREAT,O_EXCL,O_TRUNC,O_NOCTTY,O_NONBLOCK是可选的. int create(const char *pathname,mode_t mode

unix环境编程 目录操作

1.目录操作有 mkdir(constchar *pathname,mode_t mode) 创建目录,成功则返回0,若出错则返回-1 int rmdir(const char *pathname) rmdir可以删除一个空目录,成功则返回0,若出错返回-1 DIR *opendir(const *pathname) 成功则返回指针,若出错则返回NULL struct dirent *readdir(DIR *dp) 若成功则返回指针,出处则返回NULL void rewinddir(DIR *

unix环境编程 tcp通信

TCP通信的过程为: 一. 服务器端: 1.socket(int domain,int type,int protocol):建立套接字: 2 .bind(int sockid,struct sockaddr *addrp,socklen_t addrlen):绑定端口和地址信息: 3.listen(int sockid,int qsize):监听套接字; 4.fd=accept(int sockid,struct sockaddr *callerid,socklen_t *addrlenp):

UNIX环境编程学习笔记(20)——进程管理之exec 函数族

lienhua342014-10-07 在文档“进程控制三部曲”中,我们提到 fork 函数创建子进程之后,通常都会调用 exec 函数来执行一个新程序.调用 exec 函数之后,该进程就将执行的程序替换为新的程序,而新的程序则从 main 函数开始执行. UNIX 提供了 6 种不同的 exec 函数供我们使用.它们的原型如下所示, #include <unistd.h>int execl(const char *pathname, const char *arg0, ... /* (cha

UNIX环境编程学习笔记(19)——进程管理之fork 函数的深入学习

lienhua342014-10-07 在“进程控制三部曲”中,我们学习到了 fork 是三部曲的第一部,用于创建一个新进程.但是关于 fork 的更深入的一些的东西我们还没有涉及到,例如,fork 创建的新进程与调用进程之间的关系.父子进程的数据共享问题等.fork 是否可以无限制的调用?如果不行的话,最大限制是多少?另外,我们还将学习一个 fork 的变体 vfork. 1 fork 创建的新进程与调用进程之间的关系 UNIX 操作系统中的所有进程之间的关系呈现一个树形结构.除了进程 ID

UNIX环境编程学习笔记(16)——进程管理之进程环境变量

lienhua342014-10-03 1 环境表和环境指针 在每个进程启动时,都会接到一张环境表.环境表是一个字符指针数组,其中每个指针包含一个以 null 结束的 C 字符串的地址.全局变量environ 则包含了该指针数组的地址, extern char **environ; 例如,图 1 显示了包含有 5 个环境字符串的环境表, 图 1: 含有 5 个环境字符串的环境表 2 环境变量 环境字符串的形式通常为,name=value. ISO C 定义了一个函数 getenv,用于获取环境变

APUE《UNIX 环境编程》读后感

今天终于把APUE前17章全部看完了,基本上主要知识就在这些章节里. 之前看完<unix/linux编程实践教程>时,有一种豁然开朗.心旷神怡的感觉,在代码级别了解了linux很多系统机制,和一直不理解编程细节,而且对UNIX编程的整体知识结构有了很好的把握. APUE是公认的经典,事无巨细的把每个知识讲解很透,还有很多细心的提示.但是看起来的过程并不觉得那么美好,原因有以下几点: 1.译者那糟糕的水平!很多句子根本就不是中国人能说口的.无奈英语烂,顶多能看看man的水平,只能看中文版了.这本