jos
htjacky
这个作者很懒,什么都没留下…
展开
-
Jos-lab2(Exercise 4)
Exercise 4.In the file kern/pmap.c,you must implement code for the following functions.当使用80x86处理器时,必须区分三个地址逻辑地址(Logical address):每个逻辑地址包括一个段和偏移,偏移指从段起始地址到实际地址的偏移。线性地址(Linear address)(也称虚拟地址):原创 2014-01-08 10:54:56 · 1020 阅读 · 0 评论 -
Task Management notes IA-32-3A Chapter 6
1. What is task?A task is a unit of work that a processor can dispatch, execute, and suspend. 2. Task Structure.A task is made up of two parts: a task execution space and a task-state segment原创 2014-01-30 02:35:51 · 738 阅读 · 0 评论 -
80386 programmer's reference manual Chapter 6 Protection notes
1. Why protection?Identify and detect bugs.2. Overview: 5 aspectsType checkingLimit checkingRestriction of addressable domainRestriction of procedure entry pointsRestriction of instruc原创 2014-02-01 00:18:59 · 779 阅读 · 0 评论 -
Jos - lab4 (Part A) Round-Robin Scheduling
Exercise 6.Implement round-robin scheduling in sched_yield()as described above. Don't forget to modifysyscall() to dispatchsys_yield().原创 2014-02-01 01:13:55 · 1611 阅读 · 3 评论 -
Jos - lab4 (Part A) System Calls for Environment Creation
Question3. In your implementation of env_run() you should havecalled lcr3(). Before and after the call tolcr3(), your code makes references (at least it should)to the variablee, the argument t原创 2014-02-03 00:56:29 · 1322 阅读 · 0 评论 -
Jos-lab5 (上)
Exercise 1.i386_init identifies the file system environment bypassing the typeENV_TYPE_FS to your environment creationfunction, env_create.Modifyenv_create in env.c,so that it gives the file syste原创 2014-02-22 15:14:48 · 1473 阅读 · 0 评论 -
Jos-lab5 (下)
Exercise 4. Change duppage in lib/fork.c to follow the new convention. If the page table entry has thePTE_SHARE bit set, just copy the mapping directly. (You should use PTE_SYSCALL, not 0xfff, to原创 2014-02-23 22:49:40 · 1251 阅读 · 0 评论 -
Jos-Lab1 (上)
记录bochs下如何加载和调试jos内核的过程:I.Bochs下编译和运行Jos内核http://pdos.lcs.mit.edu/6.828/2007/labs/lab1/lab1.tar.gz 下载Lab1所需内核tar 解压1. 设置编译环境,安装GCC1.1 Set up gmakesudo ln -s /usr/bin/make /usr/bin/gmak原创 2013-10-29 04:16:45 · 1265 阅读 · 0 评论 -
Jos - lab1 Boot the PC
Start up flow of PC:1. BIOS a. At the very beginning, BIOS will load 512-byte boot sector into [0x7c00,0x7dff); b. Then set CS:IP = 0000:7C002. Boot loader a. Switch from real mode原创 2014-02-25 15:45:48 · 737 阅读 · 0 评论 -
Jos - lab4 (Part A) Multiprocessor support
Exercise 1. Implement mmio_map_region inkern/pmap.c. To see how this is used, look at the beginning of lapic_init inkern/lapic.c. You'll have to do the next exercise, too, before the tests formm原创 2014-01-27 23:55:01 · 2600 阅读 · 1 评论 -
Jos - L6 notes
Q: xv6 Sheet 16: init.c calls open("console"). How is that implemented?A: open -> STUB(open) in usys.S -> trigger a interrupt T_SYSCALL -> idt[T_SYSCALL] -> vectors[T_SYSCALL] -> vector48 in vectors原创 2014-01-18 22:40:42 · 727 阅读 · 0 评论 -
Jos-lab2 (Challenges)
Challenge!Extend the JOS kernel monitor with commands to:Display in a useful and easy-to-read formatall of the physical page mappings (or lack thereof)that apply to a particular range of virtual/l原创 2014-01-09 15:31:11 · 1816 阅读 · 0 评论 -
Jos-lab2(Exercise 5)
Question2. What entries (rows) in the page directory have been filled in at this point? What addresses do they map and where do they point? In other words, fill out this table as much as possible:原创 2014-01-09 11:14:01 · 1448 阅读 · 0 评论 -
Jos-lab3 (Exercise 1 & 2)
Exercise 1.Modify mem_init() inkern/pmap.cto allocate and map the envs array.This array consists o fexactlyNENV instances of the Env structure allocated much like how you allocated the pages array原创 2014-01-23 15:40:39 · 1226 阅读 · 0 评论 -
Jos-lab3 Exercise 7&9
Exercise 7.Add a handler in the kernelfor interrupt vectorT_SYSCALL.You will have to edit kern/trapentry.S and kern/trap.c'strap_init(). You also need to change trap_dispatch() to handle thesystem原创 2014-01-25 22:20:12 · 1584 阅读 · 0 评论 -
Jos-hw4
1. Turn in: the output of print-stack with the valid part of the stack marked. Write a short(3-5 word) comment next to each non-zero value explaining what it is. print-stackStack address size 4原创 2014-01-18 11:43:23 · 800 阅读 · 0 评论 -
Jos HW7
1. Assignment: In this assignment we will explore some of the interaction betweeninterrupts and locking.Make sure you understand what would happen if the kernel executed the following codesnippe原创 2014-01-27 11:10:55 · 1859 阅读 · 0 评论 -
Jos-hw5
Assignment: Try to understand setupsegs() in proc.c. What values are written intogdt[SEG_UCODE] and gdt[SEG_UDATA] for init, the first user-space process? (You canuse Bochs to answer this question原创 2014-01-18 20:44:19 · 666 阅读 · 0 评论 -
SMP support in JOS
Multiprocessor Support We are going to make JOS support "symmetric multiprocessing" (SMP), amultiprocessor model in which all CPUs have equivalent access tosystem resources such as memory and I/O bu原创 2014-01-26 23:12:56 · 852 阅读 · 0 评论 -
Jos - lab2 Memory Management
1. Key data structure:178 struct PageInfo {179 // Next page on the free list.180 struct PageInfo *pp_link;187 uint16_t pp_ref;188 };// These variables are set by原创 2014-02-25 17:14:07 · 1376 阅读 · 0 评论