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
一个服务器和可运行多个客户端学习专用利用同步TCP和BinaryReader对象及BinaryWriter对象编写一个基于Windows窗体的同步TCP网络聊天程序,实现如下功能:① 任何一个客户均可以与服务器进行通信。
② 服务器要能显示客户端连接的状态,当客户端连接成功后,要及时告诉客户端已经连接成功的信息,并将当前在线的所有客户告知该客户端。
③ 客户和服务器建立连接后,既可以通过服务器和任何一个在线的其他客户聊天。
④ 不论客户何时退出程序,服务器都应做出正确判断,同时将该客户是否在线的情况告诉其他所有在线客户。
2024/7/18 18:30:53 89KB c# 聊天
1
【问题的描述】一个表达式和一棵二叉树之间,存在着自然的对应关系。
写一个程序,实现基于二叉树表示的算术表达式Expression的操作。
【基本要求】【一】【必做部分】假设算术表达式Expression内可以含有变量(a-z),常量(0-9)和二元运算符(+,-,*,/,^(乘幂))。
实现以下操作:(1)ReadExpr(E)――以字符序列的形式输入语法正确的前缀表达式并构造表达式E。
(2)WriteExpr(E)――用带括号的中缀表达式输出表达式E。
(3)Assign(V,c)――实现对变量V的赋值(V=c),变量的初值为0。
(4)Value(E)――对算术表达式E求值。
(5)CompoundExpr(p,E1,E2)――构造一个新的复合表达式(E1)p(E2)。
【二】【选做部分】(1)以表达式的原书写形式输入,支持大于0的正整数常量;
(2)增加常数合并操作MergeConst(E)——合并表达式E中所有常数运算。
例如,对表达式E=(2+3-a)*(b+3*4)进行合并常数的操作后,求得E=(5-a)*(b+12)【测试数据】1) 分别输入0;
a;-91;+a*bc;+*5x2*8x;+++*3^*2^x2x6并输出。
2) 每当输入一个表达式后,对其中的变量赋值,然后对表达式求值。
3) 还有很多测试的数据,详细请见附上的文件Test.txt。
1
一个简单的3d房屋,使用vrmlpad编写,运行结果里有房子、电视、茶几、摩天轮、沙发、公路、飞机、汽车。
有动画,可以交互
2024/7/16 19:06:27 20.67MB vrml
1
NURBSmalab入门程序实现字母NURBS
2024/7/16 18:42:12 785B NURBS MATLAB
1
这是用MATLAB程序实现视频中运动的目标的跟踪检测,并附有一个小视频
2024/7/14 22:01:25 608KB 目标检测
1
基于Web的温度监控远程控制系统是在基于PXA270-RP开发板硬件平台和嵌入式Linux操作系统上,采用嵌入式Web服务器对温度监控进行控制,系统分为客户端主机和现场嵌入式Web服务器控制设备两部分。
整个远程控制系统采用了B/S架构,远程控制端即客户端浏览器,可以通过网络向Web服务器端发送数据。
嵌入式控制系统即在开发板上搭建Web服务器,接受客户端浏览器发送的数据,进而通过嵌入式Linux系统对温度监控进行控制。
系统采用Boa作为嵌入式Web服务器,负责接收和分析用户请求,传送静态页面和调用后台CGI程序,通过编写相关的HTML网页和CGI程序,在客户端通过web浏览器以网页方式访问嵌入式设备,并通过调用CGI程序实现远程温度监控。
2024/7/14 7:42:36 1.58MB 温度监控
1
摘要随着Internet和计算机网络技术的蓬勃发展,网络安全问题现在已经得到普遍重视。
网络防火墙系统就是网络安全技术在实际中的应用之一。
防火墙的核心思想是在不安全的网际网环境中构造一个相对安全的子网环境。
运行在系统上的网络应用软件在访问网络时,都必须经过防火墙的确认,从而达到控制用户计算机和Internet之间的连接目的。
本文首先简要介绍了防火墙的原理,然后叙述了防火墙的分类,接着从实现信息安全的角度运用JAVA程序实现代理防火墙的设计。
关键词:防火墙;包过滤;代理防火墙;
网络安全;
防火墙技术原理。
一、前言近年来,随着普通计算机用户群的日益增长,“防火墙”一词已经不再是服务器领域的专署,大部分家庭用户都知道为自己爱机安装各种“防火墙”软件了。
但是,并不是所有用户都对“防火墙”有所了解的,一部分用户甚至认为,“防火墙”是一种软件的名称……时光飞梭,随着计算机和网络的发展,各种攻击入侵手段也相继出现了,为了保护计算机的安全,人们开发出一种能阻止计算机之间直接通信的技术,并沿用了古代类似这个功能的名字——“防火墙”技术来源于此。
用专业术语来说,防火墙是一种位于两个或多个网络间,实施网络之间访问控制的组件集合。
对于普通用户来说,所谓“防火墙”,指的就是一种被放置在自己的计算机与外界网络之间的防御系统,从网络发往计算机的所有数据都要经过它的判断处理后,才会决定能不能把这些数据交给计算机,一旦发现有害数据,防火墙就会拦截下来,实现了对计算机的保护功能。
防火墙技术从诞生开始,就在一刻不停的发展着,各种不同结构不同功能的防火墙,构筑成网络上的一道道防御大堤。
2024/7/14 7:50:03 37KB 网络安全 防火墙 课程设计
1
C#ASP.NET数据库应用程序实现增删改查,一个文本框+一个按钮,实现点击按钮不但可以执行Insert、Update和Delete语句,而且也可以执行Select语句。
2024/7/6 9:15:03 42KB c# ASP .NET 数据库
1
近年来,涡旋光束由于在囚禁和操控原子及其他微粒中的应用而引起了不少关注和研究。
涡旋光束在光束的传播方向上有一个位相项e(ilθ),而且它拥有一个光束轨道角动量,该matlab程序实现了从一个高斯基模变换到涡旋光束的基本功能。
2024/7/5 12:25:43 596B 光学涡旋
1
共 469 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡