操作系统os-lab
文章平均质量分 81
jianjian1992
hahaha
展开
-
NJU-OSlab0(2)-vfprintk的实现
之前已经将初始化工作说明完毕,这次开始完成实验要求。实验要求如下:响应键盘中断我们给出的框架代码并没有响应键盘中断, 你需要在理解框架代码的基础上, 补充代码来实现相应的功能. (Hint: 按下键盘后, 中断控制器给CPU发送的中断号是33) 代码中已经实现了时钟中断的响应, 可以帮助你理解中断机制相关的代码. 功能实现之后, 你会得到一款完整的打字游戏. 首先来看下框架代码: 我们首原创 2015-05-02 19:40:18 · 1024 阅读 · 0 评论 -
NJU-OS-lab0(1)--初始化工作
哈哈,终于开始写操作系统实验啦,简直就是心魔了,看我这次怎么打败这个大boss!首先从os-lab/src/main.c这里开始吧,看看主程序做了些什么。void game_init(){ init_serial(); init_timer(); init_idt(); init_intr(); set_timer_intr_handler(timer_event); set_原创 2015-04-17 10:38:21 · 2537 阅读 · 0 评论 -
inline assembly内联汇编
原文请点击wiki中的内联汇编有些时候我们的代码可能需要使用到硬件,比如说通过一个端口输出数据,或是从某个端口读入数据,这个时候对硬件的调用就该使用汇编语言。内联汇编(inline assembly)便是很好的选择,可以使用asm()函数插入任意的汇编代码片段到C/C++代码中。下面的汇编语言都是工作在GCC编译器,因为GCC是目前在操作系统领域中使用最为广泛的编译器。 调用asm的语法翻译 2015-04-17 20:18:35 · 977 阅读 · 0 评论 -
Nanos-操作系统oslab1(2)---sleep和wakeup
目标:这次要为进程实现sleep功能和wakeup功能,所以我们需要添加两个队列,一个是运行队列runningList,还有一个则是等待队列waitingList。链表的使用提供的链表节点结构如下:typedef struct ListHead { ListHead *prev; ListHead *next;}ListHead;如何使用这个链表节点呢?毕竟平常创建的链表节原创 2015-06-09 10:13:12 · 1144 阅读 · 0 评论