- 破解WEP以及WPA2主要是破解WEP如果想破解WPA2需要你有个聪明的头脑这样会省下很多事情4 665浏览会员免费
- 图文并茂,最详细破解无线路由器密码教程,菜鸟都能看得懂,BT3 BT4都有4 663浏览会员免费
- c++大小:71KB病毒常用技术之远程线程病毒常用技术之远程线程4 163浏览会员免费
- Q:设计有5个进程并发执行的模拟调度程序,每个程序由一个PCB表示。<br>模拟调度程序可任选两种调度算法之一实现。<br>程序执行中应能在屏幕上显示出各进程的状态变化,以便于观察调度的整个过程。<br>5 276浏览会员免费
- IT运维服务方案范例.docx ,安全可控制,推荐5 1784浏览会员免费
- 计算机一级考试软件 非常的好 大家可以下 没有病毒4 186浏览会员免费
- “该DM9000是一款完全集成的和符合成本效益单芯片快速以太网MAC控制器与一般处理接口,一个10/100M自适应的PHY和4K DWORD值的SRAM 。它的目的是在低功耗和高性能进程的3.3V与5V的支持宽容。 DM9000还提供了介质无关的接口,来连接所有提供支持介质无关接口功能的家用电话线网络设备或其他收发器。该DM9000支持8位, 16位和32 -位接口访问内部存储器,以支持不同的处理器。DM9000物理协议层接口完全支持使用10MBps下3类、4类、5类非屏蔽双绞线和100MBps下5类非屏蔽双绞线。这是完全符合IEEE 802.3u规格。它的自动协调功能将自动完成配置以最大限度地适合其线路带宽。还支持IEEE 802.3x全双工流量控制。这个工作里面DM9000是非常简单的,所以用户可以容易的移植任何系统下的端口驱动程序。”英文资料太难懂,四级六级英语没有通过,不用愁。我为你的DM9000A学习提供中文的资料信息,请大家支持一下,我是小小0 136浏览会员免费
- 第一章 1、设计现代OS的主要目标是什么?P1 答:其主要目标是有效性、方便性、可扩充性、开放性。 2、OS的作用可表现在哪几个方面?P2-P3 答:1、OS作为用户与计算机硬件系统之间的接口;2、OS作为计算机资源的管理者;3、OS实现了对计算机资源的抽象; 3、为什么说OS实现了计算机资源的抽象?P4 答:完全无软件的计算机系统(即裸机),它向用户提供的是实际硬件接口(物理接口),用户必须对物理接口的实现细节有充分的了解,并利用机器指令进行编程,因此该物理机器必定是难以使用的。为了方便用户使用I/O设备,人们在裸机上覆盖上一层I/O设备管理软件。通常把覆盖了上述软件的机器称为扩充机器或虚机器。它向用户(进程)提供了一个对硬件操作的抽象模型,用户更容易地使用计算机便件资源。由该层软件实现了对计算机硬件操作的第一个层次的抽象。为了方便用户使用文件系统,人们又在第一层软件上再覆盖上一层用于文件的管理软件,同样由它来实现对文件操作的细节,并向上提供一组对文件进行存取操作的命令,用户可利用这组命令进行文件的存取。此时用户所看到的是一台功能更强、使用更方便的虚机器。该层软件实现了对硬件资源操作的第二个层次的抽象。OS是铺设在计算机硬件上的多层系统软件,它们不仅增强了系统的功能,而且还隐藏了对硬件操作的细节,由它们实现了对计算机硬件操作的多个层次的抽象。值得说明的,对一个硬件在底层进行抽象后,在高层还可再次对该资源进行抽象,成为更高层的抽象模型。随着抽象层次的提高,抽象接口所提供的功能就越来越强,用户使用起来也更加方便。 4、试说明推动多道批处理系统形成和发展的主要动力是什么?P4-P5 答:为了进一步提高资源的利用率和系统吞吐量,在该系统中,用户所提交的作业都先存放在外存上并排成一个队列,称为“后备队列”;然后,由作业高度程序按一定的算法从后备队列中选择若干个作业调入内存,使它们共享CPU和系统中各种资源。在OS中引入多道程序设计技术可带来以下好处:提高CPU和利用率、可提高内存和I/O设备利用率、增加系统吞吐量。主要动力:1、不断提高计算机资源的利用率;2、方便用户;3、器件的不断更新换代;4、计算机体系结构的不断发展; 5、何谓脱机I/O和联机I/O?P6 答:由于程序和数据的输入和输出都是在外围机的控制下完成的,或者说,它们是在脱离主机的情况下进行的,该技术是脱机输入/输出方式;反之,在主机的直接控制下进行输入/输出的方式称为联机输入/输出)ON-LINE I/O)方式。1、减少了CPU的空闲时间;2、提高了I/O速度。4 181浏览会员免费
- 目录回到顶部↑第1章 开发成功的Oracle应用 1 1.1 我的方法 2 1.2 黑盒方法 4 1.3 开发数据库应用的正确(和不正确)方法 8 1.3.1 了解Oracle体系结构 8 1.3.2 理解并发控制 14 1.3.3 多版本 19 1.3.4 数据库独立性? 25 1.3.5 “怎么能让应用运行得更快?” 41 1.3.6 DBA与开发人员的关系 45 1.4 小结 46 第2章 体系结构概述 47 2.1 定义数据库和实例 48 2.2 SGA和后台进程 53 2.3 连接Oracle 56 2.3.1 专用服务器 56 2.3.2 共享服务器 57 2.3.3 TCP/IP连接的基本原理 58 2.4 小结 61 第3章 文件 63 .3.1 参数文件 64 3.1.1 什么是参数? 65 3.1.2 遗留的init.ora参数文件 67 3.1.3 服务器参数文件 69 3.1.4 参数文件小结 75 3.2 跟踪文件 76 3.2.1 请求的跟踪文件 77 3.2.2 针对内部错误生成的跟踪文件 80 3.2.3 跟踪文件小结 83 3.3 警告文件 83 3.4 数据文件 86 3.4.1 简要回顾文件系统机制 86 3.4.2 Oracle数据库中的存储层次体系 87 3.4.3 字典管理和本地管理的表空间 91 3.5 临时文件 93 3.6 控制文件 95 3.7 重做日志文件 95 3.7.1 在线重做日志 96 3.7.2 归档重做日志 98 3.8 密码文件 100 3.9 修改跟踪文件 103 3.10 闪回日志文件 104 3.10.1 闪回数据库 104 3.10.2 闪回恢复区 105 3.11 DMP文件(EXP/IMP文件) 106 3.12 数据泵文件 107 3.13 平面文件 110 3.14 小结 111 第4章 内存结构 113 4.1 进程全局区和用户全局区 113 4.1.1 手动PGA内存管理 114 4.1.2 自动PGA内存管理 121 4.1.3 手动和自动内存管理的选择 131 4.1.4 PGA和UGA小结 132 4.2 系统全局区 133 4.2.1 固定SGA 137 4.2.2 重做缓冲区 137 4.2.3 块缓冲区缓存 138 4.2.4 共享池 145 4.2.5 大池 148 4.2.6 Java池 149 4.2.7 流池 150 4.2.8 自动SGA内存管理 150 4.3 小结 151 第5章 Oracle进程 153 5.1 服务器进程 153 5.1.1 专用服务器连接 154 5.1.2 共享服务器连接 156 5.1.3 连接与会话 157 5.1.4 专用服务器与共享服务器 163 5.1.5 专用/共享服务器小结 166 5.2 后台进程 167 5.2.1 中心后台进程 168 5.2.2 工具后台进程 175 5.3 从属进程 178 5.3.1 I/O从属进程 178 5.3.2 并行查询从属进程 179 5.4 小结 179 第6章 锁 181 6.1 什么是锁? 181 6.2 锁定问题 184 6.2.1 丢失更新 184 6.2.2 悲观锁定 185 6.2.3 乐观锁定 187 6.2.4 乐观锁定还是悲观锁定? 197 6.2.5 阻塞 198 6.2.6 死锁 201 6.2.7 锁升级 206 6.3 锁类型 206 6.3.1 DML锁 207 6.3.2 DDL锁 215 6.3.3 闩 218 6.3.4 手动锁定和用户定义锁 226 6.4 小结 227 第7章 并发与多版本 229 7.1 什么是并发控制? 229 7.2 事务隔离级别 230 7.2.1 READ UNCOMMITTED 232 7.2.2 READ COMMITTED 233 7.2.3 REPEATABLE READ 235 7.2.4 SERIALIZABLE 237 7.2.5 READ ONLY 239 7.3 多版本读一致性的含义 240 7.3.1 一种会失败的常用数据仓库技术 240 7.3.2 解释热表上超出期望的I/O 241 7.4 写一致性 244 7.4.1 一致读和当前读 244 7.4.2 查看重启动 247 7.4.3 为什么重启动对我们很重要? 250 7.5 小结 251 第8章 事务 253 8.1 事务控制语句 254 8.2 原子性 255 8.2.1 语句级原子性 255 8.2.2 过程级原子性 257 8.2.3 事务级原子性 260 8.3 完整性约束和事务 260 8.3.1 IMMEDIATE约束 260 8.3.2 DEFERRABLE约束和级联更新 261 8.4 不好的事务习惯 263 8.4.1 在循环中提交? 264 8.4.2 使用自动提交? 270 8.5 分布式事务 271 8.6 自治事务 273 8.6.1 自治事务如何工作? 273 8.6.2 何时使用自治事务? 276 8.7 小结 279 第9章 redo与undo 281 9.1 什么是redo? 281 9.2 什么是undo? 282 9.3 redo和undo如何协作? 285 9.4 提交和回滚处理 289 9.4.1 COMMIT做什么? 289 9.4.2 ROLLBACK做什么? 296 9.5 分析redo 297 9.5.1 测量redo 298 9.5.2 redo生成和BEFORE/AFTER触发器 300 9.5.3 我能关掉重做日志生成吗? 306 9.5.4 为什么不能分配一个新日志? 310 9.5.5 块清除 312 9.5.6 日志竞争 315 9.5.7 临时表和redo/undo 317 9.6 分析undo 321 9.6.1 什么操作会生成最多和最少的undo? 321 9.6.2 ORA-01555: snapshot too old错误 323 9.7 小结 334 第10章 数据库表 335 10.1 表类型 335 10.2 术语 337 10.2.1 段 337 10.2.2 段空间管理 339 10.2.3 高水位线 340 10.2.4 freelists 342 10.2.5 PCTFREE和PCTUSED 345 10.2.6 LOGGING和NOLOGGING 348 10.2.7 INITRANS和MAXTRANS 349 10.3 堆组织表 349 10.4 索引组织表 352 10.5 索引聚簇表 368 10.6 散列聚簇表 376 10.7 有序散列聚簇表 386 10.8 嵌套表 390 10.8.1 嵌套表语法 390 10.8.2 嵌套表存储 399 10.8.3 嵌套表小结 402 10.9 临时表 402 10.10 对象表 410 10.11 小结 418 第11章 索引 421 11.1 Oracle索引概述 422 11.2 B*树索引 423 11.2.1 索引键压缩 426 11.2.2 反向键索引 429 11.2.3 降序索引 435 11.2.4 什么情况下应该使用B*树索引? 437 11.2.5 B*树小结 448 11.3 位图索引 448 11.3.1 什么情况下应该使用位图索引? 449 11.3.2 位图联结索引 453 11.3.3 位图索引小结 455 11.4 基于函数的索引 456 11.4.1 重要的实现细节 456 11.4.2 一个简单的基于函数的索引例子 457 11.4.3 只对部分行建立索引 465 11.4.4 实现有选择的惟一性 467 11.4.5 关于CASE的警告 467 11.4.6 关于ORA-01743的警告 469 11.4.7 基于函数的索引小结 470 11.5 应用域索引 470 11.6 关于索引的常见问题和神话 472 11.6.1 视图能使用索引吗? 472 11.6.2 Null和索引能协作吗? 472 11.6.3 外键是否应该加索引? 475 11.6.4 为什么没有使用我的索引? 476 11.6.5 神话:索引中从不重用空间 483 11.6.6 神话:最有差别的元素应该在最前面 486 11.7 小结 490 第12章 数据类型 491 12.1 Oracle数据类型概述 491 12.2 字符和二进制串类型 494 12.2.1 NLS概述 494 12.2.2 字符串 497 12.3 二进制串:RAW类型 504 12.4 数值类型 506 12.4.1 NUMBER类型的语法和用法 509 12.4.2 BINARY_FLOAT/BINARY_DOUBLE类型的语法和用法 513 12.4.3 非固有数值类型 513 12.4.4 性能考虑 514 12.5 LONG类型 515 12.5.1 LONG和LONG RAW类型的限制 516 12.5.2 处理遗留的LONG类型 517 12.6 DATE、TIMESTAMP和INTERVAL类型 523 12.6.1 格式 523 12.6.2 DATE类型 525 12.6.3 TIMESTAMP类型 533 12.6.4 INTERVAL类型 541 12.7 LOB 类型 544 12.7.1 内部LOB 545 12.7.2 BFILE 557 12.8 ROWID/UROWID类型 559 12.9 小结 560 第13章 分区 561 13.1 分区概述 561 13.1.1 提高可用性 562 13.1.2 减少管理负担 564 13.1.3 改善语句性能 569 13.2 表分区机制 571 13.2.1 区间分区 571 13.2.2 散列分区 574 13.2.3 列表分区 579 13.2.4 组合分区 581 13.2.5 行移动 583 13.2.6 表分区机制小结 585 13.3 索引分区 586 13.3.1 局部索引与全局索引 587 13.3.2 局部索引 587 13.3.3 全局索引 594 13.4 再论分区和性能 610 13.5 审计和段空间压缩 617 13.6 小结 618 第14章 并行执行 619 14.1 何时使用并行执行 620 14.2 并行查询 622 14.3 并行DML 628 14.4 并行DDL 631 14.4.1 并行DDL和使用外部表的数据加载 632 14.4.2 并行DDL和区段截断 634 14.5 并行恢复 643 14.6 过程并行化 643 14.6.1 并行管道函数 644 14.6.2 DIY并行化 648 14.7 小结 652 第15章 数据加载和卸载 655 15.1 SQL*Loader 655 15.1.1 用SQLLDR加载数据的FAQ 660 15.1.2 SQLLDR警告 686 15.1.3 SQLLDR小结 686 15.2 外部表 687 15.2.1 建立外部表 688 15.2.2 处理错误 693 15.2.3 使用外部表加载不同的文件 697 15.2.4 多用户问题 697 15.2.5 外部表小结 698 15.3 平面文件卸载 698 15.4 数据泵卸载 708 15.5 小结 710 索引 7115 394浏览会员免费
- 一款很不错的黑页源代码,自己可以试着修改4 1w+浏览会员免费
- 我写的一个关于生产者—消费者问题课程设计报告,大家有用得着的就看看。4 180浏览会员免费
- Trinoo是基于UDPflood的攻击软件,它向被攻击目标主机随机端口发送全零的4字节UDP包,被攻击主机的网络性能在处理这些超出其处理能力垃圾数据包的过程中不断下降,直至不能提供正常服务甚至崩溃。5 670浏览会员免费
- 小技术, 百试不爽, 路过看看 多谢大家!3 7904浏览会员免费
- 进程调度模拟程序 操作系统课程设计 有结构图,及代码,完整的课程设计4 233浏览会员免费
- CDlinux、奶瓶下用[reaver1.3]PIN码破解WPA2加密无线网络密码.5 1594浏览会员免费
- 学习信息安全的入门必看30本图书!从协议工具 到 恶意代码的分析以及操作系统的基本认识4 1558浏览会员免费
- 如何入侵学校教务管理系统 强智 ASP3 2933浏览会员免费
- 项管考试大小:106KB软件工程及项目管理基础知识: 信息系统工程质量管理: 软件质量因素: 影响进度因素: 成本管理由4个过程组成: 影响工程成本主要因素: 何为风险? 控制风险的方法: 风险分析的方法与途径: 项目风险管理应该 项目定义并说明项目管理三要素 项目管理的四大核心领域: 项目管理的九大知识领域: 五大项目过程: 何为项目管理及特点: 项目管理特点: 系统总体设计的主要任务: 系统总体结构设计的主要原则: 系统总体布局 系统总体布局方案 系统详细设计内容: 程设计数据库 设计主要步骤: 可行性研究 UML在软件开发 系统设计说明书应该包括引言和系统总体技术方案, 信息系统实施阶段的任务 系统实施成功与否 程序设计的步骤: 系统试运行阶段的工作主要包括: 新旧系统转换的方式: 直接转换、并行转换、分段转换 调试方法: 系统管理规划 信息系统具有哪些结构? 信息系统有哪些类型? 信息系统工程的研究方法 质量控制的主要手段: 信息系统建设为什么需要全面质量控制 信息系统项目的特点: IT 财务管理的目标及作用: 解决IT 投资预算 IT 系统管理的层次、定位和职能范围 IT 系统日常操作管理活动包括: 系统运作报告包括 完整的成本管理模式应包括 It 会计人员需要注意的差异一般包括: 分布式环境下系统管理的特点: IT 服务计费管理的概念及对it 管理的意义? IT 组织部门设计原则及组织设计考虑因素: 资源管理 企业组织的信息资源管理主要内容: 信息资源管理的目标 信息资源管理 用于管理的关键IT 硬件维护管理要求如下: 简述执行系统维护的流程: 新系统的运行与系统转换工作实施大致步骤如下: 新系统运行与转换)新系统运行计划内容: 系统转换计划内容: 系统转换测试的目的和步骤: 转换测试工作步骤: 判定系统转换是否成功 运行测试的目的: 运行测试包括对系统临时运行方式的测试、评价和对正常运转期间的系统运行测试、评价 系统转换计划包括以下方面: 确定转换方法(直接转换、逐步转换、并行转换、试点后直接转换) 转换涉及的人员有: 执行系统转换的过程需要注意什么? 为了顺利执行系统转换,需要以下要素 计算机病毒的预防技术主要包括:磁盘引导区保护,加密可执行程序,读写控制技术和系统监控技术 简述入侵检测系统的功能和使用本系统带来的益处: 带来的益处: 提高容错的途径 常用的系统性能评价方法:软件工程及项目管理基础知识: 信息系统工程质量管理: 软件质量因素: 影响进度因素: 成本管理由4个过程组成: 影响工程成本主要因素: 何为风险? 控制风险的方法: 风险分析的方法与途径: 项目风险管理应该 项目定义并说明项目管理三要素 项目管理的四大核心领域: 项目管理的九大知识领域: 五大项目过程: 何为项目管理及特点: 项目管理特点: 系统总体设计的主要任务: 系统总体结构设计的主要原则: 系统总体布局 系统总体布局方案 系统详细设计内容: 程设计数据库 设计主要步骤: 可行性研究 UML在软件开发 系统设计说明书应该包括引言和系统总体技术方案, 信息系统实施阶段的任务 系统实施成功与否 程序设计的步骤: 系统试运行阶段的工作主要包括: 新旧系统转换的方式: 直接转换、并行转换、分段转换 调试方法: 系统管理规划 信息系统具有哪些结构? 信息系统有哪些类型? 信息系统工程的研究方法 质量控制的主要手段: 信息系统建设为什么需要全面质量控制 信息系统项目的特点: IT 财务管理的目标及作用: 解决IT 投资预算 IT 系统管理的层次、定位和职能范围 IT 系统日常操作管理活动包括: 系统运作报告包括 完整的成本管理模式应包括 It 会计人员需要注意的差异一般包括: 分布式环境下系统管理的特点: IT 服务计费管理的概念及对it 管理的意义? IT 组织部门设计原则及组织设计考虑因素: 资源管理 企业组织的信息资源管理主要内容: 信息资源管理的目标 信息资源管理 用于管理的关键IT 硬件维护管理要求如下: 简述执行系统维护的流程: 新系统的运行与系统转换工作实施大致步骤如下: 新系统运行与转换)新系统运行计划内容: 系统转换计划内容: 系统转换测试的目的和步骤: 转换测试工作步骤: 判定系统转换是否成功 运行测试的目的: 运行测试包括对系统临时运行方式的测试、评价和对正常运转期间的系统运行测试、评价 系统转换计划包括以下方面: 确定转换方法(直接转换、逐步转换、并行转换、试点后直接转换) 转换涉及的人员有: 执行系统转换的过程需要注意什么? 为了顺利执行系统转换,需要以下要素 计算机病毒的预防技术主要包括:磁盘引导区保护,加密可执行程序,读写控制技术和系统监控技术 简述入侵检测系统的功能和使用本系统带来的益处: 带来的益处: 提高容错的途径 常用的系统性能评价方法:5 602浏览会员免费
- 本文档详细地记录了burpsuite使用的各种设置、技巧、方法,并且提供了很多个案例,供广大网络安全应用者参考,十分难得的一份文档!5 5712浏览会员免费
- Billy Belceb 病毒编写教程0 203浏览会员免费
- W32.Downadup.B专杀,参照文档,使用360及诺顿配合手工清除病毒。4 162浏览会员免费
- 进程调度课程设计报告4 137浏览会员免费
- 破解收费软件的几种方法,有追踪码,爆破等几种常用及不常用的方法。4 3741浏览会员免费
- 删除jwgkvsq.vmx ,Autorun.vinf蠕虫病毒.doc删除jwgkvsq.vmx ,Autorun.vinf蠕虫病毒.doc4 107浏览会员免费
- 四个实验:进程调度 银行家算法 存储管理 磁盘调度4 240浏览会员免费
- LOIC(低轨道离子加农炮) 工具使用方法,可用于DDoS攻击测试5 6124浏览会员免费
- 1.实现段页式存储管理中逻辑地址到物理地址的转换。能够处理以下的情形: ⑴ 能指定内存的大小,内存块的大小,进程的个数,每个进程的段数及段内页的个数; ⑵ 能检查地址的合法性,如果合法进行转换,否则显示地址非法的原因。 2.设计报告内容应说明: ⑴ 需求分析; ⑵ 功能设计(数据结构及模块说明); ⑶ 开发平台及源程序的主要部分; ⑷ 测试用例,运行结果与运行情况分析; ⑸ 自我评价与总结: i)你认为你完成的设计哪些地方做得比较好或比较出色; ii)什么地方做得不太好,以后如何改正; iii)从本设计得到的收获(在编写,调试,执行过程中的经验和教训); iv)完成本题是否有其他方法(如果有,简要说明该方法); v)对实验题的评价和改进意见,请你推荐设计题目。5 3367浏览会员免费
- 任意文件下载+配置文件插马0 82浏览会员免费
- Win32/Conficker.AA ,也被称为W32/Worm.AHGV , Win32.Worm.Downadup ,净Worm.Win32.Kido.bg ,蠕虫: Win32/Conficker , W32/Conficker.worm.gen ,并末/ Conficker ,是一种恶意蠕虫病毒传播的电脑在当地的网络,利用微软Windows Server服务的RPC处理远程代码执行漏洞。 该Win32/Conficker.AA蠕虫病毒可以执行许多骇人听闻的行动,在你的电脑。 Win32/Conficker.AA蠕虫病毒可以阻止您访问安全网站,以及清除系统还原点之前感染您的计算机4 218浏览会员免费
- 1)编程实现模拟操作系统进程调度子系统的基本功能;理解进程调度的概念,通过课程设计深入了解进程控制块的功能、进程的创建、删除以及进程各个状态间的转换过程;实现先来先服务、时间片轮转、多级反馈轮转法对进程进行的调度过程;通过观察有关的队列结构的内容的动态变化过程深入体会各个调度算法的特点;从而能够更好的巩固从书本上学到的知识。 2)编程过程中需要建立队列等结构进行各种操作,通过该次试验,可以督促学生从实用的角度对《数据结构》课程内容进行更深入理解和更熟练的应用。 3)实验编程语言要求使用java语言或C++语言。通过对调度功能的编程实现,不但能有效训练学生对编程语言的熟练使用,还能促进学生独立思考解决问题、以及独立查新获取知识的能力5 150浏览会员免费
- Pangolin的使用方法教程 ..对于穿山甲很多人不会用 ..详细大家看文本4 1750浏览会员免费
- 1引言 2 1.1编写目的 2 1.2定义 2 1.3参考资料 2 2需求分析 2 2.1功能分析(需不需要再分) 2 2.2业务活动 3 2.3数据字典 3 2.4数据流图 5 2、第二层 6 1)进程1――查询定桌系统 6 7 3结构设计 9 3.1概念结构设计 9 3.2逻辑结构设计 9 3.3物理结构设计 11 4运用设计 11 4.1安全保密设计 11 4.2系统运行与维护 115 1732浏览会员免费
- 《UNIX操作系统设计》的课程设计作业,有需要的朋友拿去看看4 80浏览会员免费
- BT5大小:5MBBT5_中文版破解WPA2 中文版(集成spoonwep2/spoonwpa)下载 。 这里向大家提供BT4中文整合版,支持5100网卡BT5_中文版破解WPA2 中文版(集成spoonwep2/spoonwpa)下载 。 这里向大家提供BT4中文整合版,支持5100网卡4 413浏览会员免费
- 不需抓包跑字典!卡王BT10软件破解WAP2密码图文详解4 542浏览会员免费
- Ptrace 提供了一种父进程可以控制子进程运行,并可以检查和改变它的核心image。它主要用于实现断点调试。一个被跟踪的进程运行中,直到发生一个信号。则进程被中止,并且通知其父进程。在进程中止的状态下,进程的内存空间可以被读写。父进程还可以使子进程继续执行,并选择是否是否忽略引起中止的信号。0 461浏览会员免费
- 这是一个入侵检测系统分析的doc文档,对初学者帮助哦0 87浏览会员免费
- 操作系统实验报告(LINUX进程间通信)5 2011浏览会员免费
- 第一部分 - Windows程序设计基础 第1章 - "Hello Windows CE" 第2章 - 屏幕绘画 第3章 - 输入:键盘、鼠标和触摸屏 第4章 - 窗口、控件和菜单 第5章 - 公共控件和Windows CE 第6章 - 对话狂和属性表 第二部分 - Windows CE程序设计 第7章 - 内存管理 第8章 - 文件和注册 第9章 - Windows CE数据库 第10章 - 模块、进程和线程 第11章 - 通知机制 第三部分 - 通信 第12章 - 串口通信 第13章 - Windows CE网络通信 第14章 - 设备间通信 第15章 - 桌面连接 第四部分 设备编程 第16章 - 浏览器Shell编程 第17章 - Pocket PC编程 第18章 - Pocket PC扩展 第19章 - Smartphone编程 第20章 - 游戏API-GAPI 第五部分 - Windows CE高级编程 第21章 - 系统编程 第22章 - 设备驱动程序和服务编程 第23章 - .Net CF下的程序设计5 100浏览会员免费
- 3、详细设计(各个模块的算法实现,即各个用户自己的头文件) */首先定义头结点headnode来标志队首*/ #include<stdio.h> #include<stdlib.h> #include<iostream> 4、代码清单(包含头文件<用命令括进去即可#include……>和主函数) #include<stdio.h> #include<iostream> using namespace std; #define MAX 10 struct task_struct { char name[10]; /*进程名称*/ int number; /*进程编号*/ float come_time; /*到达时间*/ float run_begin_time; /*开始运行时间*/ float run_time; /*运行时间*/ float run_end_time; /*运行结束时间*/ int priority; /*优先级*/ int order; /*运行次序*/ int run_flag; /*调度标志*/ }tasks[MAX]; int counter; /*实际进程个数*/ int fcfs(); /*先来先服务*/ int ps(); /*优先级调度*/ int sjf(); /*短作业优先*/ int hrrn(); /*响应比高优先*/ int pinput(); /*进程参数输入*/ int poutput(); /*调度结果输出*/ int main() { int option; pinput(); printf("请选择调度算法(0~4):\n"); printf("1.先来先服务\n"); printf("2.优先级调度\n"); printf(" 3.短作业优先\n"); printf(" 4.响应比高优先\n"); printf(" 0.退出\n"); scanf("%d",&option); switch (option) { case 0: printf("运行结束。\n"); break; case 1: printf("对进程按先来先服务调度。\n\n"); fcfs(); poutput(); break; case 2: printf("对进程按优先级调度。\n\n"); ps(); poutput(); break; case 3: printf("对进程按短作业优先调度。\n\n"); sjf(); poutput(); break; case 4: printf("对进程按响应比高优先调度。\n\n"); hrrn(); poutput(); break; } } int fcfs() /*先来先服务*/ { float time_temp=0; int i; int number_schedul; time_temp=tasks[0].come_time; for(i=0;i<counter;i++) { tasks[i].run_begin_time=time_temp; tasks[i].run_end_time=tasks[i].run_begin_time+tasks[i].run_time; tasks[i].run_flag=1; time_temp=tasks[i].run_end_time; number_schedul=i; tasks[number_schedul].order=i+1; } return 0; } int ps() /*优先级调度*/ { float temp_time=0; int i=0,j; int number_schedul,temp_counter; int max_priority; max_priority=tasks[i].priority; j=1; while ((j<counter)&&(tasks[i].come_time==tasks[j].come_time)) { if (tasks[j].priority>tasks[i].priority) { max_priority=tasks[j].priority; i=j; } j++; } /*查找第一个被调度的进程*/ /*对第一个被调度的进程求相应的参数*/ number_schedul=i; tasks[number_schedul].run_begin_time=tasks[number_schedul].come_time; tasks[number_schedul].run_end_time=tasks[number_schedul].run_begin_time+tasks[number_schedul].run_time; tasks[number_schedul].run_flag=1; temp_time=tasks[number_schedul].run_end_time; tasks[number_schedul].order=1; temp_counter=1; while (temp_counter<counter) { max_priority=0; for(j=0;j<counter;j++) { if((tasks[j].come_time<=temp_time)&&(!tasks[j].run_flag)) if (tasks[j].priority>max_priority) { max_priority=tasks[j].priority; number_schedul=j; } } /*查找下一个被调度的进程*/ /*对找到的下一个被调度的进程求相应的参数*/ tasks[number_schedul].run_begin_time=temp_time; tasks[number_schedul].run_end_time=tasks[number_schedul].run_begin_time+tasks[number_schedul].run_time; tasks[number_schedul].run_flag=1; temp_time=tasks[number_schedul].run_end_time; temp_counter++; tasks[number_schedul].order=temp_counter; }return 0; } int sjf() /*短作业优先*/ { float temp_time=0; int i=0,j; int number_schedul,temp_counter; float run_time; run_time=tasks[i].run_time; j=1; while ((j<counter)&&(tasks[i].come_time==tasks[j].come_time)) { if (tasks[j].run_time<tasks[i].run_time) { run_time=tasks[j].run_time; i=j; } j++; } /*查找第一个被调度的进程*/ /*对第一个被调度的进程求相应的参数*/ number_schedul=i; tasks[number_schedul].run_begin_time=tasks[number_schedul].come_time; tasks[number_schedul].run_end_time=tasks[number_schedul].run_begin_time+tasks[number_schedul].run_time; tasks[number_schedul].run_flag=1; temp_time=tasks[number_schedul].run_end_time; tasks[number_schedul].order=1; temp_counter=1; while (temp_counter<counter) { for(j=0;j<counter;j++) { if((tasks[j].come_time<=temp_time)&&(!tasks[j].run_flag)) { run_time=tasks[j].run_time;number_schedul=j;break;} } for(j=0;j<counter;j++) { if((tasks[j].come_time<=temp_time)&&(!tasks[j].run_flag)) if(tasks[j].run_time<run_time) {run_time=tasks[j].run_time; number_schedul=j; } } /*查找下一个被调度的进程*/ /*对找到的下一个被调度的进程求相应的参数*/ tasks[number_schedul].run_begin_time=temp_time; tasks[number_schedul].run_end_time=tasks[number_schedul].run_begin_time+tasks[number_schedul].run_time; tasks[number_schedul].run_flag=1; temp_time=tasks[number_schedul].run_end_time; temp_counter++; tasks[number_schedul].order=temp_counter; }return 0; } int hrrn() /*响应比高优先*/ { int j,number_schedul,temp_counter; float temp_time,respond_rate,max_respond_rate; /*第一个进程被调度*/ tasks[0].run_begin_time=tasks[0].come_time; tasks[0].run_end_time=tasks[0].run_begin_time+tasks[0].run_time; temp_time=tasks[0].run_end_time; tasks[0].run_flag=1; tasks[0].order=1; temp_counter=1; /*调度其他进程*/ while(temp_counter<counter) { max_respond_rate=0; for(j=1;j<counter;j++) { if((tasks[j].come_time<=temp_time)&&(!tasks[j].run_flag)) { respond_rate=(temp_time-tasks[j].come_time)/tasks[j].run_time; if (respond_rate>max_respond_rate) { max_respond_rate=respond_rate; number_schedul=j; } } } /*找响应比高的进程*/ tasks[number_schedul].run_begin_time=temp_time; tasks[number_schedul].run_end_time=tasks[number_schedul].run_begin_time+tasks[number_schedul].run_time; temp_time=tasks[number_schedul].run_end_time; tasks[number_schedul].run_flag=1; temp_counter+=1; tasks[number_schedul].order=temp_counter; } return 0; } int pinput() /*进程参数输入*/ { int i; printf("please input the process counter:\n"); scanf("%d",&counter); for(i=0;i<counter;i++) { printf("******************************************\n"); printf("please input the process of %d th :\n",i+1); printf("please input the name:\n"); scanf("%s",tasks[i].name); printf("please input the number:\n"); scanf("%d",&tasks[i].number); printf("please input the come_time:\n"); scanf("%f",&tasks[i].come_time); printf("please input the run_time:\n"); scanf("%f",&tasks[i].run_time); printf("please input the priority:\n"); scanf("%d",&tasks[i].priority); tasks[i].run_begin_time=0; tasks[i].run_end_time=0; tasks[i].order=0; tasks[i].run_flag=0; } return 0; } int poutput() /*调度结果输出*/ { int i; float turn_round_time=0,f1,w=0; printf("name number come_time run_time run_begin_time run_end_time priority order turn_round_time\n"); for(i=0;i<counter;i++) { f1=tasks[i].run_end_time-tasks[i].come_time; turn_round_time+=f1; w+=(f1/tasks[i].run_time); printf(" %s, %d, %5.3f, %5.3f, %5.3f, %5.3f, %d, %d, %5.3f\n",tasks[i].name,tasks[i].number,tasks[i].come_time,tasks[i].run_time,tasks[i].run_begin_time,tasks[i].run_end_time,tasks[i].priority,tasks[i].order,f1); } printf("average_turn_round_timer=%5.2f\n",turn_round_time/counter); printf("weight_average_turn_round_timer=%5.2f\n",w/counter); return 0; }5 244浏览会员免费
- 密码直接存储进数据库是极不安全的,因为一旦别人入侵了你的机器或别人有机会用你的电脑,那数据库中的密码就非常容易被别人获得,所以应该将用户的密码先进行加密再存入数据库4 3765浏览会员免费
- 理解死锁的概念,掌握死锁预防方法。 死锁是进程并发执行过程中可能出现的现象,哲学家就餐问题是描述死锁的经典例子。假设有几位哲学家围坐在一张餐桌旁,桌上有吃不尽的食品,每两位哲学家之间摆放着一根筷子,筷子的个数与哲学家的数量相等,每一位哲学家要么思考,要么等待,要么拿起左右两根筷子进餐。本设计假设有五个哲学家和五根筷子,它们的编号都是从0到4。 如果每位哲学家都拿起左边的筷子,就会发生死锁。 为了防止死锁,可以采用资源预分配法或者资源按序分配法。资源预分配法是指进程在运行前一次性地向系统申请它所需要的全部资源,如果系统当前不能够满足进程的全部资源请求,则不分配资源, 此进程暂不投入运行,如果系统当前能够满足进程的全部资源请求, 则一次性地将所申请的资源全部分配给申请进程。资源按序分配法是指事先将所有资源类全排序, 即赋予每一个资源类一个唯一的整数,规定进程必需按照资源编号由小到大的次序申请资源。 在哲学家就餐问题中,要采用资源预分配法只需让每个哲学家同时申请左右两根筷子。要采用资源按序分配法只需规定每个哲学家先申请左右两根筷子中编号小的筷子,再申请编号大的筷子。5 1485浏览会员免费
- 无线路由器 wpa wpa2 密码破解软件 安装使用4 237浏览会员免费
- loadrunner大小:27KBLOADRUNNER对应用程序施压时,采用的方法就是让一台机器模拟很多用户,同时向被测用户发送请求或进行操作。这样,如果一台测试机器模拟的虚拟用户数过多,他本身性能的下降会直接影响测试效果。为了避免这种情况,LOADRUNNER允许使用多台机器运行场景来均衡测试机器的负荷。只要一台机器安装了LOAD GENERATOR并启动了LOADRUNNER AGENT PROCESS进程,就可以被CONTROLLER统一调度来运行场景,CONTROLLER负载收集统一的测试信息和执行结果。LOADRUNNER对应用程序施压时,采用的方法就是让一台机器模拟很多用户,同时向被测用户发送请求或进行操作。这样,如果一台测试机器模拟的虚拟用户数过多,他本身性能的下降会直接影响测试效果。为了避免这种情况,LOADRUNNER允许使用多台机器运行场景来均衡测试机器的负荷。只要一台机器安装了LOAD GENERATOR并启动了LOADRUNNER AGENT PROCESS进程,就可以被CONTROLLER统一调度来运行场景,CONTROLLER负载收集统一的测试信息和执行结果。5 116浏览会员免费
- 网页js脚本注入,可执行任意代码。这里有个实例教程,通过注入实现跳过验证码。4 6722浏览会员免费
- 信息安全实验三:Snort入侵检测系统的配置与使用 信息安全实验三:Snort入侵检测系统的配置与使用4 3175浏览会员免费
- OllyICE使用教程.doc大小:275KBOllyICE使用教程有图,OllyICE使用说明与示例 OllyDBG 1.10 版的发布版本是个 ZIP 压缩包,只要解压到一个目录下,运行 OllyDBG.exe 就可以了。汉化版的发布版本是个 RAR 压缩包,同样只需解压到一个目录下运行 OllyDBG.exe 即可OllyICE使用教程有图,OllyICE使用说明与示例 OllyDBG 1.10 版的发布版本是个 ZIP 压缩包,只要解压到一个目录下,运行 OllyDBG.exe 就可以了。汉化版的发布版本是个 RAR 压缩包,同样只需解压到一个目录下运行 OllyDBG.exe 即可4 959浏览会员免费
- dos命令学习 常见DOS命令精讲 各种各样的DOS命令 使用与初学者...4 79浏览会员免费
- BT5教程+BT5软件下载地址+BT5哪里有+BT5那下载+BT5怎么用 BT5教程+BT5软件下载地址+BT5哪里有+BT5那下载+BT5怎么用 BT5教程+BT5软件下载地址+BT5哪里有+BT5那下载+BT5怎么用3 266浏览会员免费
- 1、 假定系统有五个进程,每一个进程用一个进程控制块PCB来代表,进程控制块的格式为: 进程名 指针 要求运行时间 优先数 状态 进程名——作为进程的标识,假设五个进程的进程名分别为P1,P2,P3,P4,P5。 指针——按优先数的大小把五个进程连成队列,用指针指出下一个进程的进程控制块的首地址,最后一个进程中的指针为“0”。 要求运行时间——假设进程需要运行的单位时间数。 优先数——赋予进程的优先数,调度时总是选取优先数大的进程先执行。 状态——可假设有两种状态,“就绪”状态和“结束”状态。五个进程的初始状态都为“就绪”,用“R”表示,当一个进程运行结束后,它的状态为“结束”,用“E”表示。 ···3 934浏览会员免费
- 防护arp攻击软件最终版-Antiarp安全软件 使用方法: 1、填入网关IP地址,点击〔获取网关地址〕将会显示出网关的MAC地址。点击[自动防护]即可保护当前网卡与该网关的通信不会被第三方监听。注意:如出现这种欺骗提示,这说明攻击者发送了对于此种欺骗数据包来获取网卡的数据包,如果您想追踪攻击来源请记住攻击者的MAC地址,利用MAC地址扫描器可以找出IP 对应的MAC地址. 2、IP地址冲突 如频繁的出现IP地址冲突,这说明攻击者频繁发送ARP欺骗数据包,才会出现IP冲突的警告,利用Anti ARP Sniffer可以防止此类攻击。 3、您需要知道冲突的MAC地址,Windows会记录这些错误。查看具体方法如下: 右击[我的电脑]--[管理]--点击[事件查看器]--点击[系统]--查看来源为[TcpIP]---双击事件可以看到显示地址发生冲突,并记录了该MAC地址,请复制该MAC地址并填入Anti ARP Sniffer的本地MAC地址输入框中(请注意将:转换为-),输入完成之后点击[防护地址冲突],为了使M地址生效请禁用本地网卡然后再启用网卡,在CMD命令行中输入Ipconfig /all,查看当前MAC地址是否与本地MAC地址输入框中的地址相符,如果更改失败请与我联系。如果成功将不再会显示地址冲突。 注意:如果您想恢复默认MAC地址,请点击[恢复默认],为了使地址生效请禁用本地网卡然后再启用网卡。 有关ARP病毒问题的处理说明: 故障现象 :机器以前可正常上网的,突然出现可认证,不能上网的现象(无法ping通网关),重启机器或在MSDOS窗口下运行命令ARP -d后,又可恢复上网一段时间。 故障原因:这是APR病毒欺骗攻击造成的。 引起问题的原因一般是由传奇外挂携带的ARP木马攻击。当在局域网内使用上述外挂时,外挂携带的病毒会将该机器的MAC地址映射到网关的IP地址上,向局域网内大量发送ARP包,从而致使同一网段地址内的其它机器误将其作为网关,这就是为什么掉线时内网是互通的,计算机却不能上网的原因。 临时处理对策: 步骤一. 在能上网时,进入MS-DOS窗口,输入命令:arp –a 查看网关IP对应的正确MAC地址,将其记录下来。 注:如果已经不能上网,则先运行一次命令arp –d将arp缓存中的内容删空,计算机可暂时恢复上网(攻击如果不停止的话),一旦能上网就立即将网络断掉(禁用网卡或拔掉网线),再运行arp –a。 步骤二. 如果已经有网关的正确MAC地址,在不能上网时,手工将网关IP和正确MAC绑定,可确保计算机不再被攻击影响。手工绑定可在MS-DOS窗口下运行以下命令: arp –s 网关IP 网关MAC 例如:假设计算机所处网段的网关为218.197.192.254,本机地址为218.197.192.1在计算机上运行arp –a后输出如下: C:\Documents and Settings>arp -a Interface: 218.197.192.1 --- 0x2 Internet Address Physical Address Type 218.197.192.254 00-01-02-03-04-05 dynamic 其中00-01-02-03-04-05就是网关218.197.192.254对应的MAC地址,类型是动态(dynamic)的,因此是可被改变。 被攻击后,再用该命令查看,就会发现该MAC已经被替换成攻击机器的MAC,如果大家希望能找出攻击机器,彻底根除攻击,可以在此时将该MAC记录下来,为以后查找做准备。 手工绑定的命令为: arp –s 218.197.192.254 00-01-02-03-04-05 绑定完,可再用arp –a查看arp缓存, C:\Documents and Settings>arp -a Interface: 218.197.192.1 --- 0x2 Internet Address Physical Address Type 218.197.192.254 00-01-02-03-04-05 static 这时,类型变为静态(static),就不会再受攻击影响了。但是,需要说明的是,手工绑定在计算机关机重开机后就会失效,需要再绑定。所以,要彻底根除攻击,只有找出网段内被病毒感染的计算机,令其杀毒,方可解决。找出病毒计算机的方法: 如果已有病毒计算机的MAC地址,可使用NBTSCAN软件找出网段内与该MAC地址对应的IP,即病毒计算机的IP地址,然后可报告校网络中心对其进行查封。5 580浏览会员免费
- 1)设计有5个进程并发执行的模拟调度程序,每个程序由一个PCB表示。 2)模拟调度程序可任选两种调度算法之一实现(有能力的同学可同时实现两个调度算法)。 3)程序执行中应能在屏幕上显示出各进程的状态变化,以便于观察调度的整个过程。 很完整的报告,提供三种调度方式//////5 829浏览会员免费
- 网络安全攻防实战标准试题,每套题判断题30道,单选题60道,多选题30道,共两套题。5 1693浏览会员免费
- 操作系统参考程序设计<br>0 108浏览会员免费
- 第一章 1、设计现代OS的主要目标是什么?P1 答:其主要目标是有效性、方便性、可扩充性、开放性。 2、OS的作用可表现在哪几个方面?P2-P3 答:1、OS作为用户与计算机硬件系统之间的接口;2、OS作为计算机资源的管理者;3、OS实现了对计算机资源的抽象; 3、为什么说OS实现了计算机资源的抽象?P4 答:完全无软件的计算机系统(即裸机),它向用户提供的是实际硬件接口(物理接口),用户必须对物理接口的实现细节有充分的了解,并利用机器指令进行编程,因此该物理机器必定是难以使用的。为了方便用户使用I/O设备,人们在裸机上覆盖上一层I/O设备管理软件。通常把覆盖了上述软件的机器称为扩充机器或虚机器。它向用户(进程)提供了一个对硬件操作的抽象模型,用户更容易地使用计算机便件资源。由该层软件实现了对计算机硬件操作的第一个层次的抽象。为了方便用户使用文件系统,人们又在第一层软件上再覆盖上一层用于文件的管理软件,同样由它来实现对文件操作的细节,并向上提供一组对文件进行存取操作的命令,用户可利用这组命令进行文件的存取。此时用户所看到的是一台功能更强、使用更方便的虚机器。该层软件实现了对硬件资源操作的第二个层次的抽象。OS是铺设在计算机硬件上的多层系统软件,它们不仅增强了系统的功能,而且还隐藏了对硬件操作的细节,由它们实现了对计算机硬件操作的多个层次的抽象。值得说明的,对一个硬件在底层进行抽象后,在高层还可再次对该资源进行抽象,成为更高层的抽象模型。随着抽象层次的提高,抽象接口所提供的功能就越来越强,用户使用起来也更加方便。 4、试说明推动多道批处理系统形成和发展的主要动力是什么?P4-P5 答:为了进一步提高资源的利用率和系统吞吐量,在该系统中,用户所提交的作业都先存放在外存上并排成一个队列,称为“后备队列”;然后,由作业高度程序按一定的算法从后备队列中选择若干个作业调入内存,使它们共享CPU和系统中各种资源。在OS中引入多道程序设计技术可带来以下好处:提高CPU和利用率、可提高内存和I/O设备利用率、增加系统吞吐量。主要动力:1、不断提高计算机资源的利用率;2、方便用户;3、器件的不断更新换代;4、计算机体系结构的不断发展; 5、何谓脱机I/O和联机I/O?P6 答:由于程序和数据的输入和输出都是在外围机的控制下完成的,或者说,它们是在脱离主机的情况下进行的,该技术是脱机输入/输出方式;反之,在主机的直接控制下进行输入/输出的方式称为联机输入/输出)ON-LINE I/O)方式。1、减少了CPU的空闲时间;2、提高了I/O速度。5 342浏览会员免费
- RSA加密解密算法 C++ 密码学 RSA加密解密算法 C++ 密码学 RSA加密解密算法 C++ 密码学3 1111浏览会员免费
- 本人的毕业论文,水平较高,如需要源代码,可Q我 PS:由于过多的人索要,所以不再提供源码了,请自己实现,不实现也没关系,一般学校只要有论文交,答辩就讲讲ppt,不需要演示的,本人这个程序纯粹忽悠人的,不具任何实用价值5 292浏览会员免费
- (1)进程的软中断通信 #include <stdio.h> #include <signal.h> #include <unistd.h> #include <sys/types.h> int wait_flag; void stop(); main( ) { int pid1, pid2; // 定义两个进程号变量 signal(2,stop); // 或者 signal (14,stop); while((pid1 = fork( )) == -1); // 若创建子进程1不成功,则空循环 if(pid1 > 0) { // 子进程创建成功,pid1为进程号 while((pid2 = fork( )) == -1); // 创建子进程2 if(pid2 > 0) { wait_flag = 1; //sleep(1); // 父进程等待5秒 kill(pid1,SIGUSR1); // 杀死进程1 kill(pid2,SIGUSR2); // 杀死进程2 wait(0); wait(0); printf("\n Parent process is killed !!\n"); exit(0); // 父进程结束 } else { wait_flag = 1; signal(SIGUSR2,stop); // 等待进程2被杀死的中断号17 printf("\n Child process 2 is killed by parent !!\n"); exit(0); } } else { wait_flag = 1; signal(SIGUSR1,stop); // 等待进程1被杀死的中断号16 printf("\n Child process 1 is killed by parent !!\n"); exit(0); } } void stop() { wait_flag = 0; } (2)进程的管道通信 #include <unistd.h> #include <signal.h> #include <stdio.h> int pid1,pid2; // 定义两个进程变量 main( ) { int fd[2]; char OutPipe[100],InPipe[100]; // 定义两个字符数组 pipe(fd); // 创建管道 while((pid1 = fork( )) == -1); // 如果进程1创建不成功,则空循环 if(pid1 == 0) { lockf(fd[1],1,0); // 锁定管道 sprintf(OutPipe,"\n Child process 1 is sending message!\n"); write(fd[1],OutPipe,50); // 向管道写入数据 sleep(5); // 等待读进程读出数据 lockf(fd[1],0,0); // 解除管道的锁定 exit(0); // 结束进程1 } else { while((pid2 = fork()) == -1); // 若进程2创建不成功,则空循环 if(pid2 == 0) { lockf(fd[1],1,0); sprintf(OutPipe,"\n Child process 2 is sending message!\n"); write(fd[1],OutPipe,50); sleep(5); lockf(fd[1],0,0); exit(0); } else { wait(0); // 等待子进程1 结束 read(fd[0],InPipe,50); // 从管道中读出数据 printf("%s\n",InPipe); // 显示读出的数据 wait(0); // 等待子进程2 结束 read(fd[0],InPipe,50); printf("%s\n",InPipe); exit(0); // 父进程结束 } } }5 3113浏览会员免费
- 在深入研究入侵检测方法的基础上,对轻量级网络入侵检测系统Snort的特性、功能及规则进行了全面详细的研究,并在Linux系统环境下借助Snort搭建了一个典型的入侵检测系统作为具体实例,接着通过相关实验进行分析研究.最后将协议匹配方法应用到网络入侵检测过程中,通过编程在VC++环境下,借助Winpcap实现了对网络数据包的捕获到协议匹配的全过程.5 310浏览会员免费
- 对各种病毒的防范:如CIH病毒,木马病毒等等4 49浏览会员免费