ucore专题

ucore_lab7

练习1 理解内核级信号量的实现和基于内核级信号量的哲学家就餐问题 完成练习0后,建议大家比较一下(可用kdiff3等文件比较软件)个人完成的lab6和练习0完成后的刚> 修改的lab7之间的区别,分析了解lab7采用信号量的执行过程。执行make grade,大部分测试用应该通过。 [练习1.1]请在实验报告中给出内核级信号量的设计描述,并说其大致执行流流程。 答: 在ucore中,通

ucore-lab7

练习1 理解内核级信号量的实现和基于内核级信号量的哲学家就餐问题 完成练习0后,建议大家比较一下(可用kdiff3等文件比较软件)个人完成的lab6和练习0完成后的刚> 修改的lab7之间的区别,分析了解lab7采用信号量的执行过程。执行make grade,大部分测试用应该通过。 [练习1.1]请在实验报告中给出内核级信号量的设计描述,并说其大致执行流流程。 答: 在ucore中,通

【Ucore操作系统】6. 文件系统与I/O重定向

文章目录 【 0. 引言 】【 1. 文件系统接口 】1.1 文件和目录1.1.1 常规文件1.1.2 目录1.1.3 文件系统 1.2 简易文件与目录抽象1.3 打开文件与读写文件的系统调用1.3.1 文件的打开1.3.2 文件的顺序读写 【 2. nfs 文件系统 】2.1 文件系统布局2.2 virtio 磁盘驱动2.3 磁盘块缓存2.4 inode的操作2.5 文件在进程中的结构

【Ucore操作系统】8. 并发

文章目录 【 0. 引言 】0.1 线程定义0.2 同步互斥 【 1. 内核态的线程管理 】1.1 线程概念1.2 线程模型与重要系统调用1.2.1 线程创建系统调用1.2.2 等待子线程系统调用1.2.3 进程相关的系统调用 1.3 应用程序示例1.3.1 系统调用封装1.3.2 多线程应用程序 – threads 1.4 线程管理的核心数据结构1.4.1 线程控制块1.4.2 包含线程的

ucore OS

初试ucore os,很感兴趣,争取一天学习一个lab

【uCore 操作系统】1. 应用程序与基本执行环境

文章目录 【 1. 代码框架简述 】1.1 OS 是怎么跑起来的?1.1.1 qemu 的作用1.1.2 rustsbi.bin 的作用 1.2 qemu 是怎么跑起来的?1.3 OS 文件夹1.3.1 kernel.ld1.3.2 entry.S1.3.3 main.c1.3.4 sbi.c 1.4 bootloader 文件夹 【 2. makefile 和 qemu 】2.1 make

ucore—17至20讲:同步互斥、信号量、死锁、进程通信

文章目录 第十七讲:同步互斥17.1 背景17.2 现实生活中的同步问题17.3 临界区及同步实现方式17.3.1 临界区17.3.2 禁用硬件中断实现同步17.3.3 基于软件的同步17.3.4 高级抽象的同步方法(锁) 第十八讲:信号量与管程18.1 信号量18.2 信号量的使用18.3 管程18.4 经典进程同步18.4.1 生产者-消费者问题18.4.2 读者-写者问题18.4.3

ucore—23讲:I/O系统

文章目录 第二十三讲:I/O子系统23.1 I/O特点23.1.1 设备接口类型23.1.2 同步和异步I/O 23.2 I/O结构(重要)23.3 I/O数据传输23.4 磁盘调度(类比处理机调度)23.5 磁盘缓存 第二十三讲:I/O子系统 23.1 I/O特点 23.1.1 设备接口类型 三种常见的设备 设备访问特征 在unix/linux中,所有IO设备都模型

ucore—15至16讲:处理机调度

文章目录 第十五讲:处理机调度15.1 处理机调度概念15.2 调度准则15.3 调度算法(考虑就绪队列)15.3.1 先来先服务(FCFS)15.3.2 短进程优先(SPN/SPF)15.3.3 高响应比优先(HRRN) 15.4 调度算法(考虑执行时间)15.4.1 时间片轮转算法(Round-Robin)15.4.2 多级队列调度算法(MQ)15.4.3 公平共享调度(FSS) 15.

ucore—11至14讲:进程与线程

文章目录 第十一讲:进程和线程11.1 进程的概念11.2 进程控制块11.3 进程状态11.4 三状态进程模型11.5 挂起进程模型(重要)11.6 线程概念11.7 线程实现之—用户线程实现(重要)11.8 线程实现之—内核线程实现11.9 线程实现之—轻量级进程(混合实现) 第十二讲:进程控制12.1 进程切换12.2 进程创建12.3 进程加载12.4 进程等待与退出12.5 其他进

ucore—8至10讲:虚拟内存管理

文章目录 第八讲:虚拟存储概念8.1 虚拟存储的需求背景8.2 覆盖和交换覆盖交换 8.3 局部性原理8.4 虚拟存储概念(重要)8.5 虚拟页式存储8.6 缺页异常 第九讲:页面置换算法9.1 页面置换算法的概念9.2 局部页面置换算法(为什么LRU开销大??)最优置换算法(OPT)先进先出算法(FIFO)最近最久未使用/最近最少使用(LRU)时钟置换算法(Clock)最不常用算法(LFU

UCore-OS实验Lab0

实验内容:搭建ucore-os的实验环境 实验准备内容:vmware虚拟机,ubuntu22.04镜像,qemu7.0.0源码 ucore代码地址 GitHub - chyyuu/os_kernel_lab at x86-32 实验步骤: 在vmware中安装ubuntu,因为我个人喜欢用最新版,所以选用了22.04,如果到了2024年时就会用24.04了 安装好ubuntu后,准备编

操作系统 ucore lab0

环境配置及x86-32硬件简介 虚拟环境 因课程需要,在之前进行计算机网络实验时,下载安装过VMware,现在我使用的版本为VMware 15 Pro。 操作环境 正巧的是,我为了比较不同版本的Linux系统,在电脑上同时装有Ubuntu 18.04.1、CentOS 7和Kali Linux,所以我也直接使用了已有的Ubuntu 18.04.1,由于之前没有过多使用,所以该虚拟机还处于裸

ucore lab1:系统软件启动过程

实验一:系统软件启动过程 练习1:理解通过make生成执行文件的过程。 1.1 操作系统镜像文件ucore.img是如何一步一步生成的?(需要比较详细地解释Makefile中每一条相关命令和命令参数的含义,以及说明命令导致的结果) 1.1.0 执行make V=命令查看具体执行关于生成kernel和bootblock的相关命令。 1.1.1 kernel的生成 · ( c a l