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 #信息学
MIT 6.S081学习笔记(第一章) 〇、前言本章主要是关于实验环境的搭建和完成 LAB UTIL。平台:阿里云 Ubuntu20.04+VScode on macOS(M1 Apple Silicon)。 一、环境搭建1、QEMU QEMU(quick emulator)是一款由法布里斯·贝拉(FabriceBellard)等人编写的通用且免费的可执行硬件虚拟化的(hardwarevirtualization)开源仿真器(Emu 2023-09-10 OS > 系统编程 > Unix/Linux #学习 #笔记 #操作系统 #MIT 6.S081
MIT 6.S081学习笔记(第〇章) 〇、前言 本文涉及 xv6 《第零章 操作系统接口》相关,主要对涉及的进程、I/O、文件描述符、管道、文件等内容产生个人理解,不具有官方权威解释; 文章的目录与书中的目录没有严格的相关性; 文中会有问题 (Question) 字段,这来源于对 xv6 book 的扩展; 文中涉及的代码均能在macOS 12.5 M1 Apple Silicon 运行,文中涉及的所有代码的运行也在该环 2023-09-07 OS 系统编程 Unix/Linux #学习 #笔记 #操作系统 #MIT 6.S081
go Session的实现(一) 〇、前言众所周知,http协议是无状态的,这对于服务器确认是哪一个客户端在发请求是不可能的,因此为了能确认到,通常方法是让客户端发送请求时带上身份信息。容易想到的方法就是客户端在提交信息时,带上自己的账户和密码。但是这样存在着严重的安全问题,可以改进的方法就是,服务器给一个确定的客户端返回一个唯一 id,客户端将这个 id 保存在本地,每次发送请求时只需要携带着这个 id,就可以做到较好的验证 2023-09-02 Golang 前端 Web #网络 #golang #后端 #前端