锁是操作系统中实现进程同步的重要机制。 基本概念 临界区(Critical Section)是指对共享数据进行访问与操作的代码区域。所谓共享数据,就是可能有多个代码执行流并发地执行,并在执行中可能会同时访问的数据。 同步(Synchronization)是指让两个或多个进程/线程能够 ...
本文将会详细介绍Xv 操作系统中虚拟内存的初始化过程。 基本概念 位X 体系结构采用二级页表来管理虚拟内存。之所以使用二级页表, 是为了节省页表所占用的内存,因为没有内存映射的二级页表可以不用分配地址来存储。在这个二级页表结构中,每个页的大小为 KB,每个页表的大小也为 KB,每个页表项的大小为 字节,一个页表包含 个页表项。一级页表表项存储的是二级页表的地址,二级页表表项存储的是对应的物理地址。 ...
2019-04-10 15:17 0 1288 推荐指数:
锁是操作系统中实现进程同步的重要机制。 基本概念 临界区(Critical Section)是指对共享数据进行访问与操作的代码区域。所谓共享数据,就是可能有多个代码执行流并发地执行,并在执行中可能会同时访问的数据。 同步(Synchronization)是指让两个或多个进程/线程能够 ...
Exercise1 源代码阅读 1.内存管理部分: kalloc.c vm.c 以及相关其他文件代码 kalloc.c:char * kalloc(void)负责在需要的时候为用户空间、内核栈、页表页以及缓冲区分配物理内存,将物理地址转为虚拟地址返回,物理页大小为4k。void ...
Unix文件系统 当今的Unix文件系统(Unix File System, UFS)起源于Berkeley Fast File System。和所有的文件系统一样,Unix文件系统是以块(Block)为单位对磁盘进行读写的。一般而言,一个块的大小为512Byte或者4KB。文件系统的所有 ...
XV6操作系统是MIT 6.828课程中使用的教学操作系统,是在现代硬件上对Unix V6系统的重写。XV6总共只有一万多行,非常适合初学者用于学习和实践操作系统相关知识。 MIT 6.828的课程网站是https://pdos.csail.mit.edu/6.828/。XV6操作系统有官方文档 ...
1.操作系统内存管理(虚拟内存) 1.1 虚拟内存的概念 操作系统为每个进程分配独立的一套虚拟地址,这就是虚拟内存。虚拟内存是一个抽象概念,它为每个进程提供了一个假象,即每个进程都在独占地使用主存,每个进程看到的内存都是一致的,称为虚拟地址空间。虚拟内存在主存中只保存活动区域,并根据需要在磁盘 ...
Exercise1 源代码阅读 文件系统部分 buf.h fcntl.h stat.h fs.h file.h ide.c bio.c log.c fs.c file.c sysfile.c exec.c 1.buf.h:对xv6中磁盘块数据结构进行定义,块大小为512字节 ...
9.1 背景 虚拟地址空间:进程在内存中存放的逻辑视图。如图所示。 虚拟内存:是一种内存管理技术,它会使程序自己认为自己拥有一块很大且连续的内存,然而,这个程序在内存中不是连续的,并且有些还会在磁盘上,在需要时进行数据交换 。 允许随着动态内存分配,堆向上生长;允许随着子程序的不断调用 ...
0x00背景 最近在看操作系统上的书 然后选了本知乎推荐的xv6 https://th0ar.gitbooks.io/xv6-chinese/content/content/chapter0.html 我们从这几个问题入手 操作系统作用是什么? 内核的作用 ...