操作系统实验报告实验二处理机调度详细的实验报告可执行程序源代码都一应俱全是直接上交的报告什么都有了老师说做的还可以哦
2024/8/22 12:08:08 194KB 操作系统 实验报告 处理机调度
1
实验目的:熟悉Linux系统的基本指令熟悉Linux系统的基本软件(如vi、gdb、gcc等)查看Linux系统中进程的信息
2024/8/9 9:44:03 650KB os
1
北京邮电大学操作系统实验报告,包含第一组基本实验,第二组Linux内核,第三组进程管理,报告内包含代码。
2024/8/2 18:08:45 312KB 北京邮电大学 操作系统 实验报告
1
1、图书管理系统以UNIX系统文件部分系统调用为基础设计一个简易的图书管理系统。
要求实现:图书的录入、查询、借阅、清理、统计等功能、还要实现对每天的借阅情况进行统计并打印出统计报表,操作界面要尽量完善。
图书资料信息必须保存在文件中。
2、信号通信与进程控制(l)进程的创建:编写一段程序,使用系统调用fork()创建两个或多个子进程。
当此程序运行时,在系统中有一个父进程和其余为子进程在活动。
(2)进程的控制:在程序中使用系统调用lockf()来给每一个进程加锁,实现进程之间的互斥。
(3)进程通信:①软中断通信;
②在程序中使用实例signal(SIGINT,SIG_IGN)和signal(SIGQUIT,SIG_IGN)进行通信操作,观察执行结果,并分析原因。
(4)软中断的捕获与重定义。
首先定义一个服务函数function(),然后利用signal(sig,function)系统调用来实现中断的捕获与改道。
(5)使用操作系统保留给用户的信号SIGUSR1和SIGUSR2进行通信。
(6)扩展程序,使之成为信号或事件驱动的应用程序。
3、管道通信利用UNIX系统提供的管道机制实现进程间的通信。
(1)管道通信。
利用pipe()和lockf()系统调用,编写程序,实现同族进程间的通信。
使用系统调用pipe()建立一条管道线;
创建子进程P1、P2、…。
子进程Pi分别向管道各写信息,而父进程则从管道中读出来自于各子进程的信息,实现进程家族间无名管道通讯。
扩展之,使之成为客户/服务器模式,并完成一定的任务(自己定义)。
(2)命名管道通信:利用mkfifo(name,mode)或mknod(name,mode,0)创建一个命名管道,然后利用它和文件部分系统调用实现不同进程间的通信。
改造之,使之成为客户/服务器模式,并完成一定的任务(自己定义)。
4、进程间通信(IPC):消息机制(1)消息的创建、发送和接收使用系统调用msgget(),msgsnd(),msgget(),及msgctl()编制一长度为1K的消息发送和接收的程序。
1)为了便于操作和观察结果,用一个程序作为“引子”,先后fork()两个子进程,SERVER和CLIENT,进行通信。
SERVER和CLIENT也可分别为2个各自独立的程序。
2)SERVER端建立一个Key为175的消息队列,等待其他进程发来的消息。
当遇到类型为1的消息,则作为结束信号,取消该队列,并退出SERVER。
SERVER每接收到一个消息后显示一句“(server)received”。
3)CLIENT端使用key为175的消息队列,先后发送类型从10到1的消息,然后退出。
最后的一个消息,即是SERVER端需要的结束信号。
CLIENT每发送一条消息后显示一句“(client)sent”。
4)父进程在SERVER和CLIENT均退出后结束。
(2)功能扩展:在sever端创建一个服务函数,从而实现C/S通讯要求SERVER每接收到一次数据后不仅仅显示“(server)received”,而是做一些其它事情,比如读取或查询某个文件,或者执行一个shell命令等。
此功能可由设计者自己定义。
在此基础上可以扩展客户端,比如设计一个菜单界面,接收不同的选项,并发送到服务器端,请求对方提供服务。
5、进程间通信(IPC):共享内存机制(1)共享存储区的创建,附接和断接使用系统调用shmget(),shmat(),msgdt(),shmctl(),编制一长度为1K的消息发送和接收的程序。
1)为了便于操作和观察结果,用一个程序作为“引子”,先后fork()两个子进程,SERVER和CLIENT,进行通信。
SERVER和CLIENT也可分别为2个各自独立的程序。
2)SERVER端建立一个Key为375的共享区,并将第一个字节置为-1,作为数据空的标志,等待其他进程发来的消息。
当该字节的值发生变化时,表示收到了信息,并进行处理。
然后再次把它的值设为-1。
如果遇到的值为0,则视为结束信号,取消该队列,并退出SERVER。
SERVER每接收到一次数据后显示“(server)received”。
3)CLIENT端建立一个Key为375的共享区,当共享取得第一个字节为-1时,SERVER端空闲,可发送请求。
CLIENT随即填入9到0。
期间等待Server端的再次空闲。
进行完这些操作后,CLIENT退出。
CLIENT每发送一次数据后显示“(client)sent”。
4)父进程在SERVER和CLIENT均退出后结束。
(2)功能扩展:在sever端创建一个服务函数,从而形成C/S通讯模式要求SERVER每接收到一次数据后不仅仅显示“(server)received”,而是做一些其它事情,比如
2024/7/19 3:04:26 918KB 操作系统
1
操作系统实验:通过实验,熟悉Linux操作系统的使用,掌握构建与启动Linux内核的方法;
掌握用户程序如何利用系统调用与操作系统内核实现通信的方法,加深对系统调用机制的理解;
进一步掌握如何向操作系统内核增加新的系统调用的方法,以扩展操作系统的功能。
1.向Linux内核增加新的系统调用,系统调用名称和功能自行定义2.Linux新内核的编译、安装和配置3.编写应用程序以测试新的系统调用并输出测试结果
2024/7/6 6:37:42 1.84MB 操作系统实验 Linux内核
1
1、代码完整,注释很详细,复制到编译器即可运行2、含有说明文字及题目要求实现思想等。
要求:1.空闲分区通过空闲区链进行管理,在内存分配时,优先考虑低地址部分的空闲区。
2.分别采用首次适应算法、最佳适应算法和最坏适应算法模拟内存空间的动态分配与回收,每次分配和回收后显示出空闲区链的详细情况(说明:在申请不成功时,需要打印当前内存的占用情况信息)。
3.进程对内存空间的申请和释放可由用户自定义输入。
4.参考请求序列如下:(1)初始状态下可用内存空间为640KB;
(2)进程1申请130KB;
(3)进程2申请60KB;
(4)进程3申请100KB;
(5)进程2释放60KB;
(6)进程4申请200KB;
(7)进程3释放100KB;
(8)进程1释放130KB;
(9)进程5申请140KB;
(10)进程6申请60KB;
(11)进程7申请50KB;
(12)进程6释放60KB。
测试用例格式如下:输入:动态分区分配算法选择可用内存空间容量序号/进程号/申请或释放操作/申请或释放的容量其中:(1)动态分区分配算法:1----首次适应,2----最佳适应。
1
linux上用Qt实现的可视化图形界面的几个小程序,包括了进程调度,作业调度,存储管理。
里面附带了三个程序的所有代码和一些小注释。
还附加了一个Qt的学习资料,挺好的入门资料。
2024/6/14 16:07:29 4.2MB 操作系统实验
1
2016广工操作系统实验(javascript)内含源代码和实验报告实验一:进程调度实验(先来先服务FCFS、优先级调度PSA、简单轮转法RRq=1)实验二:作业调度实验(先来先服务FCFS、短作业优先SJF、高响应比HRRN)实验三、存储管理实验(首次适应算法(FF)、最佳适应算法(BF)、最坏适应算法(WF))
2024/6/11 9:48:46 1.42MB 操作系统实验
1
Linux操作系统实验教程费翔林《Linux操作系统实验教程》是操作系统实验课程教材,以Linux2.6内核版本为平台,精心设计系列实验题目,每个(组)实验题目包括:实验目的、背景知识和实验内容,在每个具体的实验内容中又包括实验说明、解决方案和程序框架,为操作系统实践教学提供指导。
《Linux操作系统实验教程》内容丰富、覆盖面广,由浅入深、循序渐进,可与高等教育出版社出版的《操作系统教程(第4版)》教材配套使用,也可作为操作系统课程的实验教材单独使用,既可以作为高等学校计算机相关专业实验课用书,也可作为Linux应用和内核编程参考资料。
2024/6/11 2:10:33 39.6MB Linux 操作系统 实验教程 费翔林
1
18级老学姐,满分代码一、 实验目的通过对操作系统启动过程的模拟,以及软件功能设计与实现,进一步理解和掌握《操作系统实验》课程中学习到的各个功能模块的原理和用法,提高自己的系统设计能力。
二、 实验环境硬件环境:计算机,无特殊配置要求软件环境:QEMU虚拟机、批处理文件、相关编译工具等语言环境:C语言、汇编语言三、 功能介绍及运行效果截图具体的功能:1. 开机等待页面显示2. 开机动画+密码3. 中文显示的支持4. 菜单栏的绘制5. 右下角显示时间(包括日期)6. 计时软件(可以基于24小时跳变)7. 桌面添加应用程序图标8. 桌面图标的响应(双击)9. 控制台的实现(命令行输入,上下键调出历史命令)10. 增加显示时间API11. 增加显示个人信息功能的API12. 更换壁纸(菜单or控制台newbg)13. 关机和重启命令
1
共 147 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡