书栈网 · BookStack 本次搜索耗时 0.013 秒,为您找到 178 个相关结果.
  • 背景: 计算机物理内存分布和大小

    【背景】探测计算机系统中的物理内存分布和大小 【背景】探测计算机系统中的物理内存分布和大小 在proj5中,操作系统需要知道了解整个计算机系统中的物理内存如何分布的,哪些被可用,哪些不可用。其基本方法是通过BIOS中断调用来帮助完成的。其中BIOS中断调用必须在实模式下进行,所以在bootloader进入保护模式前完成这部分工作相对比较合适。这些部分...
  • 保护模式和分段机制

    保护模式和分段机制 保护模式和分段机制 为何要了解Intel 80386的保护模式和分段机制?首先,我们知道Intel 80386只有在进入保护模式后,才能充分发挥其强大的功能,提供更好的保护机制和更大的寻址空间,否则仅仅是一个快速的8086而已。没有一定的保护机制,任何一个应用软件都可以任意访问所有的计算机资源,这样也就无从谈起操作系统设计了。且I...
  • 系统调用实现

    系统调用实现 1. 初始化系统调用对应的中断描述符 2. 建立系统调用的用户库准备 3. 与用户进程相关的系统调用 4. 系统调用的执行过程 系统调用实现 系统调用的英文名字是SystemCall。操作系统为什么需要实现系统调用呢?其实这是实现了用户进程后,自然引申出来需要实现的操作系统功能。用户进程只能在操作系统给它圈定好的“用户环境”中执...
  • ELF文件格式概述

    ELF文件格式概述 ELF文件格式概述 ELF(Executable and linking format)文件格式是Linux系统下的一种常用目标文件(object file)格式,有三种主要类型: 用于执行的可执行文件(executable file),用于提供程序的进程映像,加载的内存执行。 这也是本实验的OS文件类型。 用于连接的可重定位...
  • Intel 80386寄存器

    Intel 80386寄存器 Intel 80386寄存器 这里假定读者对80386 CPU有一定的了解,所以只作简单介绍。80386的寄存器可以分为8组:通用寄存器,段寄存器,指令指针寄存器,标志寄存器,系统地址寄存器,控制寄存器,调试寄存器,测试寄存器,它们的宽度都是32位。一般程序员看到的寄存器包括通用寄存器,段寄存器,指令指针寄存器,标志寄存...
  • Intel 80386内存架构

    Intel 80386内存架构 Intel 80386内存架构 地址是访问内存空间的索引。一般而言,内存地址有两个:一个是CPU通过总线访问物理内存用到的物理地址,一个是我们编写的应用程序所用到的逻辑地址(也有人称为虚拟地址)。比如如下C代码片段: int boo = 1 ; int * foo =& a ; 这里的boo是一个整型...
  • 索引节点

    索引节点 索引节点 在SFS文件系统中,需要记录文件内容的存储位置以及文件名与文件内容的对应关系。sfs_disk_inode记录了文件或目录的内容存储的索引信息,该数据结构在硬盘里储存,需要时读入内存。sfs_disk_entry表示一个目录中的一个文件或目录,包含该项所对应inode的位置和文件名,同样也在硬盘里储存,需要时读入内存。 磁盘索引...
  • 实验3: 支持虚存管理功能

    实现虚存管理功能 试验目标 实现虚存管理功能 试验目标 有了页表的支持,我们可以使得不同用户态运行程序的内存空间之间无法访问,达到隔离和保护的作用。但页表如何仅仅只支持这个功能就太大材小用了。我们其实还可以通过页表实现更多的功能: 内存共享:把两个虚拟地址空间通过页表映射到同一物理地址空间。这只需通过设置不同索引的页表项的内容一致即可。 提...
  • 实现:初始化中断控制器

    【实现】初始化中断控制器 【实现】初始化中断控制器 80386把中断号0~31分配给陷阱、故障和非屏蔽中断,而把32~47之间的中断号分配给可屏蔽中断。可屏蔽中断的中断号是通过对中断控制器的编程来设置的。下面描述了对8259A中断控制器初始化过程。 8259A通过两个I/O地址来进行中断相关的数据传送,对于单个的8259A或者是两级级联中的主825...
  • CPU

    CPU RISC-V的CPU运行模式 CPU 通用CPU一般能够在硬件上支持内存空间的隔离,使得多个程序在各自独立的内存空间中并发执行。这种硬件机制即支持用户特权级和内核特权级。应用程序运行在用户特权级,这样应用不能执行特权指令,且不能破坏操作系统内核的数据和操作系统执行过程。而操作系统内核运行在内核特权级,可以访问特权指令,并管理和控制应用程序,...