基于linux的设备分配及磁盘调度。
设计内容:1、参考操作系统有关设备分配的分配策略,模拟给出设备请求到分配的过程,对于外部存储器设备,分配后要模拟出它的的I/O过程,调用磁盘调度算法。
2、设备分配的过程中,要给设备分配设备控制器,通道都要有。
3、系统的设备最少要有3种,控制器每台设备最少对应1个和通道系统最少有3个。
3、磁盘调度算法要用先来先服务,电梯调度和循环扫描算法(算法可以选择)4、设备管理要有设备控制表,设备分配表,通道控制表,控制器控制表等。
设计要求:要求在屏幕上输出各设备的分配过程及信息,如果用到磁盘调度算法时,输出磁盘调度算法的调度顺序及平均寻道长度等,I/O时的寻道内容(磁道号)可手工给出。
..
1
一个电表行业专用的基于645规约的电表485通讯抄表程序,可以进行485总线抄表,645规约测试。
程序技术要点就是规约数据传输协议的处理,如向电表发送数据时的控制码和数据长度、发送的数据部分(数据标识+密码+数据)、应答帧长度、结束标志等通讯协议的处理值得大家学习。
2024/7/28 8:16:17 917KB jscript VB VB.net 开发
1
石墨烯具有特殊的二维柔性结构,可调控费米能级特性和优异的光学、电学性能。
利用有限元法,对覆石墨烯微纳光纤光场调控进行理论分析,通过改变石墨烯与缓冲层结构覆微纳光纤的角度,破坏光纤的对称性结构,使光纤具有双折射特性,双折射度大小与石墨烯覆盖角度有关;
通过外加电压的方法改变石墨烯的化学势,可对光纤进行开关调控,由此设计出一种包覆石墨烯的微纳光纤电吸收型调制器并进行性能分析。
通过数值分析可发现当覆盖光纤角度为270°时,1550nm处双折射度可达1.23×10-3;
电吸收调制器工作在1550nm时,器件长度为18μm,消光比为7dB,3dB带宽可达到927MHz,插入损耗为0.58dB
2024/7/26 21:24:07 6.02MB 物理光学 双折射 微纳光纤 电光调控
1
采用VisualC++6.0中基于框架窗口的应用程序开发方法,结合Dijkstra算法思想,分析并实现了校园站点网中任意两个指定的起点和终点间的最短路径长度及路线的求解。
2024/7/24 5:55:29 251KB MFC 最短路径 C++
1
本次设计的目标是捕获网络中的IP数据包,解析数据包的内容,将结果显示在标准输出上,并同时写入日志文件。
实验要求:1)以命令行形式运行:ipparselogfile,其中ipparse是程序名,而logfile则代表记录结果的日志文件。
2)在标准输出和日志文件写入捕获的IP包的版本、头长度、服务类型、数据包总长度、数据包标识、分段标志、分段偏移值、生存时间、上层协议类型、头校验和、源IP地址和目的IP地址等内容。
2024/7/23 12:05:51 13.37MB 解析IP数据包 C++
1
采用除留余数法构建哈希表,伪散列解决冲突内有实验报告,通过vc++测试,我们小组做这个得了满分!
2024/7/22 22:14:08 81KB 哈希表 班级人数
1
2.编写一个程序,包含“画图”菜单,菜单中包含“圆形”、“矩形”、“退出”菜单项。
单击“圆形”菜单项时,系统在“画图”菜单后建立一个动态菜单“圆形”,“圆形”菜单中包括“绘制图形”、“移动图形”、“放大”、“缩小”、“重绘”等选项。
当单击“矩形”菜单项时,系统在“画图”菜单后建立一个动态菜单“矩形”,“矩形”菜单中包括“绘制图形”、“移动图形”、“放大”、“缩小”、“重绘”等选项。
当单击“绘制图形”时,利用“右箭头”键可以将图形长度增大;
单击“左箭头”键时可以将图形长度减小;
单击“下箭头”键时,可以将图形的高度增大;
单击“上箭头”键时,可以将图形的高度减小。
当选择“移动图形”时,单击箭头键,可以将图形向相应方向移动。
单击“放大”、“缩小”选项时,可以将图形放大或缩小。
单击“重绘”菜单选项时,重新开始绘制图形。
2024/7/21 20:35:20 1.86MB 动态菜单
1
(1)每个人的信息至少包括姓名,电话,地址。
至少包括对通讯录的创建,添加和按姓名查找等功能。
(2)假设人名为汉语拼音全拼形式,待插入哈希表的长度为你所在班级的人数。
哈希函数用除留余数法构造,采用链地址法或二次探测再散列法解决冲突。
(3)完成菜单设计。
操作有必要的提示。
2024/7/21 18:39:04 11KB 哈希表通讯录
1
依照某AR模型生成一段数据(1000),同时用另一MA模型生成一段数据(200),合成一段1200长度的数据1)依赖于这1200个数据的前800个数据,识别这段数据背后的AR模型。
2)在1)的基础上对新数据进行预测,并通过后续的400个数据进行判别(数据模型是否匹配)或者模型的修正(修正只需要提供思路和方法)。
2024/7/19 12:53:17 133KB MATLAB AR模型
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
共 481 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡