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
色彩调度器列出大量文件,从CIFS中移动文件,AI评分和在CIFS上排序等操作都很缓慢。
因此,它们与实时文件看门狗分开。
Lister,mover,scorer和sorter可以分别用于创建完全异步的管道
或者,为了简单起见,我们可以将移动器,计分器和分类器组合为一个工作器。
初始化初始化数据库pythoncreate_sql_tables.py创建调度程序路径sudomkdir/media/schedulersudochownvoyager.voyager/media/schedulermkdir./tmp启动管道condaactivatechromo-schedulernohuppythonlister.py>lister.log&nohuppythonscheduler.py>scheduler.log&nohup
2024/7/14 16:49:48 667KB Python
1
国嵌视频1.iso-学习方法与课程体系介绍(学前必看)-学习方法介绍.avi-国嵌嵌入式课程体系.pdf-嵌入式Linux学习方法.pdf-国嵌课程1-嵌入式入门体验班(上)-第1天(嵌入式系统概述)-国嵌体验入门班-1-1(嵌入式系统概述).avi-国嵌体验入门班-1-2(ARM概述).avi-国嵌体验入门班-1-3(嵌入式Linux概述).avi-国嵌体验入门班-1-4(2440开发板介绍).avi-国嵌体验入门班-1-5(软硬件环境搭建).avi-第2天(开发板快乐体验)-国嵌体验入门班-2-1(开发板系统安装).avi-国嵌体验入门班-2-1(开发板系统安装-Jlink方式).avi-国嵌体验入门班-2-1(开发板系统安装-并口方式).avi-国嵌体验入门班-2-2(裸机程序体验).avi-国嵌体验入门班-2-3(QT系统体验).avi-国嵌体验入门班-2-4(Android系统体验).avi国嵌视频2.iso-国嵌课程1-嵌入式入门体验班(下)-第3天(Linux系统体验)-国嵌体验入门班-3-1(Linux定制安装).avi-国嵌体验入门班-3-2(Linux命令).avi-国嵌体验入门班-3-3(VI使用).avi-国嵌体验入门班-3-4(Linux系统管理).avi-国嵌体验入门班-3-5(Shell编程).avi-国嵌体验入门班-3-6(Qcd功能演示).avi-国嵌体验入门班-3-7(必修实验).avi-国嵌课程2-嵌入式Linux应用开发班-第1天(编程基础)-国嵌应用班-1-1(GCC程序编译).avi-国嵌应用班-1-2(GDB程序调试).avi-国嵌应用班-1-3(makefile工程管理).avi-国嵌应用班-1-4(必修实验).avi-第2天(文件时间编程)-国嵌应用班-2-1(系统调用方式访问文件).avi-国嵌应用班-2-2(库函数访问文件).avi-国嵌应用班-2-3(时间编程).avi-国嵌应用班-2-4(必修实验).avi-第3天(多进程程序设计)-国嵌应用班-3-1(进程控制原理).avi-国嵌应用班-3-2(进程控制程序设计).avi-国嵌应用班-3-3(必修实验).avi-第4天(进程间通讯)-国嵌应用班-4-1(进程间通讯概述).avi-国嵌应用班-4-2(管道通讯).avi-国嵌应用班-4-3(信号通讯).avi-国嵌应用班-4-4(共享内存通讯).avi-国嵌应用班-4-5(必修实验).avi-第5天(进程间通讯)-国嵌应用班-5-1(消息队列).avi-国嵌应用班-5-2(信号量).avi-国嵌应用班-5-3(必修实验).avi-第6天(进程间通讯)-国嵌应用班-6-1(线程基础).avi-国嵌应用班-6-2(多线程程序设计).avi-国嵌应用班-6-3(必修实验).avi-第7天(网络编程)-国嵌应用班-7-1(Linux网络概述).avi-国嵌应用班-7-2(Linux网络编程基础).avi-国嵌应用班-7-3(TCP程序设计).avi-国嵌应用班-7-4(UDP网络程序设计).avi-国嵌应用班-7-5(并发服务器).avi-国嵌应用班-7-6(必修实验).avi国嵌视频3.iso-国嵌课程3-ARM系统进阶班-第1天(ARM系统开发基础)-ARM系统精讲班-1-1(ADS集成开发环境).avi-ARM系统精讲班-1-2(ARM工作模式).avi-ARM系统精讲班-1-3(ARM寄存器).avi-ARM系统精讲班-1-4(ARM寻址方式).avi-ARM系统精讲班-1-5(ARM汇编指令详解).avi-第2天(ARM系统开发基础)-ARM系统精讲班-2-1(ARM汇编指令详解).avi-ARM系统精讲班-2-2(ARM伪指令).avi-ARM系统精讲班-2-3((混合编程).avi-ARM系统精讲班-1-8(必修实验).avi-第3天(LED驱动程序设计)-ARM系统精讲班-2-1(GPIO).avi-ARM系统精讲班-2-2(LED控制程序设计).avi-ARM系统精讲班-2-3((LED闪烁).avi-第4天(LED与按键驱动程序设计)-ARM系统精讲班-4-1(ARM中断控制系统).avi-ARM系统精讲班-4-2(按键控制程序设计).avi-ARM系统精讲班-2-6(必修实验).avi-第5天(定时器与时钟驱动程序设计)
2024/7/13 6:44:20 40KB linux s3c610 嵌入式
1
自己编写一个C++框架,实现了TCP多客户端局域网通讯、单管道以及局域网双管道通讯。
2024/7/6 1:23:46 14.29MB C++ Window TCP Pipe
1
本人是南京航空航天大学的学生,我们的一个计算机软件基础大作业是编写4个程序,分别是约瑟夫斯问题、停车场管理、带权图的最小生成树提取、几种排序算法的比较。
希望能够帮助到大家,尤其是南航的学弟学妹们!工程里面的注释写的很清楚,相信大家认真看能够理解。
最后我们还有一个Hololens的一个课设项目,混合现实的游戏王,最后做出来也会给大家分享的!希望大家别忘了给个好评吧,原创不易,这篇写的算很累了!
1
本资源为软件过程管理部分题答案,自己看书做的,若有其他理解可以交流(2)项目定义软件过程(3)对定义好的过程进行审核,不符合标准则继续裁剪(4)应用和监控项目定义软件过程的实施3.PSP分为哪4个等级?对各个等级进行简单说明。
个体度量过程PSP0:PSPO的目的是建立个体过程基线,通过这一步,学会使用PSP的各种表格采集过程的有关数据,此时执行的是该软件开发单位的当前过程,通常包括计划、开发(包括设计、编码编译和测试)以及后置处理三个阶段,并要作一些必要的试题,如测定软件开发时间,按照选定的缺陷类型标准、度量引入的缺陷个数和排除的缺陷个数等,用作为测量在PSP的过程中进步的基准个体规划过程PSP1PSP1的重点是个体计划,引入了基于估计的计划方法PROBE(PROXyBasedEstimating),用自己的历史数据来预测新程序的大小和需要的开发时间,并使用线性回归方法计算估计参数,确定置信区间以评价预测的可信程度。
个体质量管理过程PsP2PSP2的重点是个体质量管理,根据稈序的缺陷善建立检测表,按照检测表诖行设计复查和代码复查(有时也称"代码走查"),以便及早发现缺陷,使修复缺陷的代价最小。
随着个人经验和技术的积累,还应学会怎样改进检测表以适应自己的要求。
个体循环过程PSP3PSP3的目标是把个体开发小程序所能达到的生产效率和生产质量,延仲到大型程序;其方法是采用螺旋式上升过程,即迭代增量式开发方法,首先把大型程序分解成小的模块,然后对每个模块按照PSP2.1所描述的过程进行开发,最后把这些模块逐步集成为完的软件产4.简要说明TSP的工作流程。
TSP工作通常将工作划分为多个周期,没一个周期都是包含一套完整的需求、设计、实现和测试的开发过程(1)策略和计划:1.确定策略标准。
2.概念设计。
3估计规模和时间。
4风殓估计。
5.策略归档。
2)需求:1.与客户沟通。
2需求评审。
3制定需求规格说明书。
(3)设计和实现(4)测试和后期维护:1测试。
2跟踪和度量测试情况。
3后期维护分析缺陷评价质量。
P99页:4请简要说明需求变更控制的流程和注意事项。
需求变更控制的流程需求变更时,要提出变更申请,还要由CCB进行评估,评估的内容包括需求的重要性、时间和资金等。
评估之后要做出通过与否的决定。
如果CCB确认提交的变更请求,则将指派某个人对原来的需求进行修改,并对其进行验证最终才实施该需求的变更注意事项a.项目启动阶段的变更预防:重视需求分析和定义,前期需求开发越充分,项目后期的需求变更就越少b.项目实施阶段的需求变更:需求一定要与投入有联系,小的需求变更也要经过正规的需求管理流程,精确的需求与范围定义并不会阻止需求变更,注意沟通的技巧。
项目收尾阶段的总结第六章2.简述成本的基本估算方法成本估算最主要的是对直接成本进行估算。
同时为了有效的控制风险,除了给出预算的成本之外,还可以适当给出成本的浮动范围。
经验估算法:进行估算的人应有专门的知识和丰富的经验,据此提出一个近似的数字。
这种方法是一种罪原始的方法,还称不上估算,只是一种近似的猜测。
它对要求很快拿出个大概的数字的项目是可以的,但对要求详细的估算显然是不能满足需求的。
比例法:比例法是比较科学的一种传统估算方法,它以过去的项目为参考来预算目前的项目成本。
工作分解结构表WBS全面计算:WBS是一种比较准确的一种成本估算方法。
WBS估算要求先把项目任务进行合理的划分,分到可以确认的程度,如某种材料,某种设备和某一活动单元等,然后估算每个WBS要素的费用。
Wbs成本估算又分为自上而下和自下而上两种估算方法。
3.资源管理的主要内容包括哪些?资源管理是项目管理中非常重要的一环。
而资源管理主要分为两个部分,人力资源管理和软硬件资源管理。
人力资源管理是要在对项目目标、规划、任务、走展情况以及各种內外因变量进行合理、有序的分析、规划和统筹的基础上,采用科学的方法,对项目过程的所有人员予以有效的协调、控制和管理。
项目人力资源管理可以理解为对人力资源的获取,培训、保留和使用等方面所进行的计划、组织、指挥和控制活动,主要内容有项目组织规划建立项日组织和组织建设3个方面软硬件资源管理是在项目管理中,一直强调着人力资源管理的重要性。
但是,硬件、软件的管理和支持也不可忽视。
网络故儫或服务器的崩溃就可能导致整个项目停滞不前,而缺少项目所需的软件也同样可能导致整个项目的失败。
所以分别需要硬件资源、软件资源的分别管理。
第七章2.有哪些指标可以用来测量软件过程质量?缺陷发现率:是指缺陷发现的频率,通用的计量单位有bug/KLOCKLOC是指千行代码而bug/KLOC的意思是每干行代码平均产生的缺陷数量。
这个数据不仅可以用来衡量产品的质量,也可以用来衡量过程的质量。
实际上,产品的质量越差,缺陷率越高。
而过程质量则恰恰相反,质量越差,缺陷率越低。
因此当统计的缺陷发现率较低时,需要从多方面考虑原因,可能是产品质量很好以致很难发现产品中的缺陷,从而造成缺陷率偏低。
也可能是因为工作的方法和策略不当,造成不能发现产品中的缺陷。
质量成本:这是产品成本的一部分。
它的定义是将产品质量保持在规定的水平上所需的费用。
它包括预防成本、鉴定成本、内部损失成本和外部损失成本等。
过程缺陷密度:它是一种度量标准,可以用来判定过程产品的质量以及检验过程的执行程度。
DPF可以表示如下:D|PF=Dn/Sp其中Dn是被发现的缺陷数,Sp是指被测试的软件产品规模缺陷到达模式:产品的缺陷密度、或者测试阶段的缺陷率是一个概括性指标,缺陷到达模武可以提供更多的过程信息。
一方面可以用于整个软件开发周期或某个特定的开发阶段,另一方面,缺陷到达模式还可以扩展到对于修正的和关闭的缺陷,可以获取有关开发工作人员工作效率、缺陷修正进程和质量进程等方面的信息。
第八章1将项目过程的集成管理和产品集成的过程管理进行对比,找出他们的共同点和不同点。
项目过程集成管理焦点在于组织单元之间关系的协调和处理,产品集成管理焦点在于产品构件接口标准、约定和验证。
相同点:1都需要制定集成管理的管理规范.过程2:需要制定一个过程计划3:根据需求者,利益者的要求,设计相关需求文档4:任务和进度都要按照过程计划进行,安排5:要每日的识别、跟踪和解决问题,持续集成不同点:1产品过程管理需要符合国内或国际标准的接口规范设计规格2产品过程管理要接口先行设计3产品过程集成管理需要项目必须按照组织标准软件过程来制定项目计划4项目过程集成需要协调各相关利益者的关系5项目过程集成有其他必要的项目管理内容,技术活动3举一个例子,如何运用|PD提高产品集成的质量。
华为是国内第一家引进和实施PD的公司,也是受益最大的国内全业。
华为的PD可以分为两个大的阶段,这两个阶段的效果有明显差别;在BM为华为提|D咨询后,华为的|PD取得了巨大成功。
华为的|PD主要由以下几个部分组成。
固化的结构化研发流程,支持流程实施的跨部门团队以前华为的产品开发完全是研发部门的事情,技术方向由关键人物来迒择。
在PD模式下,各部门都要有人参与到规划和实施的过程里,组成跨部门的团队,PMT与PDT(PT)。
跨部门的团队基本上要在产品开发之前做出相关联的规划,并且在品开发的过程中相互协调,以保证这个产品从始至终都是技术领先、成本合理并且符合市场需求。
华为共有约一百多个产品线,类似的产品线再一起组成一个大的产品线。
每个大的研发产品线都有一个PMT,他们是由总监级(现在改为产品线总裁)或者资深的产品专家组成,负责对旗下各个产品线的研发活动作关键环节(立项评估,计划决策,实验局评估等)的监控和评估。
监控和评估的主要依据就是看这个产品研发成本投入和未来市场效益的比较,以及技术、资金、人力等方面的可行性。
决策评审点。
决策评审点实际上是一种喇叭口的结构。
也就是通过仔细的调查、研究和分析之后筛选出最有潜力的项目,并且在“动手"之前尽可能地诖行瞄准"和计算“提前量"。
使得最后进入开发阶段的项目都是最健康和最明确的。
应该说这种研发管道管理,是华为在以前最欠缺的。
异步开发模式。
|PD在开发过程中为华为第一次引进了“异步开发"的概念。
这种流程实际上很好地使用了并行工程的思想,它比华为原来串行研发流程的效率要高很多。
1
Middlewaresample中间件是组装在应用程序管道中以处理请求和响应的软件。
2024/5/29 12:52:37 120KB Middleware sample
1
eDEX-UI远程监控服务器(尚在开发中/尚无法使用)设置Linux服务器进行eDEX-UI远程监视所需的一切。
基本思想是,通过SSH从eDEX进入服务器将使您能够看到所有UI信息,就像从该服务器上运行一样。
这是一项正在进行中的,尚未完全想到的研究:trade_mark:我决定公开此项目,以便感兴趣的用户可以观察我的进度。
在发布此版本之前,将禁用问题和PR。
任何问题,建议和想法都可以直接发送到我的电子邮件:gabriel@saillard.dev。
通过以下方式确保服务器安全性:彻底拒绝访问与服务器之间没有活动连接管道的客户端重用SSH密钥对远程监控请求进行身份验证通过SSL传输
2024/5/21 8:05:20 12.69MB linux node monitoring server
1
简易的web服务器实现,有httpd服务器通过管道实现动态流程.解析协议发送响应.并附带一个简易的client.c的测试客户端
2024/5/16 22:53:51 21KB linux http 服务器
1
云计算(cloudcomputing)是分布式计算的一种,指的是通过网络“云”将巨大的数据计算处理程序分解成无数个小程序,然后,通过多部服务器组成的系统进行处理和分析这些小程序得到结果并返回给用户。
云计算早期,简单地说,就是简单的分布式计算,解决任务分发,并进行计算结果的合并。
因而,云计算又称为网格计算。
通过这项技术,可以在很短的时间内(几秒种)完成对数以万计的数据的处理,从而达到强大的网络服务。
现阶段所说的云服务已经不单单是一种分布式计算,而是分布式计算、效用计算、负载均衡、并行计算、网络存储、热备份冗杂和虚拟化等计算机技术混合演进并跃升的结果。
2024/5/10 1:55:13 30KB 云计算
1
共 154 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡