xv6 - lab0 - Introduction

news/2024/10/22 0:34:02/

MIT 6.S081 课程介绍

1 说明背景

1.1 课程概述

  • 核心理念:边做边学
  • 目录描述:操作系统的设计与实现,将用于系统编程的基础。
  • 主题包括:虚拟内存、文件系统、多线程、上下文切换、内核、中断、系统调4)用、进程间通信、软硬件间的协调与交互。
  • 演示环境:通过基于RISC-V架构的多处理器操作系统xv6。个别实验作涉及拓展xv6操作系统,例如支持复杂的虚拟内存特性和网络。

1.2 课程通告

适用人群是喜欢 6.004(Computation Structures) 的本科生、想要学习操作系统的设计与实现、想要将该课程作为系统编程的基础使用。

2 课程内容

  • 课程内容简介:课程的目标、XV6、操作系统的目标
  • 操作系统结构:硬件资源、应用程序、操作系统结构、内核、连接内核与用户程序的接口、内核软件的架构、内核中的服务、文件系统、进程管理系统、系统调用
  • 挑战和乐趣:内核的编程环境、矛盾的需求、高效vs易用、功能强大vs接口简单、接口灵活vs安全性能、相互交互、面向未来设计
  • 课程结构和资源:课程计划、lab、课程结构、Piazza
  • 系统调用:XV6、RISC-V微处理器、copy.c、read, write, exit系统调用
  • 系统调用:字节流、open系统调用,文件描述符,文件描述符空间、表单数据
  • Shell:命令行接口、RISC-V系统调用指令ecall
  • 系统调用:fork系统调用,复制进程内存、PID、父进程、子进程
  • 系统调用:exec系统调用,保留当前进程表单、替换当前进程内存、fork/exec组合、wait调用
  • I/O重定向:Shell、改变文件描述符、fork/exec、write/read

3 前置准备

这一课需要了解C语言知识和GDB用法作为前置准备。

4 References

  1. MIT6.S081-chapter0.html
  2. lec01-introduction-and-examples

http://www.ppmy.cn/news/10271.html

相关文章

STM32MP157驱动开发——Linux DAC驱动

STM32MP157驱动开发——Linux DAC驱动0.前言一、DAC 简介二、驱动源码分析1.设备树下的 DAC 节点2.驱动源码分析1)stm32_dac 结构体2)stm32_adc_probe 函数3)stm32_dac_iio_info 结构体三、驱动开发1.修改设备树2.使能DAC驱动四、 运行测试0.…

Spring Boot学习篇(八)

Spring Boot学习篇(八) 1.thymeleaf模板引擎使用篇(二) 1.1 配置通过地址栏直接访问html页面 1.1.1 在zlz包下创建filter包,其目录结构如下所示 1.1.2 在filter包下创建HTMLFilter类,其内容如下所示 package com.zlz.filter;import javax.servlet.*; import javax.servlet.…

创建List保存学生信息

1 问题创建一个存储学生对象的集合,存储3个学生对象,使用程序实现在控制台遍历该集合。2 方法1、定义学生类2、创建List集合对象3、创建学生对象4、将学生添加到集合5、遍历集合创建的学生类代码:package no10;public class Student { …

Linux中的哈希表:基于双链表的内核模块

1. 前言Linux内核中选取双向链表作为其基本的数据结构,并将其嵌入到其他的数据结构中,使得其他的数据结构不必再一一实现其各自的双链表结构。实现了双链表结构的统一,同时可以演化出其他复杂数据结构。本文对linux中基于双链表实现的哈希表进…

一体化Ethercat通信伺服电机在汇川H5U PLC上的应用案例介绍(下)

内容介绍了一体化低压伺服Ethercat通信的电机在汇川H5UPLC上的使用,一体化Ethercat通信伺服电机在汇川H5U PLC上的应用案例介绍(上)主要讲解环境的搭建以及使用AutoShop软件的在线调试功能,简单控制电机位置、速度模式运行。那么本篇我们就来讲解下使用汇…

【HTML】纯CSS居然能做出这种效果,一款宝藏网页分享(超详细讲解 | 附源码)

💂作者简介: THUNDER王,一名热爱财税和SAP ABAP编程以及热爱分享的博主。目前于江西师范大学会计学专业大二本科在读,同时任汉硕云(广东)科技有限公司ABAP开发顾问。在学习工作中,我通常使用偏后…

【博客573】linux内核层丢包排查方法汇总

linux丢包排查方法汇总 1、排查网卡丢包 命令1: ifconfig xxx ifconfig eth0 eth0 Link encap:Ethernet HWaddr AC::3D:A9::0Dinet addr:211.211.211.211 Bcast:211.211.211.255 Mask:255.255.255.0UP BROADCAST RUNNING MULTICAST MTU: Metric:RX pac…

【Linux】简单理解静态库(.a)和动态库(.so)

在程序运行的基础原理这篇文章中,最后的代码进行链接过程,我们提到了动态库和静态库的概念。那么什么是动态库和静态库呢?我们来简单理解一下 静态库和动态库1.静态库1.1 静态链接优点1.2 静态链接缺点2.动态库2.1 动态链接的优点2.2 动态链接…