随笔分类 -  操作系统

摘要:实验过程任务一 使用kmalloc分配内存先写一个脚本文件run.sh,避免重复的工作:run.shpushd ../../git pullpopdmake run修改Makefile文件如下:ifneq ($(KERNELRELEASE),) obj-m := kmalloc.oelse KERN 阅读全文
posted @ 2023-06-05 13:56 Lumen3ever 阅读(486) 评论(0) 推荐(0)
摘要:目 录 一、 实验目的 3 二、 实验要求 3 三、 实验设计及关键代码实现 3 0. 实验准备 3 1. 使用Thread::Sleep实现锁机制和条件变量 4 2. 使用Semaphore实现锁机制和条件变量 15 3. 使用锁机制和条件变量将实验1里实现的双向链表修改成线程安全的 20 4. 阅读全文
posted @ 2023-05-04 16:15 Lumen3ever 阅读(522) 评论(0) 推荐(0)
摘要:什么是管程? 当共享资源用共享数据结构表示时,资源管理程序可用对该数据结构进行操作的一组过程来表示,如资源的请求和释放过程request和release。把这样一组相关的数据结构和过程一并归为管程。 Hansan为管程所下的定义是:“一个管程定义了一个数据结构和能为并发进程所执行的一组操作(操作要在 阅读全文
posted @ 2023-04-24 22:03 Lumen3ever 阅读(100) 评论(0) 推荐(0)
摘要:目 录 一、 实验目的 3 二、 实验要求 3 三、 实验设计及关键代码实现 3 1. 多线程执行可能出现的问题 3 2. 正确编译Nachos 4 3. 代码涉及的参数 5 4. 实现双向链表 5 5. 线程并发以及并发可能引起的问题 11 问题1:内存共享 12 问题2:覆盖 13 问题3:乱序 阅读全文
posted @ 2023-04-02 18:00 Lumen3ever 阅读(1140) 评论(0) 推荐(0)