Linux系统
LookAtStarSky
这个作者很懒,什么都没留下…
展开
-
Linux进程与线程
目录进程管理PCB处理器管理级别用户空间进程状态fork原理exec原理僵死进程Zombie和孤儿进程进程间通信pipe通道fifo有名管道mmap/munmap进程管理PCB 进程控制块, 其结构大致如下图。我们的PCB中存在一个files struct, 对应就是一个int数组,数组的每个值都是一个文件描述符。当我们的程序fopen打开一个文件时,PCB会在当前files struct的数组结构中找一个最小且未被使用的描述符作为返回...原创 2020-11-30 22:22:00 · 380 阅读 · 0 评论 -
Linux文件系统
ext2文件系统的结构我们知道,一个磁盘可以划分成多个分区,每个分区必须先用格式化工具(例如某种mkfs命令)格式化成某种格式的文件系统,然后才能存储文件,格式化的过程会在磁盘上写一些管理存储布局的信息。这里是一个磁盘分区格式化成ext2文件系统后的存储布局。对于文件系统来说,最小的单位为块,block,一般为4096Bytes,每个块是8个磁盘扇区,一个磁盘扇区为512Bytes。ext2文件系统将磁盘分区按照块组的方式组织起来,每个块组的大小长度,于最小的单位block的大小有关。...原创 2020-11-30 22:20:45 · 221 阅读 · 0 评论 -
Linux内存管理
目录虚拟地址空间内存管理虚拟地址空间操作系统工作时,会给每个进程分配4G的虚拟地址空间。其中0~3G的空间从下到上依次是代码段,堆,栈。3G~4G是内核空间。假如我们系统的物理内存为2G,a.out和b.out代码段是存储在磁盘空间上,然后我们的物理内存将a.out,b.out加载到内存中,同时为进程虚拟地址空间虚拟一个代码片段地址,但实际的代码片段是存储在物理内存上的。操作系统做的只是将物理内存的代码片段地址 与 进程虚拟地址空间的代码片段虚拟地址做一个映射。。同样每个进程的虚原创 2020-11-30 22:20:04 · 109 阅读 · 0 评论