
Linux
第一视角丶
终身学习者
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Linux 文件I/O
1.文件打开:open open()函数语法要点 所需头文件 #include <sys/typed.h> //提供类型定义pid_t #include <sys/stat.h> #include <fcntl.h> 函数原型 int open(const char *pathname,int flags,int perms) 函数参数 pathname 被打开文件名 f...原创 2020-06-25 08:48:18 · 250 阅读 · 0 评论 -
Socket
https://www.cnblogs.com/wangcq/p/3520400.html Socket通信原理 对TCP/IP、UDP、Socket编程这些词你不会很陌生吧?随着网络技术的发展,这些词充斥着我们的耳朵。那么我想问: 1.什么是TCP/IP、UDP? 2.Socket在哪里呢? 3.Socket是什么呢? 4.你会使用它们吗?什么是TCP/IP、UDP? TCP/IP(Transmissi...转载 2020-05-17 15:01:54 · 174 阅读 · 0 评论 -
fork和vfork的区别
fork和vfork都会在当前进程中产生一个子进程,区别如下 fork vfork 数据段 拷贝 与父进程共享 执行次序 随机 子进程先执行,在调用exec或exit后父进程才运行 调用fork之后,数据、堆栈有两份,代码仍然为一份但是这个代码段成为两个进程的共享代码段都从fork函数中返回,箭头表示各自的执行处。当父子进程有一个想...原创 2020-03-10 15:58:28 · 192 阅读 · 0 评论 -
Linux 线程控制
线程有什么用? 在Linux下,进程是操作系统调度的基本单位。进程的每次调度,都要创建很多资源,如:创建一个PCB,并开辟虚拟地址空间,创建页表,建立映射,分配代码,分配数据。开销比较大。而线程的开辟所需资源要小很多。 线程和进程的ID: Linux的线程也称为轻量级进程,多个线程共享一个地址空间,这样创建一个线程所需重新创建和分配的资源要少很多,因此比较高效。 tpid: 用户组ID,主...原创 2020-01-14 20:30:24 · 178 阅读 · 0 评论 -
Linux 互斥与同步
1.创建互斥锁:pthread_mutex_t 使用互斥锁之前必须要创建一个锁的对象。互斥锁的类型为pthread_mutex_t,创建一个变量就是创建了一个互斥锁,我们通过这个变量建立开锁和解锁的联系。但这个锁还不能够直接使用,需要对其进行初始化。 2.初始化互斥锁: 我们对创建好的锁进行初始化的方法有两种 int pthread_mutex_init(&mux,NLL); 第一...原创 2020-01-13 10:55:11 · 144 阅读 · 0 评论 -
LINUX文件系统和虚拟地址空间
目录 1.虚拟内存空间解决了什么问题? 2.LINUX虚拟内存空间结构 3.页表 1.虚拟内存空间解决了什么问题? 闲谈:在研究虚拟地址空间,看到了一篇博客,说:在看到一项技术时,如果直接去看他的概念、用法、而忽视了他对比以前的技术有什么提升,解决了了以前技术中的哪些问题,这样是很不负责的。 正题:在计算机技术发展的早期,通常程序是直接访问物理地址的,只要程序需要的内存大小不超过物理内...原创 2019-12-30 19:10:03 · 298 阅读 · 0 评论 -
LINUX 共享内存
共享内存有什么用? 共享内存是Linux进程间通信的一种手段,即协助进程间通信 共享内存的一般使用步骤 1.使用int shmget(ket_t key ,size_t size , int shmflg), 向系统申请共享内存,大小为size字节,并且获取进程的操作标识符,通过返回值返回。 int shmid = shmget(key , 1024 ,IPC_CREAT | 0644 ...原创 2019-12-29 22:15:34 · 227 阅读 · 0 评论