xv6 book Chapter5 中文翻译 〇、前言本文是 xv6 book 第五章的翻译,以下将开始翻译。 一、(翻译)第五章 中断和设备驱动驱动程序是操作系统中管理特定设备的代码:它配置设备硬件,指示设备执行操作,处理产生的中断,并与可能正在等待来自设备的输入输出的进程进行交互。驱动程序代码可能会比较棘手,因为驱动程序与其管理的设备并发执行。此外,驱动程序必须理解设备的硬件接口,这可能是复杂的并且文档记录不足。 通常,需要操作系统关 2023-12-04 OS #操作系统 #xv6 #翻译
xv6 book Chapter4 中文翻译 〇、前言本文是 xv6 book 第四章的翻译,以下将开始翻译。 一、(译文)第四章 陷入和系统调用这里有三种事件会导致 CPU 暂停正常执行指令,并强制转移控制权到处理该事件的特殊代码。一种情况是系统调用,当用户程序执行 ecall 指令请求内核为其执行某些操作时。另一种情况是异常:指令(用户或内核)执行了一些非法操作,比如除以零或使用无效的虚拟地址。第三种情况是设备中断,当设备发出信号需要 2023-12-04 OS #操作系统 #xv6 #翻译
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 实验三: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 第三章的翻译,因为原来的中文版翻译地和英文原版意思有出入,几乎很难读下去(并没有否认他们的意思,可能是我自己的问题。后面我可能会考虑重新将整本书都翻译一遍),以下将开始翻译。 一、(译文)第三章 页表页表是最流行的机制,操作系统通过它提供每个进程拥有自己的私有地址空间和内存。页面表确定了内存地址的含义,以及可以访问物理内存的哪些部分。它们使得 xv6 能够隔离 2023-11-18 OS #操作系统 #xv6 #翻译
《OSTEP》信号量(chap31) 〇、前言本文是对《OSTEP》第三十一章的实践与总结。 一、信号量以下各个版本都是一个生产者-消费者模型,基于信号量实现,并且逐渐完善。 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768#i 2023-11-13 OS #学习 #笔记 #操作系统
《OSTEP》条件变量(chap30) 〇、前言本文是对《OSTEP》第三十章的实践与总结。 一、条件变量123456789101112131415161718192021222324252627282930313233343536373839404142434445464748#include <pthread.h>#include <stdio.h>#include <assert.h>int 2023-11-11 OS #学习 #笔记 #操作系统
MIT 6.S081学习笔记(第二章) 〇、前言本文主要完成MIT 6.S081 实验二:system call 一、Using gdb (easy)Question requirements In many cases, print statements will be sufficient to debug your kernel, but sometimes being able to single step through 2023-10-05 OS > 系统编程 > Unix/Linux #学习 #笔记 #操作系统 #MIT 6.S081
ngrok内网穿透以及原理 〇、前言如果要想在本地部署一个服务,且要向不在本局域网的用户展示我们的服务,此时就要用内网穿透工具,把我们的服务变成公网服务。ngrok就是一个很好的工具,操作简单,服务稳定。 一、使用 ngrok1. 下载ngrok下载下来后,这是一个命令行程序,直接可以运行。 2. 配置运行下命令会将 authtoken 添加到默认的 ngrok.yml 配置文件中。 1./ngrok config ad 2023-09-29 NetWork Web #Web #内网穿透
什么是P问题、NP问题和NPC问题 〇、前言在解决马踏棋盘问题时,思考马踏棋盘问题的解的个数时,无意间发现了一篇写得很清晰的好文章,转载一下,原文链接 一、原文这或许是众多OIer最大的误区之一。你会经常看到网上出现“这怎么做,这不是NP问题吗”、“这个只有搜了,这已经被证明是NP问题了”之类的话。你要知道,大多数人此时所说的NP问题其实都是指的NPC问题。他们没有搞清楚NP问题和NPC问题的概念。NP问题并不是那种“只有搜才行 2023-09-24 离散数学 经验方法 #数学 #NP #信息学