计算机系统
Salmon_lee
这个作者很懒,什么都没留下…
展开
-
ucore Lab2回忆录
Lab2:物理内存管理 物理内存布局的探测和管理 在Lab1当中,我们仅仅是把操作系统内核从硬盘上搬到了内存里,而没有对内存进行管理。 其实bootloader在加载ELF文件之前,首先会检测所有的物理内存块,把这些内存块的信息存储在内存当中的内存块信息表e820map当中,其中包括:块的起始地址addr、块的大小size、块的类型type(例如是不是可用的)。 当ucore内核开始运行时,将会利...原创 2020-03-15 22:43:25 · 323 阅读 · 1 评论 -
ucore Lab1回忆录
Lab1:系统软件启动过程 bootloader的启动 我们的操作系统镜像文件uroce.img保存在硬盘disk上,其中前512个字节是引导扇区,存放了一个小软件bootloader,而后面存放的则是ucore内核文件。 当CPU加电启动时,将会默认执行位于固件上的BIOS程序(姑且认为它在内存中),当BIOS完成硬件自检后将选择系统盘当中引导扇区的512个字节加载到内存当中,此时CPU跳转到该...原创 2020-03-15 22:42:12 · 204 阅读 · 1 评论 -
讨论课一:数据的存储方式
选题一 见相关资料:浮点数的二进制表示 选题三 问题 printf("%s\n",c)对应输出"eUNH"呢? 解答 先说一下打印字符串的方法:以c为首地址,依次打印每一个字节,遇到ASCII码为0的字节停止(即遇到字符串终止符'\0')。 我们知道c数组的第一个int,占4个字节,每个字节的ASCII码分别为72('H')、78('N')、85('U')、101('...原创 2019-03-03 14:26:09 · 241 阅读 · 0 评论 -
讨论课二:C语言调试与字符串
C语言中scanf函数与空格回车原创 2019-03-15 22:06:55 · 205 阅读 · 0 评论