CS 537项目5——调度器 代写

该文档是关于CS 537项目5——调度器的说明,介绍了项目的截止日期、提交方式、测试相关信息、协作要求等管理事项。项目基于扩展了多线程功能的xv6操作系统进行,目标是解决优先级反转问题,具体包括实现用户空间的睡眠锁、添加调整当前程序优先级的nice系统调用以及修改xv6调度器以考虑进程的优先级和优先级继承。文档还详细说明了新系统调用clone()的功能和工作原理,以及用户空间睡眠锁、nice系统调用和优先级继承在调度器中的实现细节和测试方法。 管理事项 截止日期:4月2日,晚上11:59。 项目最多可延迟3天提交,但每延迟一天将被扣10个百分点。 延迟天数: 如果您需要在项目上额外的时间,每个人将有2天的个人项目延迟天数和3天的小组项目延迟天数(本学期总共5天延迟天数)。在截止日期后,我们将为按时评分复制提交目录的副本。 要使用延迟天数,您需要在常规项目提交目录中提交一个额外的文件slipdays.txt。该文件应该只包含一件事,即一个数字,表示您想要使用的延迟天数(即1或2)。每天我们都会复制任何包含这些slipdays.txt文件的目录的副本。 在使用完延迟天数后,如果延迟1天提交,您最多可以获得90%的分数;延迟2天,最多可以获得80%的分数;延迟3天,最多可以获得70%的分数。3天后,我们将不再接受提交。 任何例外情况都需要向教师请求。 slipdays.txt的示例: 1 在~cs537 – 1/tests/P5提供了一些测试。该目录中有一个README.md文件,其中包含运行测试的说明。测试部分完成,鼓励您创建更多测试。 问题:我们将使用Piazza回答所有问题。 协作:作业可以自己完成,也可以与一个伙伴一起完成。复制代码(从他人处)被视为作弊。阅读此内容以了解更多关于什么是可以的,什么是不可以的信息。请不要这样做,帮助我们大家度过一个愉快的学期。 这个项目将在Linux实验室机器上完成,因此您可以在典型的基于UNIX的平台(Linux)上学习更多关于C编程的知识。您的解决方案将在这些机器上进行测试。 提交方式: 将所有xv6文件(不仅仅是您更改的文件)复制到~cs537 – 1/handin/<cslogin>/P5/ – 在运行make clean之后。目录结构应如下所示: handin/<cslogin>/P5/ |—- README.md |—- resources.txt |—- xv6 – public | —- 包含您修改的所有xv6内容 小组项目提交:每个小组只需要提交一次。要提交,一个人应该将代码放在他们的提交目录中(另一个人应该为空)。 注意:对于这个项目,提供了一个具有多线程功能的修改后的xv6。请不要在原始的xv6上工作。 介绍 在这个实验中,我们将深入研究xv6(一个简单的类Unix教学操作系统,已扩展为支持线程)上下文中的优先级反转的复杂性。您的任务是实现关键功能,以探索和减轻优先级反转的影响。这个实验包括创建一个用于用户空间的睡眠锁,引入一个nice系统调用来调整调用进程的nice值(从而间接调整其优先级),并修改xv6调度器,以根据其有效优先级(考虑其nice值和优先级反转的动态)来优先处理进程。通过这些练习,您将获得高级操作系统概念的实践经验,增强xv6调度器以更熟练地处理优先级反转并提高整体系统性能和公平性。 目标 理解优先级反转和优先级继承。 理解xv6中sleeplock的实现。 理解xv6中的上下文切换。 实现修改进程状态的系统调用。 背景:优先级反转和优先级继承 优先级反转发生在高优先级任务被迫等待低优先级任务释放共享资源时,导致执行顺序与基于优先级的计划相反的情况。 想象一个在多任务操作系统中的场景,一个低优先级任务,任务L,持有一个共享资源的锁。一个高优先级任务,任务H,最初不需要锁定的资源,最终尝试访问它并被阻塞,因为任务L持有锁。同时,不需要共享资源的中优先级任务继续运行,有效地进一步延迟任务H。这个场景说明了一种违反直觉的现象,即低优先级任务间接抢占了高优先级任务,导致任务管理效率低下和潜在的系统减速。 优先级继承是一种旨在减轻优先级反转影响的策略解决方案。通过此协议,当高优先级任务等待低优先级任务锁定的资源时,系统会暂时将低优先级任务的优先级提升到最高优先级等待任务的优先级。这种调整有助于确保低优先级任务能够更快地完成执行并释放资源,从而减少高优先级任务的等待时间。 一旦低优先级任务释放共享资源,其优先级将恢复到原始级别,高优先级任务可以继续执行,从而保留系统调度策略的整体完整性和效率。 项目细节 在这个项目中,您的任务是通过引入机制来减轻优先级反转来增强xv6操作系统。具体来说,您将: 1. 实现一个可以在用户空间中使用的睡眠锁。 […]

CS 537项目5——调度器 代写 Read More »

CS537 P1 – Unix实用程序 – MADCounter 辅导

该文档是关于CS537课程项目1的说明,主要介绍了一个名为MADCounter的程序,它用于统计文件中字符、单词和行的相关信息。文档包括项目截止日期、提交方式、注意事项等信息,还详细说明了MADCounter的功能、运行方式、错误处理等内容,并提供了一些提示和链接。 ## 更新 我们将不会测试Ascii字符错误。您仍然应该只跟踪0 – 127的ASCII字符。 管理事项 截止日期:1月30日晚上11:59。 项目可以延迟最多3天提交,但每延迟一天将扣除10个百分点。 延期天数: 如果您需要在项目上额外的时间,每个人将有2天的个人项目延期天数和3天的小组项目延期天数(本学期总共5天延期天数)。在截止日期后,我们将为按时评分制作提交目录的副本。 要使用延期天数或延迟提交作业,您将提交文件时附带一个额外的文件,该文件仅包含一个数字,表示您的作业延迟的天数(例如1、2、3)。每连续一天,我们将制作任何包含这些slipdays.txt文件的目录的副本。在提交最终提交时,此文件必须存在,否则我们将不知道对您的代码进行评分。 我们将跟踪您在项目之间的延期天数和延迟提交情况,并在您用完延期天数后开始扣除百分比。 在用完延期天数后,如果延迟1天提交,您最多可以获得90%的分数,如果延迟2天提交,您可以获得80%的分数,如果延迟3天提交,您可以获得70%的分数,但对于任何单个作业,如果没有例外情况,我们不会在第三天后接受提交。这意味着如果您在单个作业上使用了两个个人延期天数,您只能再额外延迟一天提交,总共延迟3天,扣除10%。 任何例外情况都需要向教师请求。 示例slipdays.txt 1 问题:我们将使用Piazza回答所有问题。 开始前:阅读此实验教程;它包含了在C环境中编程的一些有用提示,包括使用makefiles、使用gdb调试器以及使用linux手册和信息系统。 协作:作业必须由您自己完成。复制代码(来自他人)被视为作弊。阅读此以获取更多关于什么是可以的和什么是不可以的信息。请不要这样做,帮助我们大家度过一个愉快的学期。 这个项目将在Linux实验室机器上完成,因此您可以在典型的基于UNIX的平台(Linux)上学习更多关于C编程的知识。您的解决方案将在这些机器上进行测试。 一些测试将在~cs537 – 1/tests/P1提供。通过在任何实验室机器上执行命令cat ~cs537 – 1/tests/P1/README,了解更多关于测试的信息,包括如何运行它们。请注意,这些测试用例并不完整,我们鼓励您自己创建更多的测试用例。 提交:将您的文件复制到~cs537 – 1/handin/login/P1,其中login是您的CS登录名。 Unix实用程序 在这个项目中,您将构建一个简单的用户级程序,很像各种UNIX命令行实用程序(例如man、zip、grep等)。您将实现一个工具,该工具将报告有关文件文本内容的一些各种统计信息(例如唯一字符的数量、字符的频率、单词的频率等)。我们将这个程序称为MADCounter.c(即Madison Counter)。 目标: 重新熟悉C编程语言,特别是: 处理字符串 读写文件 使用结构体 简单的动态内存分配 重新熟悉UNIX的shell/终端/命令行 虽然项目侧重于编写简单的C程序,但您可以从上面看到,即使这也需要一堆其他先前的知识,包括对shell是什么以及如何在一些基于UNIX的系统(例如Linux或macOS)上使用命令行的基本了解,当然还有对C编程的基本理解。如果您不已经具备这些技能,那么这里不是开始的正确地方。 总结要提交的内容: 一个.c文件:MADCounter.c。 每个文件在使用-Wall和-Werror标志编译时应成功编译。 它们应该(希望)通过我们提供的测试。 包括一个单独的README.md,描述实现。该文件应包括您的姓名、您的cs登录名、您的wisc ID和电子邮件,以及您的实现状态。如果一切正常,就说正常。如果有您知道不起作用的东西,请告诉我。 如果适用,一个名为resources.txt的文件,描述使用的在线资源。欢迎您使用在线资源来帮助您完成作业。我们不建议您使用大型语言模型,如ChatGPT。对于本课程,我们已经看到这些工具给出了接近但不完全正确的示例或解释,这会让学生更加困惑,如果他们不知道正确答案是什么。请注意,当您向教学人员寻求帮助时,我们不会协助使用这些LLM,我们希望您能够向教学人员介绍您的代码和逻辑。在线资源(例如stack overflow)和生成工具正在改变包括计算机科学和教育在内的许多行业。但是,如果您使用在线资源,您需要提交一份文件,描述您对这些资源的使用。在该文件中表明您的解决方案中有多少是严格由您自己完成的,有多少是使用这些工具完成的。具体说明使用的资源和您与这些资源的交互方式。不给予外部资源信用是一种剽窃行为。在您的代码中使用该资源的地方对资源进行注释是一个好习惯。您不会因为使用LLM或阅读帖子而受到惩罚,但您不应该在在线论坛上发布关于本课程项目的帖子。您的大部分代码也应该由您自己努力编写,并且您应该能够解释您提交的所有代码。 MADCounter 程序MADCounter.c是一个命令行文本工具,它从输入文件中收集有关字符、单词和文件行的统计信息,并将这些统计信息打印到命令行或输出文件中。您的工具还应该接受一个批处理文件,其中包含一系列统计请求,每个请求对不同的文本文件进行操作。 单次运行 让我们首先讨论这个实用程序的单次运行,从一个示例开始。 $ __welcome.txt__包含:

CS537 P1 – Unix实用程序 – MADCounter 辅导 Read More »

EECS492 2024年秋季作业1 代做

这是EECS492课程2024年秋季作业1的相关内容,包括作业截止日期(2024年9月27日晚上11:59)、提交指南(需提交书面部分的PDF和完成的Agent.py文件到Gradescope,注意相关政策和要求)、评分政策(可在成绩公布后一周内提交重新评分请求)。作业内容包括书面部分(50分)和编程部分(50分),书面部分涵盖设计agents(如tic – tac – toe agent的PEAS描述和环境特征)、搜索相关问题(如不同搜索方法下节点的扩展顺序、砖排序机器的搜索算法设计、启发式函数相关问题、爬山算法相关问题);编程部分需使用Python完成Agent.py文件,实现特定的搜索算法(BFS、DFS、UCS、A – Star)来搜索迷宫,迷宫可能有多个目标,需修改启发式为到最近目标的欧几里得距离,并完成相关函数。 EECS 492 – 作业1(2024年秋季) 截止日期:2024年9月27日晚上11:59 2024年9月17日 后勤 提交指南 重要提示:您必须仔细阅读教学大纲中关于作业的政策。它讨论了什么算作迟到以及迟到将如何处罚。请确保您已阅读并理解学术诚信部分,包括关于协作和使用生成式AI的部分。生成式AI部分还包括一个示例引用和解释的链接。您将对遵守这些政策负责,违规行为将报告给荣誉委员会。 本次作业的截止日期为2024年9月27日晚上11:59。提交使用Gradescope进行跟踪。书面部分和编程部分将分别评分和处罚。请注意,您对已在Gradescope上提交的作业所做的任何更改都算作重新提交。 您必须向Gradescope提交以下文件(请注意,有两个单独的Gradescope提交): 1. 包含书面部分解决方案的清晰可读的PDF。您可以手写解决方案,使用平板电脑,或在LATEX中排版解决方案。我们只要求您使其易于阅读,不要过于冗长,以便评分者不会难以理解您的写作。您必须单独将书面部分提交到Gradescope。 2. 完成的Agent.py文件到编程部分。 评分政策 重新评分请求必须在项目成绩公布后的一周内提交给Gradescope。后期的重新评分请求将不被接受。我们将提供解决方案以及使用的确切评分标准。 1 书面[50分] 1.1 设计agents[5.5分] 井字棋是一种两个玩家轮流在三乘三的网格中用X或O标记空格的游戏。游戏的目标是第一个在水平、垂直或对角线上放置三个自己的标记(见图1)。 图1:一场井字棋游戏,O玩家获胜,因为它在对角线上有三个标记。 您现在的任务是为井字棋agent开发一种AI算法。该agent是一个可以在纸上用钢笔与另一个agent(人类或机器人)对战的机器人。该agent必须能够: • 检测标记是X还是O • 在九个网格中的一个中绘制标记 • 检测纸上的空网格和已存在的标记 • 使用此信息确定它是否赢得、输掉或平局 请注意,该agent不仅仅玩一次,而是一个应该能够根据需要多次玩多个游戏的机器人。现在,回答以下问题 – 请注意,其中一些情况可能不明确,因此请证明您的答案并明确说明任何假设 (a)为任务环境创建PEAS描述,其中任务环境包括agent玩的所有游戏。 (b)确定环境的特征,并简要说明为什么您以这种方式描述环境 提醒一下,环境的特征如下: • 完全可观察与部分可观察 • 单agent与多agent • 确定性与非确定性 • 情节性与连续性 •

EECS492 2024年秋季作业1 代做 Read More »

BUSN3017作业 代写

该文档是关于BUSN3017课程企业社会责任、问责制和报告(任务3)的评估要求,学生需选择一家澳大利亚大型上市公司,对其可持续性报告进行独立审查并撰写报告。报告需分析该公司对重要性的处理方法是否令人满意、报告框架的选择是否体现最佳实践、表现最差的三个ESG问题以及一个基于课堂“关键洞察”概念的自选分析问题,并向CEO提出建议。报告有具体的结构要求和字数限制,需使用哈佛引用格式,且学术诚信至关重要。 BUSN3017:企业社会责任、问责制与报告 商业报告(任务3)评估要求 权重:30% 截止日期:2024年10月14日星期一上午11点 这项评估任务旨在让您更深入地分析一家大型澳大利亚上市公司最近的企业责任披露情况。它以商业顾问经常为企业承担的任务类型为模型,并且受到企业责任报告标准最新发展的推动。 该任务旨在让您根据自己的兴趣进行选择,您可以选择感兴趣的公司,并鼓励您对公司的可持续性报告得出自己有根据但实际的结论。该任务考察您进行分析推理、独立研究和书面沟通的能力。 要求 从附录1提供的列表中选择一家澳大利亚最大的上市公司。您是一名顾问,被任命对该公司的可持续性报告进行独立审查。该公司的首席执行官要求您准备一份报告,在报告中分析他们最新的可持续性报告以及公司在其中的表现。在您的报告中,您需要使用研究、分析和判断来回答以下问题: 1. 该公司对重要性的处理方法是否令人满意? 2. 该公司选择的报告框架是否体现了最佳实践? 3. 该公司在哪些三个(3)ESG问题上表现最差? 4. 您自选的一个其他问题,该问题源自讲座幻灯片或研讨会幻灯片中标记为“关键洞察”的任何内容。 您需要在报告的结尾向首席执行官提出一系列建议,这些建议应基于您对公司报告实践的分析。 重要信息 • 为了在每个领域进行分析,您至少应该:(i)进行研究以了解该公司的所作所为以及如何披露,(ii)考虑这种方法/披露的优势(进一步的研究将对您有所帮助),(iii)考虑公司在该领域的方法的弱点、差距或可以改进的方式(进一步的研究将对您有所帮助)。然后,您的报告应该总结您的发现并得出您对每个问题的判断。 • 根据您所选公司的最新可持续性报告进行分析。请注意,不同的公司以不同的方式报告,因此他们的报告可能采用单独的可持续性报告、CSR报告、综合报告、网站或数据库的形式。所有这些都可以作为“可持续性报告”包括在内。此外,“最近”指的是最近发布的信息(通常是2023年报告或2024年网站)。如果您选择的公司根本没有报告可持续性,那么它不适合本次评估。确保在引言中明确说明您为分析审查了哪些文件/资源。 • 您的书面报告不应超过10页。封面页和参考列表不包括在该页数限制内。提交时请勿使用小于10号的字体。 • 建议您使用可视化方式在商业报告中呈现您的发现。考虑如何使用表格、图表、图形或其他视觉元素来呈现您的研究和发现。报告的结构、风格和格式将分配分数。 • 对于上述第4点,您必须根据课堂上提出的一个概念(即“关键洞察”)制定自己的分析问题。为此,选择您最感兴趣的“关键洞察”幻灯片,对公司的披露进行一些研究,并制定您自己的问题,以指导您的分析。 • 您的商业报告应仔细并彻底地引用。使用澳大利亚国立大学(ANU)概述的哈佛引用风格。您的参考列表不包括在页数限制内。 报告结构 报告应致您选择的公司,并使用正式的商业语言。确保仔细编辑您的作品以表达和语法。使用以下部分构建您的报告(每个问题分配的分数;总分100分)。请确保您的报告包括所有这些部分;这些部分内的长度和结构由您决定。 封面页 说明您选择的公司名称和您的学生ID。这不包括在您的页数限制内。 执行摘要 [2分] 总结报告的关键信息。保持非常简短。 引言 [3分] 概述您论文的目标及其结构。说明您在分析中使用了该公司的哪些披露或报告。保持非常简短。 重要性 [15分] 您对以下问题的分析和回应:该公司对重要性的处理方法是否令人满意? 报告框架 [15分] 您对以下问题的分析和回应:该公司选择的报告框架是否体现了最佳实践? 表现最差的领域 [15分] 您对以下问题的分析和回应:该公司在哪些三个(3)ESG问题上表现最差? 额外分析 [20分] 您对自己的分析问题的分析和回应。 结论 [10分]

BUSN3017作业 代写 Read More »