081

uniGUI学习之脱离Delphi直接写ExtJS从入门到精通081ExtJs学习之Button.setStyle

最少代码:HelloWorld.html源文件下载 https://docs.sencha.com/extjs/6.7.0/classic/Ext.button.Button.html 点击 事件 <link rel="stylesheet" href="theme-gray-all.css"> < ......
setStyle uniGUI Delphi Button ExtJS

我的收藏周刊081

文章分享 如何在WordPress网站底部中间添加备案号 简单修改一下就可以支持,不过需要注意更换主题之后需要同步修改。 SONiC/SAI诞生这么些年,为何开放网络方案依旧难以落地和普及 这是知乎上的一个提问,其实所谓的落地和普及是一个很难企及的状态,可以关注一下SONiC的发展路径。 引领SON ......
周刊 081

xv6 进程切换中的锁:MIT6.s081/6.828 lectrue12:Coordination 以及 Lab6 Thread 心得

引言 这节课和上一节xv6进程切换是一个完整的的进程切换专题,上一节主要讨论进程切换过程中的细节,而这一节主要讨论进程切换过程中锁的使用,所以本节的两大关键词就是"Coordination"(协调)和 "lost wakeup" Coordination 就是有关出让CPU,直到等待的事件发生再恢复 ......
Coordination 进程 心得 lectrue Thread

xv6 中的进程切换:MIT6.s081/6.828 lectrue11:Scheduling 以及 Lab6 Thread 心得

# 絮絮叨 这两节主要介绍 xv6 中的**线程切换**,首先预警说明,这节课程的容量和第 5/6 节:[进程的用户态到内核态的切换](https://www.cnblogs.com/looking-for-zihuatanejo/p/17644000.html)一样,**细节多到爆炸**,连我自己 ......
Scheduling 进程 心得 lectrue Thread

XV6中的锁:MIT6.s081/6.828 lectrue10:Locking 以及 Lab8 locks Part1 心得

这节课程的内容是锁(本节只讨论最基础的锁)。其实**锁本身就是一个很简单的概念**,这里的简单包括 3 点: 1. **概念简单**,和实际生活中的锁可以类比,不像学习虚拟内存时,现实世界中几乎没有可以类比的对象,所以即使这节课偏向于理论介绍,也一点不会感觉晦涩。 2. **使用简单**,几乎所有的 ......
心得 Locking lectrue 6.828 Part1

MIT6.s081/6.828 lectrue07:Page faults 以及 Lab5 心得

本篇博客主要是复习 MIT6.s081/6.828 lectrue07:Page faults 以及记录 Lab5 :COW fork 的心得 值得一提的是,2020 年之前的版本第 5 个 lab 是 lazy alloction,但是到了 2020 年之后就换成了难度稍高一点的 COW fork ......
心得 lectrue faults 6.828 MIT6

MIT6.s081/6.828 lectrue5/6:System call entry/exit 以及 Lab4 心得

这篇博客主要复习 lecture05:GDB calling conentions 和 lecture06:System call entry/exit 的内容,外加 Lab4:traps 的心得 # 前置知识 这里的前置知识是指 lecture05:GDB calling conentions 的 ......
lectrue5 心得 lectrue System 6.828

MIT6.s081/6.828 lectrue4:page tables 以及 Lab3 心得

不管是计算机组成还是操作系统,**虚拟内存**都是其中的重要内容,所以这一节我会结合 **CSAPP 第九章:虚拟内存** 来一起复习(顺便一说,CSAPP 这一节的 lab 是要求设计一个**内存分配器**,也是很有意思的,有时间一定要把 CSAPP 的 lab 博客也补上!) 这一节主要讨论** ......
lectrue4 心得 lectrue tables 6.828

MIT6.s081/6.828 lectrue2:OS design 以及 Lab2 心得

这节课主要介绍 OS 的顶层设计以及 OS 启动流程和系统调用流程 前置知识:要求阅读 xv6 book chapter2 和 xv6 源码: [kernel/proc.h](https://github.com/mit-pdos/xv6-riscv/blob/riscv/kernel/proc.h ......
lectrue2 心得 lectrue design 6.828

MIT 6.S081 Lec14: File system

Overview 文件系统的设计目标就是组织和存储数据,文件系统一个比较重要功能是持久化,即重启之后,数据不会丢失。xv6 通过把数据存储在 virtio disk 上来实现持久化。 文件系统设计的几大挑战: The file system needs on-disk data structures ......
system File MIT 081 Lec

Mit6.s081 Lec15: xv6 的 logging system

Logging layer file system 设计的一大重要问题就是 crash recovery。这是因为文件系统操作往往涉及向磁盘多次写入,而几次写入之后的 crash 可能导致磁盘上的文件系统处于一个不一致的状态。 For example, suppose a crash occurs ......
logging system Mit6 Mit 081

MIT 6.S081 File system performance and fast crash recovery

引入 当我们针对文件系统讨论 logging 或者 journal 时,其实是在讨论同一件事,二者是同义词。 这一部分主要是讨论 Linux 的 ext3 文件系统,它相比 ext2,可以就说就是加了一层 logging,其他基本没有改变。我们要关注 ext3 与 xv6 的文件系统的不同之处,重点 ......
performance recovery system crash File

Mit6.s081 Lec14

Logging layer file system 设计的一大重要问题就是 crash recovery。这是因为文件系统操作往往涉及向磁盘多次写入,而几次写入之后的 crash 可能导致磁盘上的文件系统处于一个不一致的状态。 For example, suppose a crash occurs ......
Mit6 Mit 081 Lec 14

MIT 6.S081 Lec13: File system

Overview 文件系统的设计目标就是组织和存储数据,文件系统一个比较重要功能是持久化,即重启之后,数据不会丢失。xv6 通过把数据存储在 virtio disk 上来实现持久化。 文件系统设计的几大挑战: The file system needs on-disk data structures ......
system File MIT 081 Lec

MIT 6.S081 Thread switching

Multiplexing xv6 通过将 cpu 从一个进程切换到另一个进程来实现 multiplex(多路复用),进程的切换会在两种情形下发生: xv6 的 sleep 与 wakeup 机制在进程等待 IO 完成或者等待子进程退出又或者在 sleep 系统调用中等待的时候切换进程。 xv6 会周 ......
switching Thread MIT 081

MIT 6.S081 Multiprocessors and locking

why lock 防止多核并行运行下的 race condition 导致的错误。 内核中的数据是典型的 concurrently-accessed 的数据。 race condition and how the lock avoid it A race condition is a situati ......
Multiprocessors locking MIT 081 and

MIT6.s081/6.828 lectrue1:Introduction and examples

目前课程官网能够查到 2020,2021.2022 秋季的课程表,但是视频都是 2020 年录制的那一版 简单复习+回顾下自己的 OS 学习之旅 ## 参考资料: 官网:https://pdos.csail.mit.edu/6.828/2022/schedule.html 视频翻译:https:// ......
Introduction lectrue1 examples lectrue 6.828

MIT 6.S081 Page faults

概述 这一章主要聚焦于,我们利用 virtural memory 和 page fault 这两个机制,能够实现一些什么样的有意思的优化。 虚拟内存的有两大优势: Isolation,保证每个进程都有它自己的虚拟地址空间,写自己的虚拟地址处的数据不会破坏其他进程的数据; Levle of indir ......
faults Page MIT 081

MIT6.S081学习笔记--lec 1

# 引言 ## 操作系统的目标 + abstract H/W `抽象化硬件` + multiplex `多路复用` + isolation `隔离性` + sharing `共享(进程通信,数据共享)` + security / access control `安全性/权限控制` + perform ......
笔记 MIT6 MIT 081 lec

abc081d <思维 构造>

[D - Non-decreasing](https://atcoder.jp/contests/abc081/tasks/arc086_b) ``` // https://atcoder.jp/contests/abc081/tasks/arc086_b // // 两种情况非常容易构造 : 全整 ......
思维 081d abc 081 lt

MIT 6.S081 Isolation & System call entry/exit

Trap 机制 程序运行往往需要完成用户空间和内核空间的切换,每当: 程序执行系统调用(system call); 程序出现了 page fault 等错误; 一个设备触发了中断; 都会发生这样的切换。 这里用户空间切换到内核空间通常被称为 trap,因此有时候我们会说程序“陷入”到内核态。trap ......
Isolation System entry call exit

MIT 6.S081 页表

Paging hardware 总的来说,Xv6 的虚拟内存到物理内存的映射方式与 x64 是一致的,都是使用页表来进行映射。区别在于,Xv6 只使用了三级页表,而 x64 则是使用四级页表,另外,二者的页表层级的命名也有区别,对 Xv6 来说,最高级的页表是 L3(其地址存放于寄存器 satp 中 ......
MIT 081

MIT 6.S081 操作系统组织架构

进程概述 64 位的 RISC-V 的 VAS 是 39 位的,即 VA 只有 39 位,而 Xv6 则只有 38 位,最大虚拟地址为 #define MAXVA 0x3fffffffff。 VAS 的顶端,即最高位存放了两个 page,一个是用于 trampoline,一个用于 mapping t ......
组织架构 架构 系统 MIT 081

MIT 6.s081 实验环境搭建

准备工作 Linux 系统,我是在实验室配的主机上装了 Debian Bookworm,然后mac 通过 ssh 连接上去进行操作,宿舍里则是使用的 wsl2,里面的发行版也是 Debian Bookworm。 开始配置 clone 源码 在 ~/Documents/code/mit 目录下执行 g ......
环境 MIT 081

MIT6.S081 DAY 1 2023.6.10

# MIT6.S081 DAY 1 2023.6.10 希望自己能在这个暑假把整个OS课程跟下来吧,xv6什么的实验和课设都能完成就更好了,希望自己的实力在暑假能得到提升! 加油加油加油! ## 1 - Introduction and Examples ![img](https://img2023 ......
MIT6 2023 MIT 081 DAY

mit6.s081 lab2: system calls

1.system call tracing(moderate) 要求:创建一个系统调用来实现跟踪特性,它采用一个参数来指定跟踪哪一个系统调用,例如:跟踪fork系统调用,程序调用trace(1<<SYS_fork),其中SYS_fork是kernel/syscall.h中的系统调用号。如果在掩码中设 ......
system calls mit6 lab2 mit

mit6.s081 lab1:Unix Utilities

1 sleep(easy) 要求:为 xv6实现 UNIX 程序睡眠; 睡眠需要暂停一段用户指定的时间。刻度是由 xv6内核定义的时间概念,即定时器芯片两次中断之间的时间。解决的程序应该在 user/sleep. c 文件中。 一些小提示: 查看user/中的其它程序,如echo.c,grep.c或 ......
Utilities mit6 lab1 Unix mit
共27篇  :1/1页 首页上一页1下一页尾页