操作系统
文章平均质量分 94
c语言模仿实现简单操作系统
malloc-free
这个作者很懒,什么都没留下…
展开
-
操作系统 c语言简单模仿进程创建和时间片轮转调度算法中的进程调度
因此,单处理器系统中进程控制块分成一个正在运行进程的进程控制块、就绪进程的进程控制块组织成的就绪队列和等待进程的进程控制块组成的等待队列。因此进程调度程序就应该包括两部分,一部分是在进程就绪队列中选择一个进程,并将其进程控制块从进程就绪队列中摘下来,另一部分工作就是分配处理器给选中的进程,也就是将指向正在运行进程的进程控制块指针指向该进程的进程控制块,并将该进程的进程控制块信息写入处理器的各个寄存器中。进程控制块的链接方式可以采用单向和双向链表,实验中,进程控制块队列采用单向不循环静态链表。原创 2024-05-19 16:09:39 · 2126 阅读 · 0 评论 -
操作系统 c语言模仿 磁盘文件操作
目录属性和文件属性占用同一个字节,为了区别目录和文件,该字节每一位代表不同的含义(为“1”表示“是”,为“0”表示“否”),如图2.12所示,第0位表示文件为只读文件,第1位表示文件为系统文件,第2位表示文件为一般可读、可写的普通文件,第3位表示该登记项不是文件的登记项,而是目录的登记项,其余几位闲置未用。下面给出这三种操作的流程图,在已打开文件表中查找某文件是否存在的流程图如图2.15,将某文件从已打开文件表中删除的流程图如图2.16,将某个文件登记在已打开文件表的流程图如图2.17。原创 2024-06-11 23:23:58 · 1105 阅读 · 0 评论 -
操作系统 c语言模仿 动态分区存储管理方式的主存分配回收
操作系统个作业执行完后,将该分区变成空闲区,并将其与相邻的空闲区合并,主要操作也在空闲区。由于是实验,没有真正的主存要分配,所以在实验中,首先应建立一张空闲区表,初始状态只有一个空闲登记项(假定的主存空闲区)和一张所有状态都为“空”的已分配区表,假定主存空间110KB,操作系统占用10KB,其余为空闲区;然后,可以选择进行主存分配或主存回收,如果是分配,要求输入作业名和所需主存空间大小,如果是回收,输入回收作业的作业名,循环进行主存分配和回收后,如果需要,则显示两张表的内容,以检查主存的分配和回收是否正确。原创 2024-05-19 23:47:09 · 2826 阅读 · 0 评论 -
操作系统 c语言 页式虚拟存储管理中地址转换和缺页中断
编写程序完成页式虚拟存储管理中地址转换过程和模拟缺页中断的处理。实验具体包括:首先对给定的地址进行地址转换工作,若发生缺页则先进行缺页中断处理,然后再进行地址转换;最后编写主函数对所作工作进程测试。原创 2024-05-20 22:23:32 · 2456 阅读 · 0 评论