随笔分类 - 笔记_计算机系统结构
摘要:进程间通信 进程是一个独立的资源分配单元,不同进程(用户进程)之间的资源是独立的,没有关联的,不能在一个进程中直接访问另一个进程中的资源。 但是进程不是孤立的,不同的进程需要进行信息的交互和状态的传递,因此需要进程间通信(IPC(inter processes communication)). 进程
阅读全文
摘要:Linux使用glibc动态库中的ptmalloc2来管理堆内存,它可以支持多线程下的堆内存管理。在早期的不支持多线程的堆内存管理时,因为线程共享虚拟地址空间,当有两个线程同时调用malloc函数的时候,只能有一个线程能够进入临界区,另一个线程阻塞。使用ptmalloc2后,通过维护多个arena的
阅读全文
摘要:虚拟内存提供了三个功能: 将主存看作是磁盘的高速缓存,根据需要在主存和磁盘之间传送数据。 为每一个进程提供了一个一致的地址空间。 保护每一个进程的地址空间不被其他进程破坏。 物理内存和虚拟内存 计算机的主存可以看作是M个连续的字节数组,每一个字节用一个唯一的物理地址来标志。上图左边的物理寻址方式下,
阅读全文
摘要:在 Unix 系统上,从源文件到目标文件的转化是由编译器驱动程序完成的:linux> gcc -o hello hello.c 在这里,GCC 编译器驱动程序读取源程序文件 hello.c,并把它翻译成一个可执行目标文件 hello。这个翻译过程可分为四个阶段完成,如下图所示。执行这四个阶段的程序(
阅读全文