操作系统
文章平均质量分 96
操作系统实验,Linux相关知识,代码
AkagiSenpai
哼 ~ 哼 啊啊啊啊啊啊啊啊啊
▃▆█▇▄▖
▟◤▖ ◥█▎
◢◤ ▐ ▐▉
▗◤ ▂ ▗▖ ▕█▎
◤ ▗▅▖◥▄ ▀◣ █▊
▐ ▕▎◥▖◣◤ ◢██
█◣ ◥▅█▀ ▐██◤
▐█▙▂ ◢██◤
◥██◣ ◢▄◤
▀██▅▇▀
展开
-
万字长文爆杀操作系统(期末复习笔记)
操作系统期末复习笔记。包括操作系统四大管理:进程,内存,文件,设备1. 进程管理:调度算法,临界与互斥,死锁2. 内存管理:内存分配算法,虚拟化技术,寻址,换入换出3. 文件管理:文件存储方式,链接,索引法,盘块管理与分配4. 设备管理:缓冲区管理,脱机技术,磁盘寻道算法原创 2021-06-23 15:08:35 · 4046 阅读 · 10 评论 -
深大操作系统:xv6 综合实验二:有名管道,内存交换,文件权限,线程
目录前言1. 线程2. 文件权限3. 内存交换4. 有名管道(fifo)总结前言这是本学期最后一个实验,不出意外的话,也是我在深大做的最后一个实验,也是【深大 xxxx 实验】系列的最后一篇博文了。常言道善始善终,希望这个实验能给我的作业生涯一个好的收尾收个寄吧收,你要是看了接下来的代码就会发现,我根本就是在摆烂,代码一点都不严谨,突出一个能动就行诚然我们班的实验非常难,但是坚持下来,我真的感觉学到了东西。当然,来自 mit 的 xv6 功不可没,不得不承认 xv6 是一个优秀的教学操作系统,虽然大原创 2021-06-12 22:24:30 · 4014 阅读 · 4 评论 -
深大操作系统实验四:磁盘 Inode 读取,盘块读取,软硬链接,磁盘挂载
1. 创建目录2. 创建文件,查找 inode 号,读取 inode 内容,读入第一个盘块的数据3. 创建软硬链接4. 验证内存的磁盘 cache 的加速效果5. 挂载磁盘,将光驱数据挂载到磁盘目录以访问6. fopen 与 open7. 文件指针与游标的思考原创 2021-06-02 19:19:57 · 2876 阅读 · 10 评论 -
深大操作系统:xv6 综合实验一:copy on write,slab,信号量,调度与系统调用
前三个题目 hello world,系统调用,调度,信号量,难度不是很大,抄老师的代码就完事了后面两个题没有示例代码。他们分别是实现 slab,即 byte level 的内存分配。,注意页表的单独映射和页内偏移最后一个题是 copy on write,通过只读页的中断来触发 copy,然后分配物理页帧,映射一下内存就搞定了。此外整个内核自旋锁来互斥地维护页引用计数器变量原创 2021-05-16 21:17:31 · 6133 阅读 · 22 评论 -
深大操作系统实验三:crash 与地址转换,内存分配与回收,物理页帧的竞争
1. 利用 crash 展示和解说一个虚地址经过页表逐级转换的过程2. 分配内存,释放内存形成孔洞,记录该进程的虚存空间变化,验证进程空间的内存分配算法3. 测试出你的系统单个进程所能分配到的最大虚拟内存空间为多大4. 每隔4KB间隔将相应地址进行读操作,然后重复上面操作,不过此时为读操作,再观察其变化5. 展示两个进程的物理页帧竞争的动态变化过程6. 验证快表原创 2021-05-10 14:08:13 · 5570 阅读 · 3 评论 -
操作系统理论:处理机调度算法
在复杂的计算机设备中,为了满足用户的需求,往往是有多个执行流在并行的运行,换句话说,有 多个程序 在跑!但是我们只有一个 CPU,根据体系结构常识,一个 CPU 能且仅能同时跑一段程序,怎么办呢?大伙一起用 CPU!这就产生了调度的问题怎么轮流?这么多程序谁先谁后使用 CPU,使用多长时间?这些问题都是处理机调度算法所研究,并且致力于实现的目标。原创 2021-04-19 14:02:46 · 1507 阅读 · 4 评论 -
深大操作系统实验二:处理机调度
操作系统实验:1. 在一个空闲的单核Linux系统上用nice命令调整两个进程的优先级2. 在一个空闲的双核Linux系统上启动P1/P2/P3/P4四个一直就绪不阻塞进程,用top查看并记录负载均衡现象3. 在一个空闲的单核Linux系统运行两个进程,以相同优先级的RR实时调度的进程,在上述两个进程结束前运行另一个优先级更高的FIFO进程4. 生产者-消费者 进程同步与共享内存问题原创 2021-04-07 23:27:03 · 7288 阅读 · 3 评论 -
操作系统理论:信号量机制与共享资源的并发访问问题
在操作系统中通常使用信号量来处理多个任务存取共享资源的情况。信号量包含一个整数和任务队列。是一种区别于数据库锁与阻塞的新机制,在等待时不占用 cpu,以提高系统的并发性能。原创 2021-03-24 17:11:11 · 2015 阅读 · 3 评论 -
深大操作系统实验一:并发程序设计
操作系统实验一:并发程序设计。包括:1.使用fork()创建子进程2.编写代码实现孤儿进程,编写代码创建僵尸进程3.创建多个线程,在各个线程中打印出堆栈变量的地址,4.创建相同数量的进程和线程比较进程控制块开销的差异、内存vma描述符开销的差异5.尝试自行设计一个C语言小程序,完成最基本的shell角色原创 2021-03-16 16:17:12 · 7312 阅读 · 6 评论