99爱在线视频这里只有精品_窝窝午夜看片成人精品_日韩精品久久久毛片一区二区_亚洲一区二区久久

合肥生活安徽新聞合肥交通合肥房產生活服務合肥教育合肥招聘合肥旅游文化藝術合肥美食合肥地圖合肥社保合肥醫院企業服務合肥法律

COMP2211 代做、代寫shell interface程序設計
COMP2211 代做、代寫shell interface程序設計

時間:2024-11-09  來源:合肥網hfw.cc  作者:hfw.cc 我要糾錯



Chapter 5
Week 4: Creating a small shell interface
You must submit your work to the appropriate submission point in Gradescope, which will
be automatically marked. You should submit a single file called my_shell.c. Any other
files you submit will not be marked. Although you do not need to include any additional
supporting documentation or report, we do expect that your code is well written, tested and
commented.
Deadline: Week 6 of teaching. Thursday. 7th of Novem ber, 2024. 14:00. Extensions of up to 7 days are available.
Weighting: 40% of the final module mark.
In this coursework you will demonstrate:
• An understanding of how processes are created by the operating system.
• An understanding of file descriptors and their relationship to pipes and redirection.
• The ability to program components of an operating system.
Exercise
In this coursework you will implement a simple shell for the xv6 operating system. This
new shell will be implemented as a user space program. Before you attempt this coursework,
make sure you have gone through most of the formative assessment exercises in the preceding
weeks and convinced yourself that you know how various parts work. Where you have doubts,
read relevant parts again and redo the coursework, which will make you spot new things and
gain a deeper understanding of the material. You should provide your implementation in a
new file called my_shell.c. You may use any helper functions provided by the xv6 kernel or
user libraries. For each of the following items implement the feature into your shell, as you
progress the features to implement become harder. This exercise should not require you to
modify any file other than my_shell.c and the Makefile.
To start with clone the repository containing the starting code and copy my_shell.c
from it into your xv6 user/ directory:
29
$ git clone https://github.com/mmikaitis/COMP221**shell-template.git
Modify the Makefile accordingly and rebuild xv6. It will not compile because my_shell.c is
not finalised yet. However, it also contains some comments that should help in finishing the
intended structure. Your task is to finish writing methods getcmd, run_command, and main,
by inserting code in the indicated locations. No other methods should be developed.
You are allowed to look at a default xv6 shell source code as well as
learn about implementing shells using external resources. However,
you are required to follow the unique structure outlined in the tem plate and are not allowed to supply any code which was not developed
solely by yourself, starting from design stage. If you depend highly
on some online tutorials then you need to declare the sources in the
comments, which includes large language models. If you discuss early
ideas with someone in the lab you should make sure that you don’t
end up with similar code structure; you should not code together.
Gradescope will run a similarity check of your submission and if the
logic of the new code is reported to be similar to someone else’s,
the submission will be carefully checked manually and reported as
academic integrity violation if required. See this website for some
detail. The similarity check is resilient to changing variables names
or adding comments and new lines.
Going through academic integrity interviews is a daunting process and
may result in severe delays to your degree progression. It is better
to submit nothing than submit the code that was partially developed
by others. If you are behind, speak to the lab demonstrators and the
module lead for guidance on best ways forward.
Part 1: Execute simple commands (5 Marks)
Implement the execution of simple commands. Your shell should be able to:
• Prompt the user for a command by printing “>>>” as a command prompt.
• Execute a command inputted to the command prompt.
• Loop indefinitely until the shell is exited.
• Handle the “cd” command—you will notice that this command will need to be treated
as a special case.
Do not forget to stress-test your simple shell before moving on to advanced features. The
automatic marking will be testing it on various cases and marks will be deducted if it does
not work when the same command is provided in a different format, such as with extra
30
spacing. For example, consider (note the amount and location of space characters which
may impact the shell if they are not detected):
$ echo hello world
$ echo hello world
Once you are comfortable that you have tested your shell with any possible command that
could reveal bugs, move on to implement the following advanced features.
Part 2: Input/Output redirection (6 Marks)
Implement Input/Output redirection. Your shell should be able to handle two element
redirections. For example,
$ echo "Hello world" > temp
$ cat < temp
Part 3: Pipes (6 Marks)
Implement pipes. Your shell should be able to handle two element pipelines. For example,
$ cat README | grep github
Part 4: Additional features (8 Marks)
Implement the following advanced features:
1. Implement multi-element pipelines. For example,
$ ls | grep test | cat
2. Implement non-trivial combinations of pipes and redirection. For example,
$ ls | grep test | cat > myoutput
3. Implement the “;” operator that allows a list of shell commands to be given and
executed sequentially.
$ ls | grep test | cat > myoutput; cat myoutput
Marking
Gradescope will run 26 test commands and award a mark out of 25. The commands that will
be run are not disclosed and you are required to use creativity to think of various scenarios
which may break your shell and test it thoroughly before submitting. 3 out of 25 marks
31
will be awarded to those who spot three especially tricky cases of specifying commands and
implement their shells to get around them.
There are many ways to type commands, some straightforward as shown above, and
some not, such as when people type commands without using any spaces or with arbitrary
number of spaces in various places. Your shell should be resilient to this ambiguity in
specifying commands. Those students who spent more time in thinking about various test
cases and check them will get more marks than those who only try a few straightforward
commands listed above.
Here are a few example commands running in the new completed shell to get you started:
xv6 kernel is booting
hart 2 starting
hart 1 starting
init: starting sh
$ my_shell
>>> mkdir tempdir
>>> ls
. 1 1 1024
.. 1 1 1024
README 2 2 2292
cat 2 3 35080
echo 2 4 33960
forktest 2 5 16080
grep 2 6 38512
init 2 **4424
kill 2 8 33888
ln 2 9 33712
ls 2 10 37016
mkdir 2 11 33952
rm 2 12 33936
sh 2 13 56504
stressfs 2 14 34816
usertests 2 15 179160
grind 2 16 49**6
wc 2 1**6024
zombie 2 18 3**88
my_shell 2 19 400**
console 3 20 0
tempdir 1 21 **
>>> cd tempdir
>>> ../ls
. 1 21 **
**
.. 1 1 1024
>>> cd ..
>>> ls
. 1 1 1024
.. 1 1 1024
README 2 2 2292
cat 2 3 35080
echo 2 4 33960
forktest 2 5 16080
grep 2 6 38512
init 2 **4424
kill 2 8 33888
ln 2 9 33712
ls 2 10 37016
mkdir 2 11 33952
rm 2 12 33936
sh 2 13 56504
stressfs 2 14 34816
usertests 2 15 179160
grind 2 16 49**6
wc 2 1**6024
zombie 2 18 3**88
my_shell 2 19 400**
console 3 20 0
tempdir 1 21 **
>>> echo hello
hello
>>> echo hello
hello
>>> cat README | grep xv6
xv6 is a re-implementation of Dennis Ritchie’s and Ken Thompson’s Unix
Version 6 (v6). xv6 loosely follows the structure and style of v6,
xv6 is inspired by John Lions’s Commentary on UNIX 6th Edition (Peer
(kaashoek,rtm@mit.edu). The main purpose of xv6 is as a teaching
>>> cat README| grep xv6
xv6 is a re-implementation of Dennis Ritchie’s and Ken Thompson’s Unix
Version 6 (v6). xv6 loosely follows the structure and style of v6,
xv6 is inspired by John Lions’s Commentary on UNIX 6th Edition (Peer
(kaashoek,rtm@mit.edu). The main purpose of xv6 is as a teaching
>>>
It is worth to note that the default xv6 does not pass all of our expected tests. For
example:
33
xv6 kernel is booting
hart 2 starting
hart 1 starting
init: starting sh
$ cd .
$ cd .
cannot cd .
$ mkdir temp
$ cd temp
$ cd ..
$ cd temp
cannot cd temp
$
Submission
You are required to submit only my_shell.c. See Minerva.


請加QQ:99515681  郵箱:99515681@qq.com   WX:codinghelp





 

掃一掃在手機打開當前頁
  • 上一篇:SCC.369代做、代寫C/C++編程設計
  • 下一篇:代寫COSC2531、代做Python設計編程
  • 無相關信息
    合肥生活資訊

    合肥圖文信息
    急尋熱仿真分析?代做熱仿真服務+熱設計優化
    急尋熱仿真分析?代做熱仿真服務+熱設計優化
    出評 開團工具
    出評 開團工具
    挖掘機濾芯提升發動機性能
    挖掘機濾芯提升發動機性能
    海信羅馬假日洗衣機亮相AWE  復古美學與現代科技完美結合
    海信羅馬假日洗衣機亮相AWE 復古美學與現代
    合肥機場巴士4號線
    合肥機場巴士4號線
    合肥機場巴士3號線
    合肥機場巴士3號線
    合肥機場巴士2號線
    合肥機場巴士2號線
    合肥機場巴士1號線
    合肥機場巴士1號線
  • 短信驗證碼 豆包 幣安下載 AI生圖 目錄網

    關于我們 | 打賞支持 | 廣告服務 | 聯系我們 | 網站地圖 | 免責聲明 | 幫助中心 | 友情鏈接 |

    Copyright © 2025 hfw.cc Inc. All Rights Reserved. 合肥網 版權所有
    ICP備06013414號-3 公安備 42010502001045

    99爱在线视频这里只有精品_窝窝午夜看片成人精品_日韩精品久久久毛片一区二区_亚洲一区二区久久

          9000px;">

                狠狠狠色丁香婷婷综合激情| 日本免费新一区视频| 久久久久亚洲蜜桃| 国产精品午夜免费| 亚洲色大成网站www久久九九| 一区二区三区在线视频观看58| 亚洲国产精品久久人人爱| 麻豆国产欧美一区二区三区| 成人avav在线| 在线不卡的av| 国产精品久久久久久久浪潮网站| 日韩不卡免费视频| 不卡在线观看av| 欧美一二区视频| 一区在线观看免费| 亚洲午夜久久久久久久久久久| 精品在线一区二区| 欧美无砖专区一中文字| 亚洲国产精品v| 日韩福利电影在线| 在线看日本不卡| 国产三级三级三级精品8ⅰ区| 一区二区三区欧美久久| 国产成人一区在线| 欧美一区二区三区四区视频| 亚洲女同一区二区| 国产精品99久| 91精品国产欧美日韩| 亚洲日本在线看| 成人蜜臀av电影| 精品不卡在线视频| 天天做天天摸天天爽国产一区| 不卡一区二区中文字幕| 久久久久国产精品麻豆ai换脸 | 欧美在线短视频| 国产女主播一区| 国产一区999| 精品久久99ma| 欧美a级一区二区| 99re6这里只有精品视频在线观看| 久久亚洲二区三区| 久久国产麻豆精品| 日韩三级伦理片妻子的秘密按摩| 视频一区视频二区中文字幕| 在线观看一区二区视频| 亚洲免费看黄网站| 91天堂素人约啪| 亚洲欧美日韩中文播放| 99久久免费精品| 综合色中文字幕| 91亚洲精华国产精华精华液| 国产精品国产自产拍高清av王其| 成人久久久精品乱码一区二区三区 | 日韩欧美的一区| 青青草国产精品97视觉盛宴 | 欧美视频你懂的| 五月天激情小说综合| 欧美揉bbbbb揉bbbbb| 日韩国产欧美在线观看| 日韩网站在线看片你懂的| 麻豆精品一区二区| 26uuu精品一区二区在线观看| 国产黄色成人av| 亚洲视频小说图片| 欧美久久久一区| 狠狠色2019综合网| 国产欧美日韩精品在线| av电影天堂一区二区在线| 亚洲欧美乱综合| 欧美剧在线免费观看网站| 国产一区二区三区四区在线观看| 国产精品美女久久福利网站| 香蕉久久夜色精品国产使用方法 | 日韩精品一区二区三区swag| 成人中文字幕合集| 一区二区激情视频| 欧美一区二区三区免费大片| 国产一区二区三区黄视频| 国产精品久久久久久一区二区三区 | 国产精品久久久久aaaa樱花| 欧洲精品一区二区三区在线观看| 日韩高清不卡在线| 国产精品免费av| 欧美电影在哪看比较好| 国产乱一区二区| 亚洲h在线观看| 国产日产欧美一区| 制服.丝袜.亚洲.另类.中文| 国产成人午夜精品影院观看视频 | 狠狠色丁香久久婷婷综合_中| 亚洲欧洲另类国产综合| 欧美日韩国产精选| 成人av网在线| 麻豆免费看一区二区三区| 国产精品国产三级国产a| 日韩一区二区三区观看| 91天堂素人约啪| 国产乱码精品一区二区三| 日韩国产精品大片| 亚洲三级小视频| 国产喂奶挤奶一区二区三区| 欧美高清你懂得| 99久久99久久久精品齐齐| 国产一区二区在线看| 亚洲国产一区二区a毛片| 中文一区二区在线观看| 精品国产一区二区亚洲人成毛片| 日本韩国视频一区二区| 国产福利电影一区二区三区| 精品一二三四区| 日韩高清欧美激情| 丝袜国产日韩另类美女| 一个色妞综合视频在线观看| 国产精品久久精品日日| 久久精品水蜜桃av综合天堂| 日韩一级免费观看| 欧美日韩黄色一区二区| 欧亚洲嫩模精品一区三区| 不卡的av电影| 成人蜜臀av电影| 国产成人丝袜美腿| 国产最新精品精品你懂的| 麻豆国产精品777777在线| 午夜视频一区二区| 精品一区二区三区免费视频| 亚洲成av人片在www色猫咪| 玉足女爽爽91| 中文字幕五月欧美| 国产欧美精品一区| 国产无人区一区二区三区| 久久综合资源网| 精品久久久久久久久久久院品网| 欧美一级搡bbbb搡bbbb| 日韩一区二区三区观看| 日韩视频在线永久播放| 日韩免费看的电影| 久久亚洲一级片| www成人在线观看| 久久久精品综合| 国产精品水嫩水嫩| 日韩一区在线免费观看| 国产精品嫩草影院com| 一区二区视频在线| 亚洲图片欧美视频| 婷婷成人激情在线网| 精品在线播放免费| 国产精品一区2区| 成人激情免费电影网址| 欧美性猛交xxxx乱大交退制版| 欧美体内she精高潮| 欧美群妇大交群的观看方式 | 免费观看在线色综合| 美女视频一区在线观看| 国精产品一区一区三区mba视频 | 中文字幕精品在线不卡| 综合分类小说区另类春色亚洲小说欧美| 中文字幕亚洲一区二区va在线| 亚洲精品视频在线观看网站| 日韩高清一区在线| 成人黄色免费短视频| 日本高清成人免费播放| 日韩欧美三级在线| 国产区在线观看成人精品| 亚洲欧美另类小说| 偷窥少妇高潮呻吟av久久免费| 久久国产精品区| www.综合网.com| 在线播放91灌醉迷j高跟美女| 久久女同互慰一区二区三区| 一区二区免费看| 精品一区二区在线视频| 色综合中文字幕国产| 欧美三日本三级三级在线播放| 日韩欧美一卡二卡| 国产精品第13页| 日本大胆欧美人术艺术动态| 成人动漫视频在线| 91精品国产欧美日韩| 亚洲欧洲成人精品av97| 激情综合色播五月| 91国产福利在线| 国产欧美日韩精品a在线观看| 亚洲国产精品人人做人人爽| 高清视频一区二区| 7777精品伊人久久久大香线蕉经典版下载 | 日韩视频国产视频| 亚洲欧美偷拍另类a∨色屁股| 激情综合色播激情啊| 欧美综合视频在线观看| 欧美激情一区二区三区在线| 免费在线成人网| 在线观看亚洲成人| 亚洲欧美在线视频| 国产精品中文字幕日韩精品| 在线91免费看| 亚洲电影一区二区| 9久草视频在线视频精品| 久久亚洲精精品中文字幕早川悠里 | 亚洲电影第三页| 99久久综合国产精品|