vivi源码分析vivi的代码包括arch,init,lib,drivers和include等几个目录,共200多条文件。  vivi主要包括下面几个目录: arch:此目录包括了所有vivi支持的目标板的子目录,例如s3c2410,s3c2440目录。drivers:其中包括了引导内核需要的设备的驱动程序(MTD和串口)。MTD目录下分map、nand和nor三个目录。ini            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-09 15:15:32
                            
                                41阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            调度 任何操作系统都可能碰到进程数多于处理器数的情况,这样就需要考虑如何分享处理器资源。理想的做法是让分享机制对进程透明。通常我们对进程造成一个自己独占处理器的假象,然后让操作系统的多路复用机制(multiplex)将单独的一个物理处理器模拟为多个虚拟处理器。本章将讲述 xv6 是如何为多个进程模拟            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2018-11-10 22:17:00
                            
                                176阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            锁 xv6 运行在多处理器上,即计算机上有多个单独执行代码的 CPU。这些 CPU 操作同一片地址空间并分享其中的数据结构;xv6 必须建立一种合作机制防止它们互相干扰。即使是在单个处理器上,xv6 也必须使用某些机制来防止中断处理程序与非中断代码之间互相干扰。xv6 为这两种情况使用了相同的低层概            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2018-11-10 22:16:00
                            
                                106阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            简单梳理一下xv6系统调用实验(trace、sysinfo)的相关内容,如有理解偏差,评论区指正。            
                
         
            
            
            
            本节包含以下主题:关于使用CloneDB克隆数据库使用CloneDB克隆数据库使用CloneDB克隆数据库后 
   关于使用CloneDB克隆数据库 
   出于测试目的或其他目的克隆生产数据库通常是必要的。克隆生产数据库的常见原因包括:      部署使用数据库的新应用程序或现有应用程序的更新运行数据库的系统上计划的操作系统升级数据库安装的新存储报告分析旧数据 在部署新应用程序,执行            
                
         
            
            
            
            前文讲述了 xv6 的启动过程,本文接着讲述 xv6 内存管理的部分,直接来看。公众号:Rand_cs启动部分完善前文只是介绍了启            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-12-26 10:05:33
                            
                                127阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            文件系统公众号:Rand_cs本文继续来看 xv6xv6xv6 的文件系统部分,xv6xv6xv6 将文件系统的设计分为 7 层:磁盘→缓存区→日志→inode→目说了,本文接着讲述 i            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-12-26 10:03:49
                            
                                86阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            LOCK公众号:Rand_cs锁,大家应该很熟悉了,用来避免竞争,实现同步。本文以 xv6 为例来讲解锁本身是怎么实现的,废话不多说,先来看一些需要了解的概念:一些概念公共资源:顾名思义就是被多个任务共享的资源,可以是公共内存,也可以是公共文件等等临界区: 要访问使用公共资源,肯定得通过一些代码指令去访问,这些代码            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-12-26 10:04:04
                            
                                133阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            转自:https://blog.csdn.net/yinglang19941010/article/details/49310111 如果想要离线看教程,可以下载该 文档 一、使用工具说明 1. xv6 源代码文件(以下三选一) 1)http://download.csdn.net/detail/y            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2019-01-29 11:10:00
                            
                                290阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            xv6 不需要内核页表同步,因为 xv6 在启动的时候,内核地址空间的映射关系已经建立好了,而纵观代码也没有修改内核地址空间映射            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-12-23 22:21:49
                            
                                0阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            xv6没有ps命令,但是可以输入ctrl-p可以看到进程的信息,一个是init,一个是sh.如果在终端输入ls命令,能看到输出。退出qemu: Ctrl-a x。从github中下载xv6代码。大多数都是可以直接运行的命令。            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-08-22 15:18:07
                            
                                104阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            lazy allocationtest pgbug: FAILED在系统调用函数(如sys_pipe)中,检测到致命错误(例如访问非法内存)时,不能直接用p->killed = 1,而是要return -1。            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-10-14 15:05:27
                            
                                282阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            本期博文为一个XV6实验环境的搭建教程,XV6是一个开源的操作系统,很多学校都是在使用这个操作系统来进行操作系统课程的教学,在安装过程中时长会出现一些问题,所以本期出了一期演示VX6实验环境的搭建过程。            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-10-26 00:16:57
                            
                                330阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            上下文切换分为两种情况 用户程序陷入到内核,再从内核返回 两个应用程序之间的上下文切换 用户程序陷入到内核 用户程序陷入到内核通过中断INT指令,在xv6中系统调用的号为64 操作系统在初始化的时候会建立IDT表以及GDT表 通过INT找到IDT中的项,通过IDT中的项找到GDT中的项,最后定位到代            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2018-11-10 13:25:00
                            
                                411阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            这一章 讲操作系统是如何实现进程并发、进程隔离和进程交互(multiplexing isolation and interaction)操作系统需要同时支持多个进程。如一个进程可以使用fork来启动新的进程            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-10-10 15:53:24
                            
                                76阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            XV6文件系统 buffer cache在内存中,大小有系统定义。对文件的操作都是对buffer cache进行操作的。对原始数据块的操作通过ide.c驱动程序进行磁盘数据的块读取。磁盘中存放的数据结构如下boot为操作系统的应道块,super记录了磁盘的信息(inodes的个数,起始地址,bit的            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2018-11-10 13:25:00
                            
                                315阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            第一个进程 本章通过第一个进程的创建来解释 xv6 是如何开始运行的,让我们得以一窥 xv6 提供的各个抽象是如何实现和交互的。xv6 尽量复用了普通操作的代码来建立第一个进程,避免单独为其撰写代码。接下来的各小节中,我们将详细探索其中的奥秘。 xv6 可以运行在搭载 Intel 80386 及其之            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2018-11-10 13:38:00
                            
                                277阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            磁盘驱动程序本文来聊聊磁盘驱动程序,驱动程序是硬件的接口,操作系统通过这个接口来控制硬件工作,所以驱动程序就好比是硬件和系统之间的桥梁。这是百科上给出的解释,可能看起来还是云里雾里,我来做做注解。每个硬件都有自己的 “CPU”(控制器),寄存器,有着自己的一套执行逻辑。对外提供了一些列的物理接口,就是那一个个端口(寄            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-12-26 10:05:10
                            
                                427阅读
                            
                                                                             
                 
                
                                
                    