Formality:等价性检查的流程与模式(Guide、Setup、Preverify、Match与Verify)
相关阅读
Formalityhttps://blog.csdn.net/weixin_45791458/category_12841971.html?spm=1001.2014.3001.5482
等价性检查的流程
图1概述了使用Formality进行等效性检查的具体步骤。
图1 等价性检查流程
启动Formality(Start Formality)
要启动Formality,请在Linux命令行使用fm_shell命令,如下所示。
% fm_shell
...
fm_shell (setup)>
其中(setup)表示你当前所在的模式,所有的模式包括:guide、setup、preverify、match和verify,启动Formality时默认进入setup模式。
如果希望启动GUI,有下面三种方法:
- 在Linux命令行使用formality命令启动Formality。
- 使用fm_shell命令启动时,添加-gui选项。
- 在fm_shell中使用start_gui命令。
注意:在启动Formality前,需要首先设置环境变量、路径和许可证。
加载指导文件(Load Guidance)
Formality流程中的加载指导文件是一个关键点,在这里可以选择提供关于设计更改的设置信息,这些更改是由设计流程中使用的其他工具(比如Design Compiler)引起的。
下面的命令加载指导文件。
% fm_shell
...
fm_shell (setup)> set_svf default.svf
也可以使用GUI界面加载指导文件,如图2所示。
图2 加载指导
包含指导信息的文件被称为SVF文件,通常具有.svf扩展名。其实svf文件就是由Formality命令构成的文件,第一条命令是guide,进入guide阶段,随后执行guide类命令(比如guide_environment命令)。在svf文件的最后,使用setup命令重新回到了setup阶段。
手动执行guide类命令也是可以的,首先需要使用guide命令进入guide模式,随后执行guide类命令,最后使用setup命令回到setup阶段。
在Synopsys设计实现流程中,推荐提供指导文件,而在验证由第三方工具修改的设计时,提供指导则是可选的。
加载设计(Load Designs)
为了执行验证,首先需要将两个设计提供给Formality:第一个设计是黄金设计(golden design),已知在功能上是正确的设计,又称参考设计(reference design);第二个设计是参考设计的修改版本,称为实现设计(implementation design),这是希望与参考设计进行验证的设计。
下面的命令读取top.v文件,并放入参考设计容器中。
% fm_shell
...
fm_shell (setup)> read_verilog -r top.v
也可以使用GUI界面加载设计,如图3所示。
图3 加载设计文件
Formality可用于验证两个RTL设计之间的等效性,两个门级设计之间的等效性,或者一个RTL设计与一个门级设计之间的等效性。
加载到Formality中的设计文件只能是可综合的SystemVerilog、Verilog或VHDL代码,或者可以是Synopsys内部数据库格式(.db、.ddc或Milkyway数据库)。
注意:在加载设计文件后,通常要设置顶层设计。
执行设置(Perform Setup)
设置步骤涉及向Formality提供信息,以解决在指导步骤中未自动处理的特定问题,以下是一些需要设置的情况:
- 内部扫描(internal scan)
- 边界扫描(boundary scan)
- 时钟门控(clock-gating)
- 有限状态机(FSM)重新编码(re-encoding)
- 黑盒(black boxes)
- 流水线重定时(pipeline retiming)
下面的命令设置了参考设计扫描端口为常量0。
% fm_shell
...
fm_shell (setup)> set_constant -type port r:/WORK/top/scanmode 0
也可以使用GUI界面执行设置,如图3所示。
图3 执行设置
可以在加载指导文件前设置Automated Setup Mode模式,这样可以减少设置阶段的任务,甚至跳过设置阶段,详细见下面的博客。
Formality:设置Automated Setup Mode模式文章浏览阅读628次,点赞10次,收藏10次。Formality要使用自动设置模式,在加载/执行svf文件之前,需要将synopsys_auto_setup变量(布尔值)设置为true或者在GUI界面中选择Use Auto Setup,如图1所示。当自动设置模式设置后,一组Formality变量会被设置,一些设置命令会执行,以与Synopsys综合工具例如Design Compiler兼容,从而通过使用svf指导文件提高整体工具的设置性能。https://blog.csdn.net/weixin_45791458/article/details/144113957?spm=1001.2014.3001.5501
匹配比较点(Match Compare Points)
在这个步骤中,Formality工具会尝试将参考设计中的每个比较点与实现设计中的相应比较点进行匹配(其实不止比较点,所有应该匹配的点都在这个阶段进行匹配)。准确的匹配是确保验证准确性的关键,匹配确保没有不匹配的逻辑锥,并验证实现设计的功能性。
比较点包括:黑盒输入引脚、循环断开点、多驱动线网、Cut-Point、输出端口、D触发器和锁存器。
下面的命令进行匹配。
% fm_shell
...
fm_shell (setup)> match
也可以使用GUI界面执行设置,如图4所示。
图4 进行匹配
验证与解释结果(Verify and Interpret Results)
验证在加载、设置和比较点匹配步骤之后进行。
% fm_shell
...
fm_shell (match)> verify
在验证的结束或在过程中断,验证结果将报告为:
- PASS(所有比较点是等效的)
- FAIL(一些比较点不等效)
- INCONCLUSIVE(一些比较点要么未验证,要么已终止)
调试(Debug)
如果设计验证不成功,则需要进行调试。在调试过程中,将使用验证结果来定位失败或未得出结论的结果,此步骤有助于确定结果不成功的位置以及可能的原因。
设计失败可能是由于设置问题或设计之间的逻辑差异导致的,不同的失败原因需要不同的调试解决方案,因此Formality提供了多种调试策略。这些策略包括从手动匹配未匹配的比较点到通过基于GUI的分析进行调试,对于未得出结论的验证也是如此。
工作模式
之前已经说到,Formality的模式包括:guide、setup、preverify、match和verify,这些模式分别支持不同的命令。
guide模式
guide模式用于执行guide类命令,例如guide_mark、guide_uniquify等,可以在setup模式(前提是在读取除工艺库外的设计文件之前)使用guide命令进入guide模式,能够在setup模式使用set_svf命令(前提是在读取除工艺库外的设计文件之前)读取指导文件是因为svf文件中的第一条命令就是guide。
在等价性检查的流程中,加载指导文件(Load Guidance)就是在guide模式进行的。
setup模式
setup模式用于执行setup类命令,例如set_constant、set_black_box等,可以在guide模式或preverify模式使用setup命令进入setup模式。如果在match模式或verify模式使用setup命令,则会抛弃所有的匹配和验证结果并进入setup模式。
在等价性检查的流程中,加载设计(Load Designs)和执行设置(Perform Setup)就是在setup模式进行的。
preverify模式
setup类命令本质上是基于实例的。在preverify模式下,可以访问最终的实例对象。最终实例对象是应用了UPF、SVF和ECO等修改的设计实例。只能执行不修改设计数据库的设置命令,任何更改设计数据库的设置命令在preverify模式下不可用,若使用这些命令,工具将发出错误消息,如下所示。
fm_shell (preverify)> remove_design r
Error: 'remove_design' can only be executed in SETUP mode. First execute 'setup'. (FM-336)
在setup模式使用preverify命令进入preverify模式时,Formality会处理guide类命令(svf文件)。使用match命令或verify命令(因为使用verify命令会自动执行match命令)会自动执行preverify命令。如果在preverify、match或verify模式使用preverify命令会重新处理svf文件并抛弃所有的匹配和验证结果并进入preverify模式。
match模式
在setup模式或preverify模式使用match命令进入match模式,会根据比较点将实现设计与参考设计进行匹配,匹配完成后会报告匹配结果。在verify模式使用match命令不会切换模式,但仍然会进行匹配。
可以增量地执行比较点匹配,这在自动匹配失败时非常有用,通常是因为参考设计和实现设计之间的名称或结构差异。如果匹配过程被中断,工具将保留部分匹配结果,重新运行match命令可以继续进行匹配。
执行verify命令之前不必先执行match命令,因为如果没有执行匹配,verify命令会自动执行match命令。report_unmatched_points和report_matched_points等命令只能在match模式和verify模式下使用。
在等价性检查的流程中,匹配比较点(Match Compare Points)就是在match模式进行的。
verify模式
在setup模式、preverify模式或match模式下使用verify命令进入verify模式,并在判断设计是否可比,并尝试证明它们的功能等效性。如果验证两个设计时,所有比较点都证明相等,则Formality会报告这些设计为功能等效(验证通过)。如果任何比较点在验证中失败或在验证过程中中止,Formality会报告这两个设计为功能不等效(验证失败)。
在等价性检查的流程中,验证与解释结果(Verify and Interpret Results)就是在match模式进行的。
相关文章:
Formality:等价性检查的流程与模式(Guide、Setup、Preverify、Match与Verify)
相关阅读 Formalityhttps://blog.csdn.net/weixin_45791458/category_12841971.html?spm1001.2014.3001.5482 等价性检查的流程 图1概述了使用Formality进行等效性检查的具体步骤。 图1 等价性检查流程 启动Formality(Start Formality) 要启动Formality,请…...
【Linux】————(日志、线程池及死锁问题)
作者主页: 作者主页 本篇博客专栏:Linux 创作时间 :2024年11月29日 日志 关于日志,首先我们来说一下日志的作用, 作用: 问题追踪:通过日志不仅仅包括我们程序的一些bug,也可以在…...
【自动化】配置信息抽取
公共基本信息配置文件抽取 公共基本信息比如卖家、买家、管理员,验证码等基本信息,再比如数据库、redis、各个服务的域名,这些目前是写死在代码之中的,为了能够更好的维护他们,我们将他们放入配置文件进行管理 公共的…...
Python毕业设计选题:基于django+vue的校园影院售票系统
开发语言:Python框架:djangoPython版本:python3.7.7数据库:mysql 5.7数据库工具:Navicat11开发软件:PyCharm 系统展示 管理员登录 管理员功能界面 用户管理 影院信息管理 电影类型管理 电影信息管理 系统…...
Docker化部署Flask:轻量级Web应用的快速部署方案
Flask是一个用Python编写的轻量级Web应用框架,以其简洁性和灵活性而受到开发者的喜爱。Docker作为一种流行的容器化技术,为应用的部署和管理提供了极大的便利。本文将探讨Flask的优点、Docker部署的好处,并详细介绍如何将Flask应用Docker化部…...
centos怎么通过docker安装一个gitlab
在CentOS上通过Docker安装GitLab的步骤如下: 安装Docker引擎: 首先,需要在你的CentOS系统上安装Docker。可以通过以下命令来安装Docker:yum install -y yum-utils yum-config-manager --add-repo https://download.docker.com/lin…...
docker 运行my-redis命令
CREATE TABLE orders ( order_id bigint NOT NULL COMMENT "订单ID", dt date NOT NULL COMMENT "日期", merchant_id int NOT NULL COMMENT "商家ID", user_id int NOT NULL COMMENT "用户ID", good_id int NOT NULL COMMENT "商…...
qt6.4.0+visual studio2022+opencv
qt6.4.0visual studio2022opencv 补充:在安装完Qt后还需要配置环境变量...
23种设计模式之适配器模式
目录 1. 简介1.1 定义1.2 结构和组成部分 2. 代码2.1 MediaPlayer2.2 AdvanceMediaPlayer2.3 VicPlayer2.4 Mp4Player2.5 MediaPlayerAdapter2.6 AudioPlayer2.7 Test 3. 适用场景4. 优点和缺点5. 总结 1. 简介 1.1 定义 适配器模式(Adapter Pattern)是…...
剖析go协程池实现原理
go协程池实现 在go语言编程中有一种池肯定避免不了,那就是-协程池,无论你是日常工作还是面试中面试官都无法避免协程池,掌握协程池你也就算是入门go的并发编程了,打一波广告后面会有专门的文章来介绍如何在go中进行并发编程。 协…...
渗透测试--Linux上获取凭证
在测试过程中我们也会发现一些Linux主机加域的情况,虽然不多见,但它确实存在。正所谓技多不压身,这样能够触类旁通的知识,我们怎能错过,所以在此我们将会主要探讨从Linux主机上获取域凭证的方法。主要有以下内容&#…...
【笔记】自动驾驶预测与决策规划_Part9_数据驱动前沿算法与发展趋势
文章目录 数据驱动前沿算法与发展趋势0. 前言1. 端到端自动驾驶引言2. 端到端自动驾驶2.1 端到端自动驾驶早期尝试 ALVINN2.2 基于模仿学习的端到端系统 NVIDIA-E2E2.3 基于强化学习的端到端系统2.4 多模态融合的自动驾驶 Transfuser2.5 模块化端到端 UniAD2.6 模块化端到端 VA…...
工业公辅车间数智化节能头部企业,蘑菇物联选择 TDengine 升级 AI 云智控
小T导读:在工业节能和智能化转型的浪潮中,蘑菇物联凭借其自研的灵知 AI 大模型走在行业前沿,为高能耗设备和公辅能源车间提供先进的 AI 解决方案。此次采访聚焦于蘑菇物联与 TDengine 的合作项目,通过 AI 云智控平台的建设&#x…...
【Linux】开启你的Linux之旅:初学者指令指南
Linux相关知识点可以通过点击以下链接进行学习一起加油! 在 Linux 开发中,GDB 调试器和 Git 版本控制工具是开发者必备的利器。GDB 帮助快速定位代码问题,Git 则提供高效的版本管理与协作支持。本指南将简明介绍两者的核心功能与使用技巧&…...
Vite 6.0 发布:引领现代前端开发新方向
Vite 6.0 带来了大量更新与优化,旨在简化开发流程、提升性能,并解决现代 Web 开发中的诸多挑战。本次更新引入了 实验性环境 API 和现代化的工具链,进一步巩固了 Vite 作为开发者首选工具的地位。以下是关于新特性、生态发展以及重要更新的全…...
深入了解阿里云 OSS:强大的云存储解决方案
在现代互联网应用中,数据存储是一个不可忽视的环节。随着数据量的不断增长,传统的存储方式已经无法满足高速、低成本、大容量的需求。阿里云 OSS(对象存储服务)作为一种高性能、低成本且具备高度扩展性的云存储服务,已…...
canvas绘制网络地址图片
canvas在绘制网络地址图片时,需要先下载成临时路径 export function downLoadBgImg (url) {return new Promise((r,j) > {uni.downloadFile({url,success : res > {if (res.statusCode 200) {r(res.tempFilePath);return;};j(依赖文件下载失败);},fail : er…...
《DSL-FIQA》论文翻译
《DSL-FIQA: Assessing Facial Image Quality Via Dual-Set Degradation Learning and Landmark-Guided Transformer》 原文链接:DSL-FIQA: Assessing Facial Image Quality via Dual-Set Degradation Learning and Landmark-Guided Transformer | IEEE Conference…...
【Linux网络编程】第四弹---构建UDP服务器与字典翻译系统:源码结构与关键组件解析
✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】【Linux系统编程】【Linux网络编程】 目录 1、UdpServer.hpp 1.1、函数对象声明 1.2、Server类基本结构 1.3、构造函数 1.4、Start() 2、Dict.hpp…...
【人工智能】人工智能,深度学习与人工神经网络
人工智能 人工智能一、定义与核心要素二、主要方法与技术三、应用领域四、发展前景与挑战五、分类六、研究目标与价值 深度学习定义与核心思想网络结构工作原理关键技术与模型应用领域发展与挑战 人工神经网络一、定义与原理二、基本特性三、网络结构四、工作原理五、应用领域六…...
嵌入式系统应用-LVGL的应用-平衡球游戏 part2
平衡球游戏 part2 4 mpu60504.1 mpu6050 介绍4.2 电路图4.3 驱动代码编写 5 游戏界面移植5.1 移植源文件5.2 添加头文件 6 参数移植6.1 4 mpu6050 4.1 mpu6050 介绍 MPU6050是一款由InvenSense公司生产的加速度计和陀螺仪传感器,广泛应用于消费电子、机器人等领域…...
Linux网络编程之---多线程实现并发服务器
下面我们来使用tcp集合多线程实现并发服务器 一.服务端 #include <stdio.h> #include <arpa/inet.h> #include <unistd.h> #include <stdlib.h> #include <string.h> #include <pthread.h>typedef struct sockinfo {char ip[16];unsigne…...
架构师的英文:Architect
中文版 软件架构师 的英文是 “Software Architect”。 Software: 软件Architect: 架构师,通常指的是设计和规划某种系统或结构的人。 Software Architect 通常负责软件系统的整体设计、技术选型、架构规划,确保系统的可扩展性、可维护性和高效性等。…...
量化交易系统开发-实时行情自动化交易-8.7.文华平台
19年创业做过一年的量化交易但没有成功,作为交易系统的开发人员积累了一些经验,最近想重新研究交易系统,一边整理一边写出来一些思考供大家参考,也希望跟做量化的朋友有更多的交流和合作。 接下来会对于文华平台介绍。 文华财经…...
【前端】JavaScript 中的创建对象模式要点
博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: 前端 文章目录 💯前言💯对象属性值中的引号规则💯对象属性换行与尾随逗号的使用💯工厂模式:灵活高效的对象创建💯自定义构造函数:通过…...
鸿蒙NEXT元服务:论如何免费快速上架作品
【引言】天下武功,唯快不破。 本文讨论如何免费且以最快速度上架自己的作品。 作者以自己从零开始到提交发布审核一共俩小时的操作流程分享给大家作参考。 【1】立项选择 结论:元服务,单机,工具类(非游戏ÿ…...
hive3.1.3安装及基本例子
前提要安装好hadoop环境和mysql。 1、下载并解压 https://archive.apache.org/dist/hive/hive-3.1.3/apache-hive-3.1.3-bin.tar.gz 下载bin包到/app/src中。 cd /app/src/ tar zxvf apache-hive-3.1.3-bin.tar.gz mv apache-hive-3.1.3-bin /app/hive2、配置path nano /etc…...
【设计模式】工厂方法模式 在java中的应用
文章目录 1. 引言工厂方法模式的定义 2. 工厂方法模式的核心概念工厂方法模式的目的和原理与其他创建型模式的比较(如简单工厂和抽象工厂) 3. Java中工厂方法模式的实现基本的工厂方法模式结构示例代码:创建不同类型的日志记录器 4. 工厂方法…...
【热门主题】000079 服务器虚拟化:开启高效计算新时代
前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 【热…...
软考高项经验分享:我的备考之路与实战心得
软考,尤其是信息系统项目管理师(高项)考试,对于众多追求职业提升与专业认可的人士来说,是一场充满挑战与机遇的征程。我在当年参加软考高项的经历,可谓是一波三折,其中既有成功的喜悦࿰…...
【小白学机器学习38】用np.random 生成各种随机数,随机数数组/序列
目录 0 总结 np.random() 的一些点 1 用np.random.random() 生成[0,1) 区间内的随机数 2 生成指定范围内的随机整数/数组 np.random.randint() 3 用np.random.choice()生成指定数组范围内的随机数 3.1 np.random.choice(array6) 3.2 np.random.choice(array6) ࿰…...
Scala的数组匹配模式
package Test32//匹配:数组:元素的个数 元素的特征 object Test4 {def main(args: Array[String]): Unit {val arr1 Array(1, 2, 3)val arr2 Array(0, 2, 3)val arr3 Array(1, 2, 3, 4)val arr4 Array(-1, 1, 2, 3, 4)val b: Any arr1b match {ca…...
力扣【算法学习day.50】
前言 ###我做这类文章一个重要的目的还是给正在学习的大家提供方向和记录学习过程(例如想要掌握基础用法,该刷哪些题?)我的解析也不会做的非常详细,只会提供思路和一些关键点,力扣上的大佬们的题解质量是非…...
C 语言学习的经典书籍有哪些?
学习C语言的理由 C语言是一种程席设计语言,它是由美国AT&T公司贝尔实验室的Dennis Ritchie于1972年发明的。C语言之所以流行,是因为它简单易用。学习C语言的几个理由如下: (1)C、C#和Java使用一种被称为面向对象程序设计(0bject-Orient…...
数据结构——栈
目录 栈的介绍 一、栈的基本概念 1.1 栈的定义 1.2 栈的常见基本操作 二、栈的顺序存储结构 2.1 栈的顺序储存 2.2 顺序栈 2.3 共享栈 三、栈的链式储存结构 3.1 链栈 3.2 链栈的进出栈操作 四、栈的应用 4.1实现斐波那契数列 一、栈的基本概念 1.1 栈的定义 栈…...
开发系统准备与开发环境配置总结
开发前系统配置及环境搭建 系统配置0 Github打不开、速度慢怎么办1 WSL、Linux、Ubuntu、Docker都是什么鬼2 在Windows下安装WSL和Ubuntu3 配置MySQL4 配置Redis并启动服务5 Docker(Windows和Ubuntu下)6 Nginx 系统配置 你好! 这是你第一次使…...
bash: jstack: command not found【jps、jstack、jmap、jstats 命令不生效解决】
JVM 系列文章传送门 初识 JVM(Java 虚拟机) 深入理解 JVM(Java 虚拟机) 一文搞懂 JVM 垃圾回收(JVM GC) 深入理解 JVM 垃圾回收算法 一文搞懂 JVM 垃圾收集器 JVM 调优相关参数 JVM 场景面试题【强烈…...
两数之和问题——c语言
声明: 以下是我在leetcode上面刷题的两数之和问题,如涉及侵权马上删除文章 声明:本文主要用作技术分享,所有内容仅供参考。任何使用或依赖于本文信息所造成的法律后果均与本人无关。请读者自行判断风险,并遵循相关法律…...
《沉积与特提斯地质》
《沉积与特提斯地质》为中国地质调查局主管,中国地质调查局成都地质调查中心(西南地质科技创新中心)主办的地学类学术期刊。 《沉积与特提斯地质》创刊于1981年,创刊名为《岩相古地理研究与编图通讯》,后更名为《岩相…...
全面解析 C++ STL 中的 set 和 map
C 标准模板库(STL)中的关联式容器以其强大的功能和高效性成为开发者解决复杂数据组织问题的重要工具。其中,set 和 map 是最常用的两类关联容器。本篇博客将从基本特性、底层实现、用法详解、高级案例以及性能优化等多个角度,详细…...
【RL Application】语义分割中的强化学习方法
📢本篇文章是博主强化学习(RL)领域学习时,用于个人学习、研究或者欣赏使用,并基于博主对相关等领域的一些理解而记录的学习摘录和笔记,若有不当和侵权之处,指出后将会立即改正,还望谅…...
MySql:Centos7安装MySql
目录 安装之前,清除MySql残留文件 下载MySql的官方yum源 安装MySql 服务 MySql配置 常见问题 本次安装基于Centos7,平台为云服务器,由XShell软件演示。 注意,请将用户切换为Root用户。 安装之前,清除MySql残留文…...
数据结构-散列函数的构造方法
一.数字关键词 关键词存储应该尽可能的离散 直接定址法:利用线性函数,例如上面的例子,h(key)key-1990,key1990,这个就被存放在0的位置 数字分析法:关键字可能有很到位组成,每一位变化可能都不一样,有的位是不变的,就是说不同的对象这一位都是一样的,有的…...
MySQL:DDL数据定义语言
DDL(Data Definition Language),数据定义语言 对数据库的常用操作 查看所有数据库 语法:show databases; 创建数据库 dbname:用户自己定义的数据库名称。 语法:create database [if not exists] dbname [charsetutf8]; 切换…...
【落羽的落羽 C语言篇】指针·之其五
文章目录 一、冒泡排序二、qsort排序1. qsort使用指南2.回调函数3. qsort函数的模拟实现 一、冒泡排序 冒泡排序的核心思想就是:两两相邻的元素进行比较和交换。 现在,我们想编写一个函数,使它能够运用冒泡排序的原理,由小到大排…...
Java程序员最新场景面试题总结
上周,在与部门业务伙伴(BP)的交谈中,我了解到当前求职市场的一个显著现象:她在招聘平台上发布的初级后端岗位每日吸引了超过500份简历的投递。这一现象凸显了Java后端岗位竞争的激烈程度,尤其是在这个技术日…...
平衡性能与隐私:解读Google的服务器端标记
在当前数字化时代,企业需要深入洞察用户行为,以提高网站转化率。然而,随着用户对隐私保护的期待日益提高以及相关法规的收紧,如何兼顾性能与隐私成为了一大挑战。为了解决这一问题,Google推出了服务器端标记࿰…...
在云上怎么样让环境更加安全?
随着云计算的普及,越来越多的企业和组织将其应用迁移到云端。在这个过程中,安全性成为了一个不可忽视的重要因素。华为云作为全球领先的云服务提供商,致力于为用户提供安全可靠的云环境。本文九河云将探讨在华为云上如何增强环境的安全性。 …...
分布式实验一
Socket编程作业: 在Linux系统上,用C编两个程序:Client和Server。两个进程间利用socket进行TCP通信。 要求: Server进程运行后,输出本进程所在主机IP地址以及正在监听的端口号; Client进程运行后,…...
网络安全防护指南
网络安全防护指南 网络安全是指保护网络系统中的硬件、软件及数据不受偶然或恶意原因而遭到破坏、更改或泄露,确保网络系统连续可靠地正常运行。随着互联网的普及和技术的发展,网络安全问题日益严峻,对个人、企业和国家都构成了巨大威胁。因…...