程序代写

CYBR3000 信息安全作业 代写

介绍 本作业分为两个部分:A 部分和 B 部分。 ### A 部分:入侵预防(总计 25 分) – 您需要为以下每个任务编写 iptables 规则集。每个任务的每个规则集都需要写在一个单独的 .txt 文件中。.txt 文件中的每一行对应一个单独的 iptables 规则。.txt 文件的名称必须与相应任务的名称匹配(例如 task1.txt)。如果 .txt 文件的名称不正确或标签错误,则不会给予分数。每个 .txt 文件中的规则应该是可以直接使用的,这意味着其他人可以复制粘贴并在终端中运行规则集中的每个规则,以满足任务的要求。 – 要使用 iptables,您需要在基于 Linux 的系统中测试您的规则。像 Docker 这样的工具或使用 VirtualBox 或 VMware 等软件的虚拟机将允许您运行一个可以使用 iptables 的 Linux 环境。 任务: – 任务 1(5 分):允许来自特定 IP 地址(192.168.1.100)的入站 SSH 流量(使用端口 22),并拒绝所有其他入站 SSH 连接。 – 任务 2(5 …

CYBR3000 信息安全作业 代写 Read More »

CS537 P6管理信息 代写

该文档是关于CS537 P6项目的说明,包括截止日期、迟交惩罚、测试、协作、资源使用等规定。项目要求在Linux实验室机器上完成一个并发的键值(KV)存储服务器,实现线程安全的KV存储、Ring Buffer和通过共享内存区域的进程间通信,并理解和优化同步机制以提高性能。文档还提供了项目的详细信息、起始代码和实现细节,以及最佳实践的建议。 截止日期:2024年4月16日晚上11:59。 项目可以迟交最多3天,但每迟交一天将被扣10个百分点。 延期天数: 如果您需要在项目上额外的时间,每个人将有2天的个人项目延期天数和3天的小组项目延期天数(本学期总共5天延期天数)。在截止日期后,我们将为按时评分制作提交目录的副本。 要使用延期天数或迟交作业,您将提交文件以及一个额外的文件,该文件仅包含一个数字,表示您的作业迟交的天数(例如1、2、3)。每连续一天,我们将复制任何包含这些slipdays.txt文件的目录。在提交最终作业时,此文件必须存在,否则我们将不知道对您的代码进行评分。 我们将从一个项目到另一个项目跟踪您的延期天数和迟交提交,并在您用完延期天数后开始扣除百分比。 在用完延期天数后,如果迟交1天,您最多可以获得90%的分数;迟交2天,最多可以获得80%的分数;迟交3天,最多可以获得70%的分数,但对于任何单个作业,如果没有例外情况,我们在第三天后将不接受提交。这意味着如果您在单个作业上使用了两个个人延期天数,您只能再迟交一天,总共迟交3天,扣除10%的分数。 任何例外情况都需要向教师请求。 示例slipdays.txt 1 测试将在~cs537 – 1/tests/P6中提供。该目录中有一个README.md文件,其中包含运行测试的说明。测试部分完成,您的项目可能会根据其他测试进行评分。 问题:我们将使用Piazza回答所有问题。 协作:作业可以自己完成或与一个伙伴一起完成。从其他任何人复制代码都被视为作弊。阅读此内容以获取更多关于什么是可以的和什么是不可以的信息。请不要这样做,以帮助我们大家度过一个愉快的学期。 这个项目将在Linux实验室机器上完成,这样您可以更多地了解在典型的基于UNIX的平台(Linux)上用C编程。您的解决方案将在这些机器上进行测试。 如果适用,一个名为resources.txt的描述在线资源使用情况的文档应包含在您的提交中。欢迎您使用在线资源来帮助您完成作业。我们不建议您使用大型语言模型,如ChatGPT。对于本课程,我们已经看到这些工具给出的示例或解释接近但不完全正确,如果学生不知道正确答案,会让他们更加困惑。请注意,当您向教学人员寻求帮助时,我们不会协助您使用这些LLM,并且我们希望您能够向教学人员介绍您的代码和逻辑。在线资源(例如stack overflow)和生成工具正在改变包括计算机科学和教育在内的许多行业。但是,如果您使用在线资源,您需要提交一份文档,描述您对这些资源的使用情况。在该文档中表明您的解决方案中有多少是完全由您自己完成的,有多少是利用这些工具完成的。请具体说明,指出使用的资源以及您与这些资源的交互方式。不给予外部资源信用是一种剽窃形式。在您的代码中对使用资源的地方进行注释是一种很好的做法。您不会因为使用LLM或阅读帖子而受到惩罚,但您不应该在在线论坛上发布关于本课程项目的帖子。您的大部分代码也应该是您自己努力编写的,并且您应该能够解释您提交的所有代码。 提交方式: 复制文件common.h、client.c、ring_buffer.h、ring_buffer.c、kv_store.c和Makefile(如果使用了kv_store.h也包括在内)。您的代码应该正确编译并运行。 小组项目提交:每个小组只需要提交一次。要提交,一个人应该将代码放在他们的提交目录中(另一个人应该为空)。 键值服务器 在这个项目中,您将在客户端 – 服务器模型中实现一个并发的键值(KV)存储作为服务器。有一个服务器进程和一个客户端进程;它们都是多线程进程。它们使用共享内存区域进行进程间通信。您需要在共享内存中实现一个并发的环形缓冲区和一个共享的请求状态板来处理请求。 目标 实现一个线程安全的并发KV存储。 实现一个线程安全的环形缓冲区。 理解通过共享内存区域的进程间通信。 理解并优化同步机制以提高性能。 项目细节 上图说明了这个项目的客户端 – 服务器模型。 服务器和客户端都是多线程进程。它们通过文件支持的共享内存映射进行通信,该映射分为两个区域:环形缓冲区和请求状态板。 – 客户端: 客户端通过环形缓冲区向服务器提交PUT/GET请求。 – 服务器: 服务器包含一个KV存储,用于处理这些请求。它从环形缓冲区读取客户端请求,处理它们;完成请求后,在请求状态板的预先指定窗口中更新其完成状态以及响应。因此,客户端可以读取特定窗口来检查特定请求的完成状态和响应。 在这个例子中,客户端有三个线程,服务器有两个。请求状态板中每个客户端线程有两个窗口。KV存储的初始哈希表大小设置为5。 服务器使用以下命令执行: ./server -n 2 -s 5 这里,-n是线程数量,-s是KV存储的初始哈希表大小。 客户端使用以下命令执行: ./client -n …

CS537 P6管理信息 代写 Read More »

CS537项目4管理信息 代写

该文档是关于CS537项目4的说明,包括截止日期、迟交政策、测试、协作、资源使用等信息。项目主要在xv6中实现wmap、wunmap、wremap等系统调用,以支持内存映射功能,还需实现getwmapinfo和getpgdirinfo系统调用用于调试和测试。文档详细说明了每个系统调用的功能、参数、返回值以及实现过程中的注意事项,包括地址分配、最佳实践等,并对fork()和exit()系统调用进行修改。 截止日期:2024年3月12日晚上11:59。 项目可以迟交最多3天,但每迟交一天将被扣10个百分点。 延迟天数: 如果您在项目上需要额外的时间,每个人对于个人项目将有2天的延迟天数,对于小组项目将有3天的延迟天数(本学期总共5天的延迟天数)。在截止日期后,我们将为按时评分复制提交目录的副本。 要使用延迟天数或迟交作业,您将提交文件以及一个额外的文件,该文件仅包含一个数字,表示您的作业迟交的天数(例如1、2、3)。每连续一天,我们将复制任何包含这些slipdays.txt文件的目录。当您提交最终提交时,此文件必须存在,否则我们将不知道对您的代码进行评分。 我们将跟踪您从一个项目到另一个项目的延迟天数和迟交提交,并在您用完延迟天数后开始扣除百分比。 在用完延迟天数后,如果迟交1天,您最多可以获得90%的分数;迟交2天,最多可以获得80%的分数;迟交3天,最多可以获得70%的分数,但对于任何单个作业,如果超过第三天我们将不接受提交,除非有例外。这意味着如果您在单个作业上使用了两个个人延迟天数,您只能再迟交一天,总共迟交3天,扣除10%。 任何例外都需要向教师请求。 示例slipdays.txt 1 测试将在~cs537 – 1/tests/P4中提供。该目录中有一个README.md文件,其中包含运行测试的说明。测试部分完成,您的项目可能会根据其他测试进行评分。 问题:我们将使用Piazza回答所有问题。 协作:作业可以自己完成或与一个伙伴一起完成。从其他任何人复制代码都被视为作弊。阅读此内容以获取更多关于什么是可以的和什么是不可以的信息。请帮助我们所有人度过一个愉快的学期,不要这样做。 这个项目将在Linux实验室机器上完成,因此您可以更多地了解在典型的基于UNIX的平台(Linux)上用C编程。您的解决方案将在这些机器上进行测试。 如果适用,一个名为resources.txt的描述在线资源使用的文档应包含在您的提交中。欢迎您使用在线资源来帮助您完成作业。我们不建议您使用像ChatGPT这样的大型语言模型。对于本课程,我们特别看到这些工具给出的示例或解释接近但不完全正确,如果学生本身不知道正确答案,这会让他们更加困惑。请注意,当您向教学人员寻求帮助时,我们不会协助处理这些LLM,并且我们希望您能够向教学人员介绍您的代码和逻辑。在线资源(例如stack overflow)和生成工具正在改变包括计算机科学和教育在内的许多行业。但是,如果您使用在线资源,则需要提交一份文档,描述您对这些资源的使用。在该文档中指出您的解决方案中有多少是完全由您自己完成的,有多少是利用这些工具完成的。请具体说明,指出使用的资源以及您如何与这些资源互动。不给予外部资源信用是一种剽窃形式。在您的代码中使用这些资源的地方对来源进行注释可能是一个好的做法。您不会因为使用LLM或阅读帖子而受到惩罚,但您不应该在在线论坛上发布关于本课程项目的帖子。您的大部分代码也应该由您自己努力编写,并且您应该能够解释您提交的所有代码。 提交方式: 将所有xv6文件(不仅仅是您更改的文件)复制到~cs537 – 1/handin/<cslogin>/P4/ – 在运行make clean之后。目录结构应如下所示: handin/P4/<您的cs登录名>/ |—- README.md |—- resources.txt |—- xv6 – public | —- xv6的所有内容以及您的修改 小组项目提交:每个小组只需要提交一次。要提交,一个人应该将代码放在他们的提交目录中(另一个人应该为空)。 xv6内存映射 在这个项目中,您将在xv6中实现wmap系统调用。内存映射,顾名思义,是将进程的“虚拟”地址空间中的内存映射到某些物理内存的过程。它通过一对系统调用wmap和wunmap来支持。首先,您调用wmap以获取指向您可以访问和使用的内存区域(您指定的大小)的指针。当您不再需要该内存时,您调用wunmap从进程的地址空间中删除该映射。您还可以通过另一个系统调用wremap来增长或缩小映射的内存,您也将实现这个系统调用。 您还将实现两个系统调用getwmapinfo和getpgdirinfo,用于调试和测试目的。请注意,大多数测试都依赖于这两个系统调用。因此,即使您的一切都正常工作,但如果没有正确实现这些系统调用,您将无法通过大多数测试。 目标 实现wmap/wunmap/wremap系统调用(简化版本的mmap/munmap/mremap) 理解xv6内存布局 理解虚拟地址和物理地址之间的关系 理解页错误处理程序在内存管理中的使用 项目细节 wmap系统调用 wmap有两种操作模式。第一种是“匿名”内存分配,它与malloc有类似的方面。wmap的真正强大之处在于支持“文件支持”的映射。等等 – 文件支持的映射是什么意思?这意味着您创建一个文件的内存表示。从该内存区域读取数据与从文件中读取数据相同。如果我们写入由文件支持的内存会发生什么?它会反映在文件中吗?好吧,这取决于您用于wmap的标志。当使用MAP_SHARED标志时,您需要在wunmap时将内存(可能修改的)内容写回文件,以确保文件保持最新。 这是wmap系统调用的签名: uint wmap(uint …

CS537项目4管理信息 代写 Read More »