操作系统
文章平均质量分 92
Physicaloser
博客主页:https://zhayujie.com
个人邮箱:zyj@zhayujie.com
展开
-
MIT6.828/6.S081 - 2019:Lab2 Shell
Mit6.828/6.S081 fall 2019的Lab2是Simple Shell,内容是实现一个简易的shell程序,本文对该实验的思路进行详细介绍,并对xv6提供的shell实现进行深入解析。准备首先来看实验要求:实现的shell要支持 基础命令执行、重定向 (< >) 处理、管道 ( | ) 处理不能使用malloc()动态分配内存使用"@“代替”$"作为命令行的提示符及时关闭文件描述符;对系统调用的异常进行处理xv6中提供有sh.c的实现,除了重定向和管道,还.原创 2020-12-10 20:58:28 · 787 阅读 · 0 评论 -
MIT6.828/6.S081 - 2019:Lab1 Utilities
Mit6.828/6.S081 fall 2019的Lab1是Unix utilities,主要内容为利用xv6的系统调用实现sleep、pingpong、primes、find和xargs等工具。本文对各程序的实现思路及xv6的系统调用流程进行详细介绍。前言在实验之前,推荐阅读一下官网LEC1中提供的资料。其中Introduction是对该课程的的概述,examples则是几个系统编程的样例,这两部分快速浏览一遍即可。对于xv6 book的第一章,则建议稍微细致地阅读一遍,特别是对fork()、.原创 2020-06-07 13:56:09 · 2522 阅读 · 0 评论 -
MIT6.828/6.S081 - 2019:MacOS下搭建xv6和risc-v环境
本文介绍在MacOS下搭建Mit6.828/6.S081 fall2019实验环境的详细过程,包括riscv工具链、qemu和xv6,对于Linux系统同样可以参考。介绍只有了解底层原理才能写好上层应用,曾经几度想要系统地学习OS课程,尝试去看了《计算机操作系统》、《Operating Systems: Three Easy Pieces》、《UNIX环境高级编程》,均以半途而废告终。被大量的抽象概念所淹没,对操作系统如何工作,用户程序如何运行,与CPU等硬件如何交互等问题完全没有清晰的认识。所以.原创 2020-05-27 10:15:52 · 3492 阅读 · 8 评论