摘要: 平山阑槛倚晴空,山色有无中。手种堂前垂柳,别来几度春风。 文章太守,挥毫万字,一饮千钟。行乐直须年少,尊前看取衰翁。 阅读全文
posted @ 2023-12-24 20:07 trashwin 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 宝钗分,桃叶渡,烟柳暗南浦。怕上层楼,十日九风雨。断肠片片飞红,都无人管,更谁劝、啼莺声住? 鬓边觑,试把花卜归期,才簪又重数。罗帐灯昏,哽咽梦中语。是他春带愁来,春归何处,却不解带、将愁去。 阅读全文
posted @ 2023-12-24 20:05 trashwin 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 操作系统必须满足三个要求:多路,隔离,交流。 用户模式和管理模式 强隔离要求应用程序和操作系统之间有一个硬边界。如果应用程序出错,我们不希望操作系统失败或其他应用程序出错,相反操作系统应该能够清理失败的应用程序并继续运行其他应用程序。为了实现强隔离,操作系统必须安排应用程序不能修改(甚至读取)操作系 阅读全文
posted @ 2023-12-09 14:27 trashwin 阅读(15) 评论(0) 推荐(0) 编辑
摘要: in linux 调用mmap,会申请一段内存空间(文件的内存映射部分),并且自动映射到指定的文件内存映射部分。 mmap void *mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offset); addr为用 阅读全文
posted @ 2023-12-06 17:23 trashwin 阅读(52) 评论(0) 推荐(0) 编辑
摘要: xv6 file system 在我看来文件系统某种程度上是最复杂的一部分(单从页数也足以说明了),而且我对文件系统的了解其实很少,因此这部分仔细看了一下。 xv6文件系统提供类似unix的文件、目录和路径名,并将其数据存储在virtio磁盘上以实现持久化。 文件系统解决了几个挑战: 文件系统需要磁 阅读全文
posted @ 2023-12-04 18:45 trashwin 阅读(47) 评论(0) 推荐(0) 编辑
摘要: 虚拟内存提供了一定程度的间接性:内核可以通过将PTE标记为无效或只读来拦截内存引用,从而导致页面错误,并可以通过修改PTE来更改地址的含义。 xv6中的fork系统调用将父进程的所有用户空间内存复制到子进程中。如果父对象很大,则复制可能需要很长时间。更糟糕的是,这项工作经常被大量浪费:fork通常在 阅读全文
posted @ 2023-12-03 18:22 trashwin 阅读(30) 评论(0) 推荐(0) 编辑
摘要: Interrupts and device drivers 驱动程序是操作系统中管理特定设备的代码:它配置设备硬件,告诉设备执行操作,处理由此产生的中断,并与可能等待设备I/O的进程进行交互。驱动程序需要与它所管理的设备并发执行并且必须理解设备的硬件接口,编写代码可能很棘手。 设备通常可以产生中断, 阅读全文
posted @ 2023-12-01 21:26 trashwin 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 少年听雨歌楼上,红烛昏罗帐。 壮年听雨客舟中,江阔云低、断雁叫西风。 而今听雨僧庐下,鬓已星星也。 悲欢离合总无情,一任阶前、点滴到天明。 阅读全文
posted @ 2023-12-01 21:23 trashwin 阅读(2) 评论(0) 推荐(0) 编辑
摘要: thread 之前未解决的问题 tp是什么? the thread pointer, which xv6 uses to hold this core's hartid (core number), the index into cpus[],实际上是存放着hartid的寄存器 hartid是什么? 阅读全文
posted @ 2023-11-28 11:39 trashwin 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 运行时类型识别即RTTI主要由以下两个运算符实现 typeid,返回表达式类型 dynamic_cast,将基类指针或引用安全地转换成派生类指针或引用 运算符会自动使用指针或引用对象的动态类型。特别适用于想用基类指针或引用来执行派生类的不是虚函数的操作,即无法使用虚函数的情况。但实际上尽可能定义虚函 阅读全文
posted @ 2023-11-23 23:51 trashwin 阅读(20) 评论(0) 推荐(0) 编辑