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
基于c++实现的简单电梯作业(大一)实现对Elevator类的功能扩展。
在Elevator类已有功能的基础上派生Advancedelevator类。
可以实现当多人在不同楼层等待乘坐上行或下行的同一部电梯时,能够合理的根据乘坐人的需求对电梯经停的楼层进行排序。
2024/5/22 18:24:58 10KB c++ 2016
1
OPCUA统一架构高清版电子书OPC统一架构(OPCUA),涵盖了OPC实时数据访问规范(OPCDA)、OPC历史数据访问规范(OPCHDA)、OPC报警事件访问规范(OPCA&E)和OPC安全协议(OPCSecurity)的不同方面,但在其基础之上进行了功能扩展。
OPCUA,是在传统OPC技术取得很大成功之后的又一个突破,让数据采集、信息模型化以及工厂底层与企业层面之间的通讯更加安全、可靠。
2024/5/17 0:22:37 2.97MB OPC UA
1
摘要:Wireshark是一种网络包分析工具,本文介绍了Wireshark软件,并研究了Wireshark在通信IP网数据监视中的应用方法和功能扩展,并针对应用中的问题提出了解决办法。
关键词:Wireshark;数据监视;
2024/2/27 0:06:23 615KB Wireshark 数据监视
1
为了提高小型无人机飞控计算机的处理速度和解算精度,提出了ARM+DSP的解决方案。
ARM作为主处理器负责任务管理和数据采集,DSP作为从处理器负责数据处理,两处理器通过双端口RAM进行数据交换。
本设计实现了双处理器协同工作飞控软件设计,移植了嵌入式ARM-Linux系统,完成了A/D、双端口RAM等底层驱动及应用,具有可靠性高、便于维护和功能扩展的特点。
2024/1/28 14:19:36 556KB 飞控软件; 无人机; ARM; DSP
1
odoo是一个强大的企业应用平台。
在此基础上,构建了一套紧密集成的应用程序,涵盖了从CRM到销售、制造和会计的所有业务领域。
软件平台使用Python语言开发,数据库采用开源的PostgreSQL。
Odoo作为跨平台的应用系统,采用B/S架构,通过浏览器即可访问,支持在Windows、Linux、Mac等多种操作系统上运行,还支持通过Andriod、iPhone、平板电脑、POS、PDA等终端接入访问。
Odoo是一个动态且不断进步的社区,通过不断增加功能、扩展应用来满足中国企业的信息化需求
2024/1/24 1:38:04 3.71MB erp odoo
1
大学生科技制作项目(含原理图、PCB、源代码、Proteus仿真文件、功能说明)使用说明:1. 功能按键说明:S1为功能选择按键,S2为功能扩展按键,S3为数值加一按键。
2. 功能及操作说明:操作时,连续短时间(小于1秒)按动S1,即可在以上的6个功能中连续循环。
中途如果长按(大于2秒)S1,则立回到时钟功能的状态,1, 时钟功能:上电后及显示10:10:00,寓意十全十美。
2, 校时功能:短按一次S1,即当前时间和冒号为闪烁状态,按动S2则小时位加1,按动S3则分钟位加1,秒表不可调。
3, 闹钟功能:短按二次S1,显示状态为22:10:00.冒号为长亮。
按动S2刚小时位加1,按动S3则分钟位加1,秒时不可调。
当按动小时位超过23时则会显示--:--:--,这个表示关闭闹钟功能。
闹钟声为蜂鸣器长鸣3秒钟。
4, 倒计时功能:短按三次S1,显示状态为0.冒号为长灭。
按动S2则从低位依次显示高位,按动S3则相应位加1,当S2按到第6次时会是所设定的时间状态下开始倒计时,再次按动S2将再次进入调整功能,并且停止倒计时。
5, 秒表功能:短按四次S1,显示状态为00:00:00.冒号为长亮。
按动S2则开始秒表计时,再次按动S2则停止计时,当停止计时的时候按动S3则秒表清零。
6, 计数器功能:短按五次S1,显示状态为00:00:00。
冒号为长灭,按动S2则计数器加1.按动S3则计数器清零。
2024/1/20 0:48:52 152KB 时钟
1
单片机课程设计数字时钟,含源程序,电路图,电子钟具有“时”、“分”显示的电子钟(23小时59分),通过小时个位的小数点闪烁进行秒计数显示,具有分钟和小时的校时功能。
可进行功能扩展(比如增加整点报时功能:60分钟开始LED灯闪烁1分钟或蜂鸣器响10秒钟)。
2023/10/17 23:37:31 102KB 单片机 数字时钟
1
odoo是一个强大的企业应用平台。
在此基础上,构建了一套紧密集成的应用程序,涵盖了从CRM到销售、制造和会计的所有业务领域。
软件平台使用Python语言开发,数据库采用开源的PostgreSQL。
Odoo作为跨平台的应用系统,采用B/S架构,通过浏览器即可访问,支持在Windows、Linux、Mac等多种操作系统上运行,还支持通过Andriod、iPhone、平板电脑、POS、PDA等终端接入访问。
Odoo是一个动态且不断进步的社区,通过不断增加功能、扩展应用来满足中国企业的信息化需求
2023/8/17 11:21:25 3.54MB erp odoo
1
在工业生产控制过程中,压力是一个很重要的参数。
比如利用测量大气压力来间接测量海拔高度,在工业生产中测量压力参数来判断反应的过程,在气象预测中,也需要测量大气压力来判断阴雨天气等等。
所有这些都需要掌握测量压力,所以压力表的设计拥有广阔的市场前景。
本课题就是基于此原因设计的一个简单压力计。
本课程设计用MPX4115传感器来检测压力参数,ADC0808进行模数转换后,利用AT89C52进行数据处理后,由键盘设置测量量程,用发光二级管显示当前测量量程送液晶显示压力值。
本系统可根据需要进行功能扩展。
由于ADC0808支持8路信号采集,可以对8个压力点参数进行检测。
可以手动设置采集哪一路,或者循环采集。
还可以进行压力上下限报警。
在设计系统的时候,立足于界面友好性、性价比,可以在简单压力检测的时候使用。
2023/8/10 12:06:12 739KB MPX4115传感器 AT08C52
1
共 38 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡