书栈网 · BookStack 本次搜索耗时 0.008 秒,为您找到 178 个相关结果.
  • 附录E—MOOC OS相关信息

    MOOC OS 相关资料 OS基本概念和原理 OS设计与实现细节 动手实践OS MOOC OS 2015 WIKI 在线交流 课程汇总信息 MOOC OS 相关资料 OS基本概念和原理 MOOC OS 2015 on 学堂在线 https://www.xuetangx.com/courses/TsinghuaX/30240243X/...
  • 实现: 设计进程控制块

    【实现】设计进程控制块 【实现】设计进程控制块 在proj10中,进程管理信息用struct proc_struct表示,在kern/process/proc.h中定义如下: struct proc_struct { enum proc_state state ; // Process state ...
  • 练习

    练习 练习0:填写已有实验 练习1: 加载应用程序并执行(需要编码) 练习2: 父进程复制自己的内存空间给子进程(需要编码) 练习3: 阅读分析源代码,理解进程执行 fork/exec/wait/exit 的实现,以及系统调用的实现(不需要编码) 扩展练习 Challenge :实现 Copy on Write (COW)机制 练习 对实...
  • 基于硬件模拟器实现源码级调试

    基于硬件模拟器实现源码级调试 基于硬件模拟器实现源码级调试 安装硬件模拟器QEMU 使用硬件模拟器QEMU 基于qemu内建模式调试ucore 结合gdb和qemu源码级调试ucore
  • bootloader启动过程

    bootloader启动过程 bootloader启动过程 BIOS将通过读取硬盘主引导扇区到内存,并转跳到对应内存中的位置执行bootloader。bootloader完成的工作包括: 切换到保护模式,启用分段机制 读磁盘中ELF执行文件格式的ucore操作系统到内存 显示字符串信息 把控制权交给ucore操作系统 对应其工作的实现文件在la...
  • 实验执行流程概述

    实验执行流程概述 实验执行流程概述 本次实验主要完成ucore内核对虚拟内存的管理工作。其总体设计思路还是比较简单,即首先完成初始化虚拟内存管理机制,即需要设置好哪些页需要放在物理内存中,哪些页不需要放在物理内存中,而是可被换出到硬盘上,并涉及完善建立页表映射、页访问异常处理操作等函数实现。然后就执行一组访存测试,看看我们建立的页表项是否能够正确完成...
  • 实现:分析内核函数调用关系

    【实现】分析内核函数调用关系 【实现】分析内核函数调用关系 首先,ucore需要建立一个空的栈空间,然后才能进行函数调用、参数传递等处理工作。ucore是在哪里建立的栈呢?其实ucore是借用了bootloader的栈空间,而bootloader在bootasm.S中的如下语句建立的栈空间: # Set up the stack pointer a...
  • 进程运行状态转变过程

    进程运行状态转变过程 进程运行状态转变过程 分析完从进程/线程从创建到退出的整个过程,我们需要在从全局的角度来看看进程/线程在做整个运行过程中的运行状态转变过程。在执行状态转变过程中,ucore在调度过程总,并没有区分线程和进程,所以进程和线程的执行状态转变是一致的,分析的结果适合用户线程和用户进程的执行过程。 首先为了描述进程/线程的整个状态集合...
  • 关键数据结构

    关键数据结构 关键数据结构 为了表示一个设备,需要有对应的数据结构,ucore为此定义了struct device,其描述如下: struct device { size_t d_blocks ; //设备占用的数据块个数 size_t d_blocksize ; //数据...
  • 创建并执行内核线程

    创建并执行内核线程 创建并执行内核线程 建立进程控制块(proc.c中的alloc_proc函数)后,现在就可以通过进程控制块来创建具体的进程/线程了。首先,考虑最简单的内核线程,它通常只是内核中的一小段代码或者函数,没有自己的“专属”空间。这是由于在uCore OS启动后,已经对整个内核内存空间进行了管理,通过设置页表建立了内核虚拟空间(即boot...