Luyoung
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于
MIT 6.S081学习笔记(第六章)(上)

MIT 6.S081学习笔记(第六章)(上)

〇、前言本文主要完成: MIT 6.S081 实验六:Multithreading;开始之前,切换分支: 123$ git fetch$ git checkout thread$ make clean 对知识的回顾。 一、线程1、线程概述为什么需要线程?为了提升性能,单核性能已经很难提升,CPU 的频率几乎已经提升不了多少了,但是可以通过提升CPU 计算单元数来提高算力。 123456
2023-12-07
OS > 系统编程 > Unix/Linux
#学习 #笔记 #操作系统 #MIT 6.S081 #文件系统
MIT 6.S081学习笔记(第五章)

MIT 6.S081学习笔记(第五章)

〇、前言本文主要完成MIT 6.S081 实验五:Copy-on-Write Fork for xv6。开始之前,切换分支: 123$ git fetch$ git checkout cow$ make clean 一、问题Question requirements The fork() system call in xv6 copies all of the parent process’s
2023-12-06
OS > 系统编程 > Unix/Linux
#学习 #笔记 #操作系统 #MIT 6.S081
xv6 book Chapter7 中文翻译

xv6 book Chapter7 中文翻译

〇、前言本文是 xv6 book 第七章的翻译,以下将开始翻译。 一、(翻译)第七章 调度任何操作系统可能会运行比计算机 CPU 数量更多的进程,因此需要一个计划来在这些进程之间进行 CPU 的时间共享。理想情况下,共享对于用户进程应该是透明的。常见的方法是通过将进程复用到硬件 CPU 上,为每个进程提供其拥有独立虚拟 CPU 的假象。本章将解释 xv6 如何实现这种复用。 7.1 复用xv6
2023-12-04
OS
#操作系统 #xv6 #翻译
xv6 book Chapter6 中文翻译

xv6 book Chapter6 中文翻译

〇、前言本文是 xv6 book 第六章的翻译,以下将开始翻译。 一、(翻译)第六章 锁大多数内核,包括 xv6,在执行多个活动时会交错执行。一个交错的来源是多处理器硬件:拥有多个独立执行的CPU的计算机,例如 xv6 的 RISC-V。这些多个CPU共享物理RAM,而 xv6 利用这种共享来维护所有CPU都可以读写的数据结构。这种共享引发了一个可能性,即一个CPU在读取数据结构时,另一个CP
2023-12-04
OS
#操作系统 #xv6 #翻译
xv6 book Chapter5 中文翻译

xv6 book Chapter5 中文翻译

〇、前言本文是 xv6 book 第五章的翻译,以下将开始翻译。 一、(翻译)第五章 中断和设备驱动驱动程序是操作系统中管理特定设备的代码:它配置设备硬件,指示设备执行操作,处理产生的中断,并与可能正在等待来自设备的输入输出的进程进行交互。驱动程序代码可能会比较棘手,因为驱动程序与其管理的设备并发执行。此外,驱动程序必须理解设备的硬件接口,这可能是复杂的并且文档记录不足。 通常,需要操作系统关
2023-12-04
OS
#操作系统 #xv6 #翻译
xv6 book Chapter4 中文翻译

xv6 book Chapter4 中文翻译

〇、前言本文是 xv6 book 第四章的翻译,以下将开始翻译。 一、(译文)第四章 陷入和系统调用这里有三种事件会导致 CPU 暂停正常执行指令,并强制转移控制权到处理该事件的特殊代码。一种情况是系统调用,当用户程序执行 ecall 指令请求内核为其执行某些操作时。另一种情况是异常:指令(用户或内核)执行了一些非法操作,比如除以零或使用无效的虚拟地址。第三种情况是设备中断,当设备发出信号需要
2023-12-04
OS
#操作系统 #xv6 #翻译
MIT 6.S081学习笔记(第四章)

MIT 6.S081学习笔记(第四章)

〇、前言本文主要完成MIT 6.S081 实验四:traps。开始之前,切换分支: 123$ git fetch$ git checkout traps$ make clean RISC-V assembly (easy)Question requirementsIt will be important to understand a bit of RISC-V assembly, which
2023-11-24
OS
#学习 #笔记 #操作系统 #MIT 6.S081
MIT 6.S081学习笔记(第三章)

MIT 6.S081学习笔记(第三章)

〇、前言本文主要完成MIT 6.S081 实验三:page tables。开始之前,切换分支: 123$ git fetch$ git checkout pgtbl$ make clean 一、Speed up system calls (easy)这个实验比底下两个都难,但是它的难度是简单? Question requirements Some operating systems (e.g.
2023-11-22
OS
#学习 #笔记 #操作系统 #MIT 6.S081
xv6 book Chapter3 中文翻译

xv6 book Chapter3 中文翻译

〇、前言本文是 xv6 book 第三章的翻译,因为原来的中文版翻译地和英文原版意思有出入,几乎很难读下去(并没有否认他们的意思,可能是我自己的问题。后面我可能会考虑重新将整本书都翻译一遍),以下将开始翻译。 一、(译文)第三章 页表页表是最流行的机制,操作系统通过它提供每个进程拥有自己的私有地址空间和内存。页面表确定了内存地址的含义,以及可以访问物理内存的哪些部分。它们使得 xv6 能够隔离
2023-11-18
OS
#操作系统 #xv6 #翻译
《OSTEP》信号量(chap31)

《OSTEP》信号量(chap31)

〇、前言本文是对《OSTEP》第三十一章的实践与总结。 一、信号量以下各个版本都是一个生产者-消费者模型,基于信号量实现,并且逐渐完善。 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768#i
2023-11-13
OS
#学习 #笔记 #操作系统
1…1415161718…23

搜索

Hexo Fluid
总访问量 次 总访客数 人