Linux——操作系统
Dr_Cassie
这个作者很懒,什么都没留下…
展开
-
进程和线程的区别
线程:线程是进程内部的一条执行序列(执行流),一组有序指令的集合。进程:运行中的程序,即一组有序指令+数据+资源的集合。区别:(1)线程是系统调度执行的基本单位,进程是资源分配的基本单位。(2)线程依赖于进程,线程在进程内部,一个进程至少包含一条线程。(3)进程都是相互独立的,同一个进程中的线程除了进程的栈区,其他资源都共享。(4)系统在运行的时候会为每个进程分配不同的内存...原创 2019-07-31 19:50:18 · 689 阅读 · 0 评论 -
虚拟地址空间
4G虚拟地址空间布局图:由于每个进程都不能直接访问内核空间,而是通过系统调用间接进入内核,因此,所有的进程都共享内核空间。而每个进程都拥有各自的用户空间,各个进程之间不能相互访问彼此的用户空间。因此,对每一个具体的进程而言,都拥有4GB的虚拟地址空间。一个程序在经过编译、连接之后形成的地址空间是一个虚拟的地址空间,只有当程序运行的时候才会分配具体的物理空间。由此我们可以得知,程序的虚拟地址...原创 2019-07-21 17:24:01 · 210 阅读 · 0 评论 -
操作系统——进程管理
计算机的组成:CPU、内存、I/O我们将源文件(main.c)编译连接之后生成可执行文件(main(ELF)),然后将它执行,这就成了一个进程,之后加载到内存上。CPU是计算器和控制器,它按照顺序执行进程中的指令。程序:存储在磁盘上的可执行文件。进程:运行中的程序,其实也就是把程序从磁盘上加载到内存上。在这里我举一个实例来说明一下进程和程序的区别:程序:乐谱;进程:演奏的过...原创 2019-07-31 14:56:27 · 235 阅读 · 0 评论 -
I/O复用
I/O复用使得程序能同时监听多个文件描述符,通常,网络程序在下列情况下需要使用I/O复用技术:(1)客户端程序要同时处理多个socket。(2)客户端程序要同时处理用户输入和网络连接。(3)TCP服务器要同时处理监听socket和连接socket。这是I/O复用使用最多的场合。(4)服务器要同时处理TCP请求和 UDP请求。(5)服务器要同时监听多个端口,或者处理多种服务。...原创 2019-07-27 19:12:21 · 214 阅读 · 0 评论