nachos代码阅读--xq.docx

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
nachos代码阅读--xq

宏总结: /threads/thread.h #define MachineStateSize 18 #define StackSize (4 * 1024) /threads/thread.cc #define STACK_FENCEPOST 0xdeadbeef /userprog/addrspace.h #define UserStackSize 1024 /userprog/bitmap.h #define BitsInByte 8 #define BitsInWord 32 /userprog/syscall.h #define SC_Halt 0 #define SC_Exit 1 #define SC_Exec 2 #define SC_Join 3 #define SC_Create 4 #define SC_Open 5 #define SC_Read 6 #define SC_Write 7 #define SC_Close 8 #define SC_Fork 9 #define SC_Yield 10 #define ConsoleInput 0 #define ConsoleOutput 1 /machine/disk.h #define SectorSize 128 // number of bytes per disk sector #define SectorsPerTrack 32 // number of sectors per disk track #define NumTracks 32 // number of tracks per disk #define NumSectors (SectorsPerTrack * NumTracks) // total # of sectors per disk /machine/disk.cc #define MagicNumber 0x456789ab #define MagicSize sizeof(int) #define DiskSize (MagicSize + (NumSectors * SectorSize)) /machine/machine.h #define PageSize SectorSize // set the page size equal to the disk sector size, for simplicity #define NumPhysPages 32 #define MemorySize (NumPhysPages * PageSize) #define StackReg 29 // Users stack pointer #define RetAddrReg 31 // Holds return address for procedure calls #define NumGPRegs 32 // 32 general purpose registers on MIPS #define HiReg 32 // Double register to hold multiply result #define LoReg 33 #define PCReg 34 // Current program counter #define NextPCReg 35 // Next program counter (for branch delay) #define PrevPCReg 36 // Previous program counter (for debugging) #define LoadReg 37 // The register target of a delayed load. #define LoadValueReg 38 // The value to be loaded by a delayed load. #define BadVAddrReg 39 // The failing virtual address on an exception #define NumTotalRegs 40 /machine/mipssim.h #define OP_???? /filesys/directory.h #define FileNameMaxLen 9 // for simplicity, we assume file names are = 9 characters long /filesys/filehdr.h #define NumDirect ((SectorSize - 2 * sizeof(

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档