
操作系统
操作系统相关知识
琴邪
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
王道考研——操作系统总结
https://blog.youkuaiyun.com/gl620321/article/details/107128661转载 2021-04-09 21:31:18 · 1332 阅读 · 0 评论 -
一篇总结操作系统知识点的结构图博文
https://blog.youkuaiyun.com/donkey010/article/details/115017173?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_baidulandingword-1&spm=1001.2101.3001.4242转载 2021-04-08 22:28:43 · 111 阅读 · 0 评论 -
C++内存四区
内存四区代码区:存放函数的二进制代码,由系统管理全局区:全局变量和静态变量以及常量(字符串常量,全局const)堆区:由程序员分配和释放,若程序员不释放,则由程序结束时由操作系统栈区:由编译器自动分配释放,存放函数的参数值及局部变量程序运行前: 生成exe可执行程序,未执行该程序分为两个部分 代码区: 存放cpu执行的机器指令 代码区是共享的,目的是对于频繁执行的程序,内存中只需要由一份代码 代码区是只读的,放置程序意外的更改了它 全局区: 全局变量和静态变量存放的地方原创 2021-04-02 15:58:34 · 133 阅读 · 1 评论 -
进程之间的通信——管道
管道1、特点:它是半双工的(即数据只能在一个方向上流动),具有固定的读端和写端。它只能用于具有亲缘关系的进程之间的通信(也是父子进程或者兄弟进程之间)。它可以看成是一种特殊的文件,对于它的读写也可以使用普通的read、write 等函数。但是它不是普通的文件,并不属于其他任何文件系统,并且只存在于内存中。管道分为pipe(无名管道)和fifo(命名管道)两种,除了建立、打开、删除的方式不同外,这两种管道几乎是一样的。他们都是通过内核缓冲区实现数据传输。pipe用于相关进程之间的通信,例如父进程和原创 2021-02-26 15:23:52 · 856 阅读 · 0 评论 -
进程的创建、使用
进程的创建Linux下c语言进程编程有两种方式。一种是fork();另一种是vfork();二者的区别在于一、fork()创建进程后会拷贝父空间,就是fork()函数之上的代码,的变量,自己独占一份,和父空间原有的变量互不影响;且fork()的子进程和父进程是同步运行的,可能会出现子进程没结束,父进程就结束了的情况,导致子进程退出状态不被收集,使得子进程成为孤儿进程,虽然linux有一套机制会将这些进程收留pid号为1的init进程上,但是最好还是不要出现这种不收集子进程退出状态的变成二、vf原创 2021-02-26 13:36:09 · 407 阅读 · 0 评论 -
Linux下c语言进程和线程简单概括
进程VS线程1、进程是资源分配的最小单位,线程是程序执行的最小单位(资源调度的最小单位)2、进程有自己的独立地址空间,每启动一个进程,系统就会为它分配地址空间,建立数据表来维护代码段、堆栈段和数据段,这种操作非常昂贵。而线程是共享进程中的数据的,使用相同的地址空间,因此CPU切换一个线程的花费远比进程要小很多,同时创建一个线程的开销也比进程要小很多。3、线程之间的通信更方便,同一进程下的线程共享全局变量、静态变量等数据,而进程之间的通信需要以通信的方式(IPC)进行。不过如何处理好同步与互斥是编写多原创 2021-02-26 16:17:42 · 250 阅读 · 0 评论