首页 > TAG信息列表 > ucore

lab_0 清华大学ucore实验环境配置详细步骤!(小白入)

实验步骤 1.下载项目 从github上 的https://github.com/kiukotsu/ucore下载 ucore lab实验: git clone https://github.com/kiukotsu/ucore.git 旧版:https://github.com/kiukotsu/ucore 新版:https://github.com/chyyuu/os_kernel_lab 这里笔者使用旧版,与课程视频对应 2.在Ubuntu

清华操作系统实验ucore_lab3

lab3 练习0:填写已有实验 需要修改的文件: default_pmm.c: static struct Page *default_alloc_pages(size_t n) { assert(n > 0); if (n > nr_free) { //如果所有的空闲页的加起来的大小都不够,那直接返回NULL return NULL; } list_entry_t *le, *len

初学ucore之lab1

------------恢复内容开始------------ 初学ucore。 ucore的lab1并不难,每个练习的思路也很清晰。lab1学完,并看了他人的笔记巩固。写下自己的理解。 80386型CPU开机的流程:先执行在bios中的程序,但由于bios容量很小,不能完成所有的工作,也不具备更高的拓展性,所以他读取磁盘中第一个扇区

uCore OS之安装踩坑

uCore OS 笔记 安装踩坑 由于清华大学的gitbook已经从uCore转变为zCore等OS,所以版本繁多,对应的源码也不好找到 在搜索了一上午之后我决定采用2015年清华大学的uCore OS,附上各资源地址如下: GitHub2015年操作系统介绍 上述git包含了: 对应版本的ubuntu 14.04 x86-64的虚拟硬盘

清华大学OperationSystem课程ucore的vdi文件转为适用于VMware的vmdk文件

清华大学的OperationSystem课程提供的ucore实验环境为VirtualBox的.vdi文件,但是在Mac OS中,VirtualBox软件中,即使给ucore分配4g内存、4个CPU核心,其运行ucore系统响应速度实在是慢的批爆,还经常容易死机,严重影响学习体验,于是在网上搜索了一大圈之后,发现可以通过VirtualBox自带的命

ucore lab1

练习1:理解通过make生成执行文件的过程 问题一:操作系统镜像文件ucore.img是如何一步一步生成的?(需要比较详细地解释Makefile中每一条相关命令和命令参数的含义,以及说明命令导致的结果) 在Makefile中生成ucore.img的代码如下: # create ucore.img UCOREIMG := $(call totarget,u

ucore lab2

练习1:实现 first-fit 连续物理内存分配算法(需要编程) 物理页面的结构体如下: /* * * struct Page - Page descriptor structures. Each Page describes one * physical page. In kern/mm/pmm.h, you can find lots of useful functions * that convert Page to other data t

ucore lab5

练习1: 加载应用程序并执行(需要编码) execve函数 为了将一个新程序读进内存中执行,进程需要系统调用SYS_exec,该系统调用实际会调用do_execve: // do_execve - call exit_mmap(mm)&put_pgdir(mm) to reclaim memory space of current process // - call load_icode to

ucore lab1_1

1.实验目的: 操作系统是一个软件,也需要通过某种机制加载并运行它。在这里我们将通过另外一个更加简单的软件-bootloader来完成这些工作。为此,我们需要完成一个能够切换到x86的保护模式并显示字符的bootloader,为启动操作系统ucore做准备。lab1提供了一个非常小的bootloader和ucore O

ucore lab2

ucore lab2 目录ucore lab2练习0:填写已有实验练习1:实现first-fit连续物理内存分配算法物理地址空间的探查物理页的初始化物理页的分配物理页的回收缺陷default_check有bug待续... 练习0:填写已有实验 使用可视化diff/mege工具meld可以轻松完成填写代码的任务。只需要注意lab 2对lab

[操作系统]ucore lab6 学习笔记

这节虽叫调度管理机制,整篇下来主要就讲了几个调度算法.兴许是考虑到LAB5难,LAB6就仁慈了一把,难度大跳水.平常讲两节原理做一个实验,这次就上了一节原理.权当大战后的小憩吧. schedule函数调用点: proc.c::do_exit 用户线程执行结束,主动放弃CPU控制权。 proc.c::do_wait 用户线

jupyter环境下从零模拟开发简易操作系统: 搭建一个学习ucore_OS学习的环境(第二节)

上一节已经一万字了,只好再加一节 如果想要直接 体验 实验效果 可以直接执行本章的命令 生成的img文件可以在qemu中正常运行的话,那么在 真实硬件上基本 也是可以 正常安装操作系统 知识点上一节内容以下的很多问题你们可能并不会遇到,因为博主在构建 开发环境的时候已经消除了

ucore实验Lab1知识点总结

Intel 80386 ucore目前支持的硬件环境是基于Intel 80386以上的计算机系统。 Intel 80386是80x86系列中的第一种32位微处理器。80386的内部和外部数据总线都是32位,地址总线也是32位,可寻址高达4GB内存。 工作方式包括实模式、保护模式以及虚拟86模式。 Bootloader 我们知道计算机启

OS课程 ucore_lab2实验报告

练习零:填写已有实验    本实验依赖实验1。请把你做的实验1的代码填入本实验中代码中有“LAB1”的注释相应部分。提示:可采用diff和patch工具进行半自动的合并(merge),也可用一些图形化的比较/merge工具来手动合并,比如meld,eclipse中的diff/merge工具,understand中的diff/merge工具等

ucore-lab1-练习6report

                  练习6--完善中断初始化和处理 1.  中断向量表中一个表项占多少个字节?其中哪几位代表中断处理代码的入口? 答:系统将所有的中断事件统一进行编号(0~255),这个编号称为中断向量。中断向量表的一个表项占8个字节,其结构如下:     0~15位:偏移地址的0~15

《ucore lab6》实验报告

资源 ucore在线实验指导书 我的ucore实验代码 练习1: 使用 Round Robin 调度算法(不需要编码) 题目 完成练习0后,建议大家比较一下(可用kdiff3等文件比较软件) 个人完成的lab5和练习0完成后的刚修改的lab6之间的区别,分析了解lab6采用RR调度算法后的执行过程。执行make grade,大部分测试

《ucore lab7》实验报告

资源 ucore在线实验指导书 我的ucore实验代码 练习1: 理解内核级信号量的实现和基于内核级信号量的哲学家就餐问题(不需要编码) 题目 完成练习0后,建议大家比较一下(可用meld等文件diff比较软件) 个人完成的lab6和练习0完成后的刚修改的lab7之间的区别,分析了解lab7采用信号量的执行过

《ucore lab1 exercise6》实验报告

资源 ucore在线实验指导书 我的ucore实验代码 题目:完善中断初始化和处理 请完成编码工作和回答如下问题: 中断描述符表(也可简称为保护模式下的中断向量表)中一个表项占多少字节?其中哪几位代表中断处理代码的入口? 请编程完善kern/trap/trap.c中对中断向量表进行初始化的函数idt_ini