linux
IT_LIULEI
这个作者很懒,什么都没留下…
展开
-
Linux中文件的操作
1、Linux的文件结构 在Linux中文件的存储结构像一颗倒叉树,文件存储时都以根目录“/”开始,在固定的地方存放对应的文件。 /bin:用于存放普通用户可执行命令,系统中的任何用户都可以执行该目录中的命令,如ls、cp、mkdir等命令。 /dev:设备文件的存储目录,如硬盘、光驱等。 /etc:用于存放系统的配置文件,比如用户账号及密码存放在配置文件/etc/password和/etc/s...原创 2019-07-24 20:35:06 · 251 阅读 · 1 评论 -
线程基础
1、什么是线程? 线程是进程内部的一条执行序列,或者执行流,每一个进程至少有一条线程,称之为主线程,从代码角度看,就是main函数的函数体,在主线程中可以通过线程库创建其他线程(函数线程),主线程和函数线程会同时向下运行。线程是计算机中独立运行的最小单位,运行时占用很少的系统资源。由于每个线程占用的CPU时间是由系统分配的,因此可以把线程看成操作系统分配CPU时间的基...原创 2019-08-07 14:30:29 · 91 阅读 · 0 评论 -
进程替换
使用fork函数或vfork函数创建子进程后,子进程通常会调用exec函数来执行另外一个程序。系统调用exec用于执行一个可执行程序以代替当前进程的执行镜像。进程的映像是指内核在内存中如何存放可执行程序文件,在将程序转化为进程的过程中,操作系统将可执行程序由硬盘复制到内存中。 调用exec函数并没有生成新进程,一个进程一旦调用exec 函数,它本身就“死亡”了。就好...原创 2019-08-07 10:46:52 · 161 阅读 · 0 评论 -
进程的创建和退出
1、进程的创建 创建进程有两种方式,一是由操作系统创建,二是由父进程创建。由操作系统创建的进程,它们之间是平等的,一般不存在资源继承关系,而对于由父进程创建的进程(通常称之为子进程),它们和父进程存在隶属关系,子进程又可以创建进程,这样形成一个进程家族,子进程可以继承其父进程几乎所有的资源。在系统启动时,操作系统会创建一些进程,它们承担着管理和分配系统资源的任务,这些进程通常被称为...原创 2019-08-05 23:33:32 · 441 阅读 · 0 评论 -
进程的管理、运行状态和加载
1、什么是进程? 进程是一个动态的实体,是程序的一次执行过程,进程是操作系统资源分配的基本单位。进程与程序的区别在于进程是动态的,程序是静态的,好比程序是乐谱,进程就是演凑的过程,进程是运行中的程序,程序是存储在磁盘上的可执行的二进制文件。2、进程的管理 操作系统为了管理进程,通过一个task_struct的结构体来记录进程的信息(进程标识符、进程状态、优先级、程序...原创 2019-08-03 22:50:05 · 487 阅读 · 0 评论 -
Linux中常见的文件操作函数
C语言中常用的文件操作函数有fopen(),fread(),fwrite(),fclose(),fseek(),这些函数称为库函数。 Linux中常用的文件操作函数有open(),read(),write(),close(),seek(),stat(),这些函数称为系统调用函数。系统调用函数:系统调用函数是操作系统为内核代码提供给用户或上层使用的一些函数接口,调用在用户态,执行在内核态。库函数:库...原创 2019-08-01 15:24:36 · 631 阅读 · 0 评论 -
进程间通信(4)----共享内存
进程间通信的方式有:管道、信号量、消息队列、共享内存和socket套接字 管道、信号量、消息队列、共享内存适用于单机,即完成一台主机上的两个进程或多个进程之间的通信,socket套接字适用于网络通信,通信的进程可以运行在不同的主机上。 无名管道:无名管道是一种半双工通信方式,数据只能单方向流动,而且只能在具有亲缘关系的进程间使用,进程的亲缘关系通常指父子进程关系...原创 2019-08-01 15:22:21 · 458 阅读 · 0 评论 -
进程间通信(3)----信号量
进程间通信的方式有:管道、信号量、消息队列、共享内存和socket套接字 管道、信号量、消息队列、共享内存适用于单机,即完成一台主机上的两个进程或多个进程之间的通信,socket套接字适用于网络通信,通信的进程可以运行在不同的主机上。 无名管道:无名管道是一种半双工通信方式,数据只能单方向流动,而且只能在具有亲缘关系的进程间使用,进程的亲缘关系通常指...原创 2019-07-29 23:31:06 · 202 阅读 · 0 评论 -
进程间通信(2)----消息队列
进程间通信的方式有:管道、信号量、消息队列、共享内存和socket套接字 管道、信号量、消息队列、共享内存适用于单机,即完成一台主机上的两个进程或多个进程之间的通信,socket套接字适用于网络通信,通信的进程可以运行在不同的主机上。 无名管道:无名管道是一种半双工通信方式,数据只能单方向流动,而且只能在具有亲缘关系的进程间使用,进程的亲缘关系通常指...原创 2019-07-29 19:36:24 · 204 阅读 · 0 评论 -
进程间通信(1)----管道
进程间通信的方式有:管道、信号量、消息队列、共享内存和socket套接字 管道、信号量、消息队列、共享内存适用于单机,即完成一台主机上的两个进程或多个进程之间的通信,socket套接字适用于网络通信,通信的进程可以运行在不同的主机上。 无名管道:无名管道是一种半双工通信方式,数据只能单方向流动,而且只能在具有亲缘关系的进程间使用,进程的亲缘关系通常指...原创 2019-07-25 23:43:20 · 195 阅读 · 0 评论 -
线程同步----信号量、互斥量、读写锁、条件变量
当多个控制线程共享相同的内存时,需要确保每个线程看到一致的数据视图。如果每个线程使用的变量都是其他线程不会读取或修改的,那么就不存在一致性问题。 同样地,如果变量是只读的,多个线程同时读取该变量也不会有一致性问题。但是当某个线程可以修改变量,而其他线程也可以读取或者修改这个变量的时候,就需要对这些线程进行同步,以确保它们在访问变量的存储内容时不会访问到无效的数值。 线...原创 2019-08-10 15:12:19 · 488 阅读 · 0 评论