![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
操作系统
王帅真
这个作者很懒,什么都没留下…
展开
-
uCore lab1 操作系统实验 challenge
uCore lab1-challenge扩展练习 Challenge 1扩展proj4,增加syscall功能,即增加一用户态函数(可执行一特定系统调用:获得时钟计数 值),当内核初始完毕后,可从内核态返回到用户态的函数,而用户态的函数又通过系统调用得到内核态的服务(通过网络查询所需信息,可找老师咨询。如果完成,且有兴趣做代替考试的实验,可找老师商量)。需写出详细的设计和分析报告。完成出色的可获得适当加分。提示: 规范一下 challenge 的流程。kern_init 调用 switch_test原创 2020-09-17 16:16:21 · 1339 阅读 · 1 评论 -
uCore lab1 操作系统实验 关于challenge1的思考
来自 2020.9.17 的我在阅读了《操作系统真象还原》前半本(这书我强推!把我任督二脉淦通了!)+反复阅读工程源码后,我发现自己原来的理解是有问题的。我先抛问题吧:问题一:凭什么k2u要自己给两个位置,而u2k不用?中断例程中,k2u要改ss,u2k为什么不用改?问题二:u2k检测到特权级转换,会把用户态的ss和esp压入内核栈,在iret时候,难道不会又弹出来,不就又回到用户态了吗?问题三:我们明明在切换用户态和内核态,cs的值从8变成1b(注意是16进制),又变回8,虽然我们的eip没变,原创 2020-09-17 16:13:10 · 713 阅读 · 0 评论 -
《操作系统真象还原》环境准备以及bochs的安装与运行(第一章)
虚拟机和OS的安装虚拟机平台我选择的是VMWare优点:功能较全(可以复制粘贴,拖拽文件等等)缺点:相比于VirtualBox,确实臃肿了一点,大家自己权衡OS的话我选择的是CentOS7(x86_64)的iso【以上都在官网淦就行,没什么难的】yum安装配置环境依赖CentOS用的是yum,Ubuntu用的是apt-getsudo yum -y install gccsudo yum -y install gtk2 gtk2-develsudo yum -y instal原创 2020-08-28 16:00:46 · 829 阅读 · 1 评论 -
uCore lab1 操作系统实验
uCore lab1 —— 幼儿园lab1有什么?实现功能后能做啥?一个bootloader可以切换到X86保护模式能够读磁盘并加载ELF执行文件格式显示字符一个OS可以处理时钟中断显示字符项目组成lab1的整体目录结构如下所示:.├── boot │ ├── asm.h │ ├── bootasm.S │ └── bootmain.c ├── kern │ ├── debug │ │ ├── assert.h │ │ ├── kdebu原创 2020-06-22 10:21:50 · 2045 阅读 · 3 评论 -
uCore lab0 操作系统实验
uCore lab0最近想开始做清华学堂在线的OS Lab,得先深入理解ucore,自然也就需要了解支撑ucore运行的硬件环境,即了解处理器体系结构(了解硬件对ucore带来影响)和机器指令集(读懂ucore的汇编)。ucore目前支持的硬件环境是基于Intel 80386以上的计算机系统。(之前做的南京大学的NEMU也是i386)Intel 80386运行模式一般CPU只有一种运行模式,能够支持多个程序在各自独立的内存空间中并发执行,且有用户特权级和内核特权级的区分,让一般应用不能破坏操作系统内核原创 2020-06-19 11:30:13 · 953 阅读 · 0 评论