进程的控制修改已编写的程序,将每个进程输出一个字符改为每个进程输出一句话,再观察程序执行时屏幕上出现的现象,并分析原因。
如果在程序中使用系统调用lockf(),来给每一个进程加锁,可以实现进程之间的互斥,观察并分析出现的现象。
2024/8/1 1:15:32 798B 进程的控制
1
基于FPGA用Verilog实现的1024点FFT源码程序,本程序完整描述的FFT的算法,是编写FFT程序的好助手!助你快速掌握FFT!
2024/7/30 7:49:02 973KB Verilog FFT 源码
1
2.编写一个程序,包含“画图”菜单,菜单中包含“圆形”、“矩形”、“退出”菜单项。
单击“圆形”菜单项时,系统在“画图”菜单后建立一个动态菜单“圆形”,“圆形”菜单中包括“绘制图形”、“移动图形”、“放大”、“缩小”、“重绘”等选项。
当单击“矩形”菜单项时,系统在“画图”菜单后建立一个动态菜单“矩形”,“矩形”菜单中包括“绘制图形”、“移动图形”、“放大”、“缩小”、“重绘”等选项。
当单击“绘制图形”时,利用“右箭头”键可以将图形长度增大;
单击“左箭头”键时可以将图形长度减小;
单击“下箭头”键时,可以将图形的高度增大;
单击“上箭头”键时,可以将图形的高度减小。
当选择“移动图形”时,单击箭头键,可以将图形向相应方向移动。
单击“放大”、“缩小”选项时,可以将图形放大或缩小。
单击“重绘”菜单选项时,重新开始绘制图形。
2024/7/21 20:35:20 1.86MB 动态菜单
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
用c#编写的程序,读取串口的数据,同时写入SQLServer网络数据库,这个过程都是多线程的。
2024/6/28 4:13:14 648KB 数据库
1
编写一个程序用单链表存储多项式,按指数从大到小排序多项式,并实现两个多项式的相加和相减
2024/6/25 1:26:36 49KB 多项式相加减
1
汇编写入工具(虚拟磁盘写入工具)类似于现实中计算机内部的一块硬盘,虚拟硬盘文件则是在虚拟机下模拟物理硬盘。
你可以利用汇编写入工具吧你的汇编程序放进虚拟硬盘,在汇编语言中,用助记符(Memoni)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。
这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。
用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器
2024/6/2 0:37:03 185KB 应用软件
1
Perl/TkTutorialCreateGUIwithPerl'sTkModule使用TK模块编写GUI程序
2024/5/24 17:32:12 517KB perl TK 编程指南 (perl_tk_tutorial)
1
基于8051的计算器设计。

用汇编语言编写的程序,有protus仿真
2024/5/24 12:25:11 117KB 8051 计算器 汇编
1
共 191 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡