前提条件
Cmp Sc 2700,Cmp Sc 2750公司、和Cmp Sc 3130公司

教科书
比尔·斯塔林(Bill Stallings)。操作系统:内部构件和设计原则.Prentice-Hall公司新泽西州恩格尔伍德克利夫斯。2017
罗宾斯/罗宾斯。Unix系统编程——通信,并发和线程Prentice-Hall公司。2003
比克。操作系统.zyBooks,2021年。可选。它有好的练习可以帮助你准备考试。它也有一些动画可以更好地解释一些观点。

欢迎光临

这是一门关于操作系统和系统编程的课程。将学习管理操作系统内部的算法,特别是进程间通信、进程调度、资源管理、内存管理、文件系统和I/O调度。这个本课程将帮助您理解操作系统并通过大型项目。我在研究中使用了操作系统方面的经验教训和咨询工作,以优化我编写的代码。我喜欢提高对任务C语言编程的理解涉及与系统的交互。我们将在Linux在上使用Gnu C编译器opsys公司.

这是你在课程。然而,我强调我希望你成功在这里,除了做你的项目外,还可以以任何可能的方式帮助你。

教学理念

我相信通过做事来学习。因此,我将分配一个数字模拟您学习的操作系统算法的项目。将创建测试来评估您对概念的掌握情况这些项目将通过以下方式评估您应用正确程序的能力分析情况并创建代码来解决复杂问题。我会的很乐意帮助任何在学习项目。欢迎您随时通过Zoom与我联系,或者给我发一条消息,让我在缩放上会面,讨论与以下内容相关的任何问题阶级,甚至与你的职业生涯有关。

课程描述

本课程涵盖通用操作系统的结构,详细考虑进程间通信的算法,进程调度、资源管理、内存管理、文件系统和设备管理。它展示了当代的例子操作系统。本课程还需要实践项目在现代操作系统或模拟器环境中实现。

课程目标

本课程将加深您对系统编程的理解,CMP SCI公司2750。你将使用你的编程技能来设计和实现操作内部使用的数据结构和算法系统。本课程的总体目标是:

话题

我们将讨论通用操作系统的结构强调执行各种任务所需的算法和数据结构管理进程、资源、内存、文件和I/O设备的任务。我们将从头到尾介绍操作系统的安全方面课程。将会有广泛的在下用C编程Linux环境。主题顺序如下订单):这个Youtube上的讲座视频可用。

成果

在本课程结束时,你应该能够熟练地执行系统编程任务。你还应该能够解释上述不同的操作系统主题。你应该了解在操作系统中实现各种任务的算法并利用这些知识来提高程序的性能。

在线学习

这是一门完全在线的异步课程,意味着没有要求您面对面或虚拟会面。课程是这样设计可以实现最大的灵活性,因此您可以集成学习课程内容融入你繁忙的生活。也就是说,这不是自定进度的课程,意味着你必须提交作业和在特定的截止日期前参加讨论。这些到期日将你需要良好的时间管理。你会注意到项目的规模,你可能会陷入某些问题/缺陷和结局浪费了很多时间;因此,谨慎地开始你的项目提前。

时间要求

这是一个活跃的课堂,在线教学与广泛的编程项目。我们的课程是3学分的课程每周需要3个小时的时间来在线阅读除了你花时间阅读所需的材料、观看视频和完成项目编程项目会占用你很多时间。这意味着你需要计划每周至少花费8小时(可能最多每周10-12小时)。如果你愿意想要了解在线画布活动的工作方式,请咨询这个在线画布概述课程在画布中,您可以在其中练习发布到讨论板,进行练习测验等。

所有信件应通过UMSL提供的电子邮件进行。请使用Canvas上的班级电子邮件列表进行交流。任何未签名的电子邮件和非纯文本的电子邮件将被我回复。请不要在没有事先与我交谈的情况下向我发送任何附件。

项目

你将被分配编程任务,通常是一组程序每两周一次。作业将于以下日期的11:59 pm到期任务。作业应在白昼提交,并且必须正确执行hoare以获得荣誉。您应该开始处理项目一旦被分配,其中一些可能会变得棘手。过去,问了很多问题的学生都会得分成绩更好。不要犹豫,在课堂上,在我的办公室,或通过电子邮件,尤其是如果你不知道如何开始做这个项目。

分级

等级将基于编程作业和三次测试。所有测试都将打开书本并打开笔记。测试不全面,但可能有少量重叠从一次测试到下一次测试的材料。每项任务都必须一丝不苟记录并明确其目的、作者和日期。我会的喜欢阅读您提交的代码;我应该不必这么做弄明白了.如果你仔细阅读Gnu编码标准.当您向我寻求代码方面的帮助,或者当您提交代码时,使你一定要跟上压痕实践.如果你在没有事先安排的情况下错过了任何考试或作业,你将有一个零。做这样的安排时,请顺道来办公室,而不是给我发电子邮件。我不会化妆测验。等级分布如下:

编程作业 40%
三次测试 各20%

以研究生身份参加本课程的学生需要对材料的更好掌握。这可以通过附加工作来显示以及考试中显示的额外掌握。

任何希望在2020年3月31日后获得EXC等级的人必须通过在这一点上的课程,以获得EXC。

未能提交任何作业将导致自动归零这项任务。如果一些学生无法通过截止日期,他/她必须与我讨论之前这个最后期限。我鼓励你和其他学生谈谈但你不应该合作到两个提交的文件是彼此的副本。如果发现您正在复制作业(来自其他学生或互联网),或者如果您提交的作业不合理相似再提交一次,你得零分自动完成该任务。第二次违规将被举报给涉案的大学官员和学生将面临严重后果后果。我可以请你来我的办公室解释一下你的密码对我来说;万一你不能解释代码让我满意,我会在那个项目中给你零分。

教学策略

教学将遵循标准讲座,使用PDF笔记作为援助。如果有不清楚的地方或如果你开始在课堂上迷路。如果项目不明确你,你应该在课堂上,在我的办公室里,或者通过电子邮件。如果您不知道如何开始项目,这么说,我会尽力帮助你。然而,我想你会尽早而不是最后提出与项目相关的问题项目到期时的分钟数。

其他

如果您有任何残疾需要住宿(根据UMSL政策),您必须提前通知我。如果你不能上课由于宗教节日或大学主办的活动,请我也提前知道了。宗教节日,请同时填写这个表格万一你得了流感,在你康复之前不要上课,并通过电话或电子邮件。在这种情况下,我会尽力为你安排住处。

您将在Linux机器上拥有一个帐户灰白色.cs.umsl.edu在CS部门,你应该在所有作业中使用它。全部程序必须在C中完成。任何无法在hoare上运行的赋值自动获得零。您可以访问灰白色从家里出发登录校园VPN,或登录海军上将然后ssh’ing从那里。

考试日期

测试1 2021年2月22日
测试2 2021年3月26日
测试3 2021年5月7日

如果因天气原因或其他校园原因而取消上课测试当天出现紧急情况,测试将在以下时间举行上课时间。对于第三次测试,如果校园在计划日期,替代日期为计划日期的第二天日期;可能在部门的会议室里。

其他重要日期

2020年1月27日 报名参加课程的最后一天
2020年2月17日 最后一天没有得到分数
2020年3月16日 最后一天经讲师批准放弃课程
2020年4月20日 在讲师批准的情况下放弃课程的最后一天

任何希望在2020年3月31日之后获得EXC成绩的人都必须通过在这一点上的课程,以获得EXC。

UMSL课程政策

参与(期望)

学术诚信/剽窃

强制性报告

准入、残疾和通信

学生支持和服务

技术支持

学术支持

学生服务

部门辅导

与操作系统相关的链接