随笔分类 -  学习笔记 / MIT6.828LAB

摘要:Shell shell就是一个进程,这个进程的工作就是接收键盘输入,并parser到相应的系统调用,执行系统调用. 操作系统是如何管理外存设备的? 操作系统是如果操作外存的? 问题引入 为什么使用外存? 为什么需要内存呢?因为寄存器空间太小了,不够用啊!需要内存来给它补充缓冲。同理,外存也为内存补充 阅读全文
posted @ 2021-04-25 15:03 dynmi 阅读(61) 评论(0) 推荐(0) 编辑
摘要:操作系统是如何安排网络通信的 操作系统内部实现了socket()系列的系统调用,以供进程进行网络通信。 简单讲,调用socket()系列函数后,会按照用户所传参数选择指定协议,通过调用操作系统内部的协议实现来包装待传输信息,然后I/O走网络总线传送到网卡上,网卡再完成链路层和物理层封装,与外界进行交 阅读全文
posted @ 2021-04-25 15:02 dynmi 阅读(84) 评论(0) 推荐(0) 编辑
摘要:我们思考这几个问题: 操作系统kernel要如何实现多处理器支持? 用户进程能不能由用户进程创建?怎么实现?提到fork()、exec()你想到什么? 操作系统kernel要如何支持多进程?你设计的多进程调度可能在哪些地方会有性能弊端?如何去改进? 你的kernel支持了多进程,那两个(多个)用户进 阅读全文
posted @ 2021-04-21 14:08 dynmi 阅读(73) 评论(0) 推荐(0) 编辑
摘要:相关源文件 inc/ env.h Public definitions for user-mode environments trap.h Public definitions for trap handling syscall.h Public definitions for system cal 阅读全文
posted @ 2021-03-23 21:50 dynmi 阅读(65) 评论(0) 推荐(0) 编辑
摘要:Physical Page Management JOS内核以页为最小粒度管理内存,从而实时记录哪些内存区域空闲,哪些内存区域占用,这个信息被记录在一条结构体PageInfo的链表中,链表的每个结点对应一个物理页。 内核开始,会调用mem_init()函数对整个操作系统的内存管理系统进行一些初始化的 阅读全文
posted @ 2021-03-14 15:29 dynmi 阅读(205) 评论(0) 推荐(0) 编辑
摘要:从机器上电到运行OS发生了什么? 在电脑主板上有一个Flash块,存放了BIOS的可执行代码。它是ROM,断电不会丢掉数据。在机器上电的时候,CPU要求内存控制器从0地址读取数据(程序第一条指令)的时候,内存控制器去主板上的BIOS所在ROM读取数据,此时CPU运行着BIOS。这里BIOS主要做了以 阅读全文
posted @ 2021-03-14 15:27 dynmi 阅读(284) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示