国产人妻人伦精品_欧美一区二区三区图_亚洲欧洲久久_日韩美女av在线免费观看

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

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設計編程
  • 無相關信息
    合肥生活資訊

    合肥圖文信息
    流體仿真外包多少錢_專業CFD分析代做_友商科技CAE仿真
    流體仿真外包多少錢_專業CFD分析代做_友商科
    CAE仿真分析代做公司 CFD流體仿真服務 管路流場仿真外包
    CAE仿真分析代做公司 CFD流體仿真服務 管路
    流體CFD仿真分析_代做咨詢服務_Fluent 仿真技術服務
    流體CFD仿真分析_代做咨詢服務_Fluent 仿真
    結構仿真分析服務_CAE代做咨詢外包_剛強度疲勞振動
    結構仿真分析服務_CAE代做咨詢外包_剛強度疲
    流體cfd仿真分析服務 7類仿真分析代做服務40個行業
    流體cfd仿真分析服務 7類仿真分析代做服務4
    超全面的拼多多電商運營技巧,多多開團助手,多多出評軟件徽y1698861
    超全面的拼多多電商運營技巧,多多開團助手
    CAE有限元仿真分析團隊,2026仿真代做咨詢服務平臺
    CAE有限元仿真分析團隊,2026仿真代做咨詢服
    釘釘簽到打卡位置修改神器,2026怎么修改定位在范圍內
    釘釘簽到打卡位置修改神器,2026怎么修改定
  • 短信驗證碼 豆包網頁版入口 破天一劍 目錄網 排行網

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

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

    国产人妻人伦精品_欧美一区二区三区图_亚洲欧洲久久_日韩美女av在线免费观看
    国产精品日日做人人爱| 在线观看福利一区| 国产精品男女猛烈高潮激情| 亚洲va久久久噜噜噜久久狠狠| 国产主播在线看| 久久精品国产亚洲7777| 日本女人高潮视频| 久久视频这里有精品| 亚洲国产精品久久久久爰色欲| 国产欧美一区二区视频| 久久成人av网站| 国产综合18久久久久久| 久久久久www| 欧美亚洲日本网站| 777国产偷窥盗摄精品视频| 中文字幕日本最新乱码视频| 狠狠色噜噜狠狠色综合久| 北条麻妃在线一区二区| 欧洲日韩成人av| 精品国产欧美成人夜夜嗨| 全黄性性激高免费视频| xxav国产精品美女主播| 欧美在线欧美在线| 国产精品日韩av| 免费看黄色a级片| 欧美成人在线影院| 国产玖玖精品视频| 亚洲最大成人在线| 91av在线不卡| 亚洲福利av在线| 久久资源av| 任我爽在线视频精品一| 久久色精品视频| 国产一区二区三区av在线| 国产99视频在线观看| 风间由美一区二区三区| 欧美一区二区三区免费观看| 久久99精品久久久久久久久久| 日韩高清国产精品| 久久色免费在线视频| 国产在线精品一区二区三区| 久久99视频免费| 91精品免费久久久久久久久| 日本高清视频精品| 久久久国产精彩视频美女艺术照福利| 美女黄毛**国产精品啪啪| 中文字幕日本最新乱码视频| 久久综合亚洲精品| 欧美在线视频一区二区三区| 久久福利视频导航| 91精品在线观| 欧美在线免费观看| 欧美激情精品久久久久久久变态 | 亚洲国产精品毛片| 久久久久久久久久码影片| 国内外免费激情视频| 亚洲综合成人婷婷小说| 色偷偷888欧美精品久久久| 免费特级黄色片| 亚洲欧美日韩精品在线| 久草综合在线观看| 国产日韩在线一区| 亚洲欧美综合一区| 国产成人啪精品视频免费网| 国产精品一区专区欧美日韩| 日韩精品久久一区| 欧美片一区二区三区| 国产成人在线小视频| 黄色一级二级三级| 午夜欧美不卡精品aaaaa| 国产精品视频一区二区三区四| 国产精品尤物福利片在线观看| 日韩av电影在线免费播放| 国产精品国产三级国产专播精品人| 91精品国产99久久久久久| 黄色一级片国产| 日韩福利视频| 欧美精品第一页在线播放| www.美女亚洲精品| 超碰97人人人人人蜜桃| 欧美日本国产精品| 日韩一区二区高清视频| 久久综合88中文色鬼| 久久国产乱子伦免费精品| 国产日韩欧美大片| 茄子视频成人免费观看| 亚洲高清资源综合久久精品| 国产精品国产精品国产专区不卡| 国产成人综合一区二区三区| 国产精品夜间视频香蕉| 激情图片qvod| 日韩欧美亚洲天堂| 亚洲欧美久久234| 国产精品狼人色视频一区| 久久久久久久av| 91九色丨porny丨国产jk| 国产中文字幕免费观看| 欧美一区二区综合| 亚洲乱码国产一区三区| 色综合91久久精品中文字幕| 国产精品美女久久久久av福利| 久草在在线视频| 久久久中精品2020中文| 99在线首页视频| 国产欧美日韩精品丝袜高跟鞋 | 国产成人精品午夜| 久草一区二区| 久久99精品久久久久久青青日本| 91精品国产综合久久香蕉的用户体验| 国产乱人伦真实精品视频| 欧美不卡福利| 欧美亚洲成人网| 欧美一级黑人aaaaaaa做受| 日本福利视频一区| 日韩免费中文字幕| 日本欧美精品在线| 色综合影院在线观看| 成人做爰www免费看视频网站| 亚洲最新在线| 一本久道久久综合狠狠爱亚洲精品| 久久av.com| 欧美激情一二三| 中文字幕免费高| 尤物av无码色av无码| 一区二区三区的久久的视频| 欧美成人精品影院| 精品久久sese| 中文字幕人妻熟女人妻洋洋| 欧美激情亚洲视频| 欧美激情精品久久久久久变态| 欧美成人一区二区三区电影| 欧美大片欧美激情性色a∨久久| 欧美日韩福利在线观看| 亚洲一区二区免费在线| 日日噜噜夜夜狠狠久久丁香五月| 日韩久久久久久久久久久久| 欧美在线亚洲一区| 国内精品视频一区二区三区| 国产一级做a爰片久久毛片男| 国产日韩成人内射视频| 国产日韩亚洲欧美在线| 国产美女主播在线| 99热久久这里只有精品| 国产激情片在线观看| 日韩中文字幕亚洲| 国产精品九九久久久久久久| 久久91亚洲精品中文字幕| 伊人久久av导航| 欧美一乱一性一交一视频| 奇米888一区二区三区| 国产主播一区二区三区四区| 99热在线这里只有精品| 久久久久久久免费| 国产精品福利片| 亚洲精品欧洲精品| 日本免费高清不卡| 免费一级特黄特色毛片久久看| 国产精品永久免费| 久久99精品久久久久久三级| 国产精品美腿一区在线看| 一本久道综合色婷婷五月| 日韩视频免费在线播放| 麻豆视频成人| 国产精品69精品一区二区三区| 日韩中文字幕视频| 欧美激情综合色| 日本精品视频网站| 国产婷婷一区二区三区| 国产精品av免费| 国产精品女人久久久久久| 一区二区三区四区不卡| 日韩欧美一区三区| 国产欧亚日韩视频| 久久久久这里只有精品| 国产99久久精品一区二区 夜夜躁日日躁| 日日摸日日碰夜夜爽无码| 精品视频在线观看一区| 国产黄色特级片| 欧美黄网免费在线观看| 青青草一区二区| 99精品一区二区三区的区别| 久久精品亚洲94久久精品| 亚洲国产精品久久久久爰色欲| 欧美日韩二三区| 久久久亚洲国产| 成人97在线观看视频| 人妻无码久久一区二区三区免费| 古典武侠综合av第一页| 国产成人啪精品视频免费网| 亚洲美女搞黄| 国产欧美一区二区| 国产精品天天狠天天看| 性亚洲最疯狂xxxx高清| 国产一区玩具在线观看| 国产成人91久久精品| 亚洲伊人久久综合| 国产日韩欧美91| 久久精品国产99国产精品澳门| 国产精品视频免费观看www| 国产中文欧美精品|