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

合肥生活安徽新聞合肥交通合肥房產(chǎn)生活服務(wù)合肥教育合肥招聘合肥旅游文化藝術(shù)合肥美食合肥地圖合肥社保合肥醫(yī)院企業(yè)服務(wù)合肥法律

COMP2211 代做、代寫shell interface程序設(shè)計(jì)
COMP2211 代做、代寫shell interface程序設(shè)計(jì)

時(shí)間:2024-11-09  來(lái)源:合肥網(wǎng)hfw.cc  作者:hfw.cc 我要糾錯(cuò)



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.


請(qǐng)加QQ:99515681  郵箱:99515681@qq.com   WX:codinghelp





 

掃一掃在手機(jī)打開(kāi)當(dāng)前頁(yè)
  • 上一篇:SCC.369代做、代寫C/C++編程設(shè)計(jì)
  • 下一篇:代寫COSC2531、代做Python設(shè)計(jì)編程
  • 無(wú)相關(guān)信息
    合肥生活資訊

    合肥圖文信息
    流體仿真外包多少錢_專業(yè)CFD分析代做_友商科技CAE仿真
    流體仿真外包多少錢_專業(yè)CFD分析代做_友商科
    CAE仿真分析代做公司 CFD流體仿真服務(wù) 管路流場(chǎng)仿真外包
    CAE仿真分析代做公司 CFD流體仿真服務(wù) 管路
    流體CFD仿真分析_代做咨詢服務(wù)_Fluent 仿真技術(shù)服務(wù)
    流體CFD仿真分析_代做咨詢服務(wù)_Fluent 仿真
    結(jié)構(gòu)仿真分析服務(wù)_CAE代做咨詢外包_剛強(qiáng)度疲勞振動(dòng)
    結(jié)構(gòu)仿真分析服務(wù)_CAE代做咨詢外包_剛強(qiáng)度疲
    流體cfd仿真分析服務(wù) 7類仿真分析代做服務(wù)40個(gè)行業(yè)
    流體cfd仿真分析服務(wù) 7類仿真分析代做服務(wù)4
    超全面的拼多多電商運(yùn)營(yíng)技巧,多多開(kāi)團(tuán)助手,多多出評(píng)軟件徽y1698861
    超全面的拼多多電商運(yùn)營(yíng)技巧,多多開(kāi)團(tuán)助手
    CAE有限元仿真分析團(tuán)隊(duì),2026仿真代做咨詢服務(wù)平臺(tái)
    CAE有限元仿真分析團(tuán)隊(duì),2026仿真代做咨詢服
    釘釘簽到打卡位置修改神器,2026怎么修改定位在范圍內(nèi)
    釘釘簽到打卡位置修改神器,2026怎么修改定
  • 短信驗(yàn)證碼 寵物飼養(yǎng) 十大衛(wèi)浴品牌排行 suno 豆包網(wǎng)頁(yè)版入口 wps 目錄網(wǎng) 排行網(wǎng)

    關(guān)于我們 | 打賞支持 | 廣告服務(wù) | 聯(lián)系我們 | 網(wǎng)站地圖 | 免責(zé)聲明 | 幫助中心 | 友情鏈接 |

    Copyright © 2025 hfw.cc Inc. All Rights Reserved. 合肥網(wǎng) 版權(quán)所有
    ICP備06013414號(hào)-3 公安備 42010502001045

    国产人妻人伦精品_欧美一区二区三区图_亚洲欧洲久久_日韩美女av在线免费观看
    一女被多男玩喷潮视频| 国产在线视频不卡| 日韩亚洲国产中文字幕| 国产福利精品av综合导导航| 97精品视频在线观看| 国产精品一二三在线| 国产免费一区二区三区四在线播放| 精品少妇人妻av一区二区| 欧美老熟妇喷水| 欧美精品在线一区| 麻豆av一区| 国产欧美在线一区二区| 成人a免费视频| 久久久一本精品99久久精品66| 99www免费人成精品| www日韩av| 91国在线精品国内播放| 国产精品18久久久久久首页狼| 2019日本中文字幕| 日韩中文字幕不卡视频| 国产精品久久久久9999| 久久久久国产精品www| 亚洲国产精品www| 日本欧美视频在线观看| 欧美日韩一区二区视频在线观看| 精品一区二区日本| 99在线免费观看视频| 99国产精品久久久久老师| 国产高清精品在线观看| www.国产一区| 精品蜜桃传媒| 亚洲自拍中文字幕| 日韩网址在线观看| 国产在线精品二区| 91精品天堂| 久久精品成人欧美大片古装| 久久91亚洲精品中文字幕| 午夜精品久久久久久久无码| 青青成人在线| 国产视频一区二区不卡| 久久一区二区三区欧美亚洲| 国产精品三区在线| 尤物一区二区三区| 日韩美女中文字幕| 国内成+人亚洲| 91精品国产色综合| 久久久久久国产精品一区| 久久久av免费| 亚洲一区二区三区乱码| 欧美在线视频一区二区三区| 国产免费一区二区三区| 国产成人精品电影| 久久99久国产精品黄毛片入口| 日韩人妻无码精品久久久不卡| 激情婷婷综合网| 久久综合毛片| 国产精品久久久久7777婷婷| 午夜精品久久久久久久久久久久 | 久久久久久久爱| 欧美激情视频一区二区| 精品欧美一区二区精品久久| 91精品国产网站| 色综合久久中文字幕综合网小说| 欧美最猛性xxxx| 国产精品99久久久久久人 | 国产精品视频专区| 日韩国产高清一区| 97久久精品在线| 国产精品免费入口| 日韩视频在线免费看| 91精品国产91久久久久久不卡| 精品国产_亚洲人成在线| 欧美一级大胆视频| 国产不卡精品视男人的天堂| 亚洲中文字幕无码中文字| 国产最新精品视频| 国产成人无码av在线播放dvd| 无码内射中文字幕岛国片| 成人国产精品色哟哟| 久久99亚洲精品| 精品亚洲欧美日韩| 久久精品青青大伊人av| 欧美专区日韩视频| 2019日本中文字幕| 天天干天天色天天爽| 91精品国产综合久久久久久蜜臀| 欧美精品久久久久久久| 国产免费成人在线| 国产精品久久久久久久久免费| 欧美亚洲视频在线看网址| 久久国产精品精品国产色婷婷| 婷婷精品国产一区二区三区日韩| 99视频日韩| 午夜免费福利小电影| 久久视频这里有精品| 无码日韩人妻精品久久蜜桃| 久久视频在线观看中文字幕| 欧美一级视频一区二区| 成人短视频在线观看免费| 在线观看国产一区| 91久久久久久久久久久久久| 亚洲国产精品一区二区第四页av| chinese少妇国语对白| 亚州成人av在线| 久久精品国产sm调教网站演员| 日本不卡在线播放| 久久久久北条麻妃免费看| 国内一区二区三区在线视频 | 日韩视频免费观看| 黄色99视频| 不卡伊人av在线播放| 国产在线精品一区二区中文| 欧美日本黄视频| 91精品久久久久久久久青青| 日韩av123| 国产成人精品午夜| 国产日韩欧美夫妻视频在线观看| 欧美日韩国产成人| 国产成人一区二区三区免费看| 欧美亚洲免费高清在线观看| 国产精品电影观看| 97人人模人人爽人人喊38tv| 日韩免费av片在线观看| 国产精品露脸自拍| 成人h视频在线| 日韩视频一二三| 欧美成人在线免费| 91国在线高清视频| 欧美黄网在线观看| 亚洲一区二区三区在线视频| 国产成人精品一区二区三区福利| 国产一区福利视频| 天堂√在线观看一区二区 | 久久久www成人免费精品| 国产系列第一页| 国产精品爽爽爽| 不卡中文字幕在线| 欧美又粗又长又爽做受| 欧美激情一区二区三级高清视频| 久久久久久精| 浮妇高潮喷白浆视频| 日韩精品手机在线观看| 欧美精品生活片| 久久国产亚洲精品无码| 国产区二精品视| 欧美丰满熟妇xxxxx| 视频一区亚洲| 美女av一区二区| 精品国产依人香蕉在线精品| 国产精品99久久久久久人| 国产女人精品视频| 黄频视频在线观看| 日本黄网免费一区二区精品| 欧美精品xxx| 国产精品久久精品视| 国产v综合v亚洲欧美久久| av网址在线观看免费| 国模精品一区二区三区| 青青草影院在线观看| 色噜噜色狠狠狠狠狠综合色一| 久久91亚洲精品中文字幕| 国产精品免费久久久| 久久久久久亚洲精品不卡| 91久久精品国产91性色| 国产三区精品| 黄色一区三区| 热门国产精品亚洲第一区在线| 亚洲狠狠婷婷综合久久久| 欧美日韩国产999| 麻豆成人在线看| 久久精品视频免费播放| 久久人人爽人人爽人人片av高清 | 日本久久久精品视频| 亚洲a在线观看| 亚洲精品一区国产精品| 亚洲最新免费视频| 在线观看亚洲视频啊啊啊啊| 精品国产乱码久久久久久108 | 国产高清在线不卡| av免费精品一区二区三区| 国产精品有限公司| 国产区欧美区日韩区| 国产网站免费在线观看| 国产精品自拍偷拍视频| 成人免费观看a| 91九色在线观看视频| 91精品免费| 国产精品678| 777午夜精品福利在线观看| 91国在线高清视频| 久久涩涩网站| 日韩在线视频观看| 日韩在线高清视频| 国产精品视频久久| 国产精品成人v| 一区二区精品国产| 色中色综合成人| 欧美在线亚洲一区| 国产日韩精品电影| 97成人在线视频|