仿真操作系统实现LRU虚拟内存替换算法,已通过测试。
为了熟悉作业管理和虚页内存管理,了解作业及进程并发操作和虚页调度算法,并能够通过完成硬件结构的设计来实现进程并发、虚页调度、死锁检测等几大基本功能,我们选择了可视化仿真实现作业管理与虚页内存管理这一课题。
在学习相关知识之后,我们实现了裸机硬件的仿真、作业及进程调度的仿真、内存管理的仿真等功能,并通过可视化方式呈现。
裸机硬件的仿真包括CPU、内存Memory、硬盘Disk、时钟、中断和MMU地址变换部件等设计与实现。
其中CPU包含PC寄存器、PSW寄存器、IR寄存器等。
内存Memory大小为32KB,每个物理块大小512B,共64个物理块。
硬盘Disk大小为1MB,1个柱面中有32个磁道,1个磁道中有64个扇区,1个扇区为1个物理块,每个物理块的大小为512B。
MMU地址变换部件负责将逻辑地址转换为物理地址。
内存管理包括虚页内存的设计与实现、页表与快表的设计、内存替换算法等。
快表和页表的表项Page类,包含了页号、对应的块号和访问次数等信息。
快表FastTable和页表PageTable,实现了插入表项、判断是否命中、返回物理块号等功能。
LRU页面替换算法是在MMU地址变换部件中实现的,淘汰最近最长时间没有访问到的页面。
1
利用stm32的串口中断和系统时钟中断实现对上位机韦根26的串口数据接收,并将其转化为韦根26发送出去。
2025/1/29 22:57:29 3.57MB stm32 韦根26
1
操作系统-时钟中断-模拟时钟中断的产生及设计一个对时钟中断事件进行处理的模拟程序,含详细代码
2024/4/16 8:10:46 39KB 操作系统 时钟中断 代码
1
orange's一个操作系统的实现,操作系统实验。
实现分时的进程调度和事件触发的进程调度。
要求如下:1.三个用户进程A、B、C功能分别是打印出“hello,IamprocA/B/C”2.系统启动先运行A,然后通过键盘中断切换到B运行;
B运行10个时钟周期后,切换到C。
2023/12/15 14:55:24 47KB 操作系统实验 orange bochs
1
操作系统-时钟中断-模仿时钟中断的产生及设计一个对时钟中断事件进行处理的模仿程序(含报告及源码)
2017/5/19 21:17:32 39KB 模拟时钟中断
1
这是一个操作系统实验课上的全部内容,这一实验为时钟中断处理程序和键盘中断响应程序.本次实验的内容为操作系统工作期间,利用时钟中断,在屏幕24行79列位置轮番显示’|’、’/’、’-’和’\’,适当控制显示速度,以方便观察效果。
编写键盘中断响应程序,用户程序运行时,键盘事件有事反应:当键盘有按键时,屏幕适当位置轮番显示”OUCH!”中的一个字符。
在内核中,对33号、34号、35号和36号中断编写中断服务程序。
2020/2/1 19:24:34 178KB 操作系统 实验 时钟中断 键盘中断
1
(一)总体设计系统总体架构如图1所示,最右边部分为进程与资源管理器,属于操作系统内核的功能。
要求能够设计与实现一个简单的进程与资源管理器,具有如下功能:完成进程创建、撤销和进程调度;
完成多单元(multi_unit)资源的管理;
完成资源的申请和释放;
完成错误检测和定时器中断功能。
图1系统总体结构(二)Testshell设计应具有的功能:1、从终端或者测试文件读取命令;
2、将用户需求转换成调度内核函数(即调度进程和资源管理器);
3、在终端或输出文件中显示结果:如当前运行的进程、错误信息等。
(三)进程管理设计1、进程形态与操作2、进程控制块结构PCB3、主要函数:创建进程、撤销进程(四)资源管理设计1、主要数据结构RCB2、请求资源3、释放资源(五)进程调度与时钟中断设计关键:使用基于优先级的抢占式调度策略,在同一优先级内使用时间片轮转算法。
2022/9/7 10:52:48 753KB 操作系统 实验报告
1
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡