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;">

                一区二区三区产品免费精品久久75| 欧美在线观看一区二区| 精品黑人一区二区三区久久| 福利电影一区二区| 国内欧美视频一区二区| 国模大尺度一区二区三区| 亚洲成av人片www| 日本在线不卡视频| 日韩经典中文字幕一区| 亚洲电影中文字幕在线观看| 欧美韩国日本综合| 1000部国产精品成人观看| 国产日韩欧美综合在线| 国产精品乱子久久久久| 国产精品嫩草影院av蜜臀| 中文在线一区二区| 亚洲一区在线播放| 肉丝袜脚交视频一区二区| 天天做天天摸天天爽国产一区| 激情欧美一区二区| 96av麻豆蜜桃一区二区| 91精品国产综合久久久久久久 | 欧美疯狂性受xxxxx喷水图片| 欧美日韩亚洲国产综合| 精品日韩av一区二区| 亚洲精品成人悠悠色影视| 久久99精品国产.久久久久| 国产九色精品成人porny| 成人丝袜高跟foot| 91麻豆精品91久久久久同性| 国产精品久久毛片av大全日韩| 亚洲美女视频在线| 91小视频在线观看| 久久先锋资源网| 国产精品国产三级国产有无不卡| 91在线精品一区二区| 亚洲欧洲精品一区二区精品久久久| 亚洲中国最大av网站| 成人激情小说乱人伦| 日韩欧美美女一区二区三区| 成人免费在线观看入口| 国产精品亚洲综合一区在线观看| 欧洲av在线精品| 亚洲精品福利视频网站| 欧美在线一区二区| 丝袜美腿成人在线| 欧美色爱综合网| 日韩精品国产精品| 制服丝袜一区二区三区| 午夜国产精品一区| 久久先锋影音av鲁色资源| 久久成人羞羞网站| 国产视频一区不卡| 色国产综合视频| 麻豆国产精品一区二区三区| 久久日韩粉嫩一区二区三区| 国产盗摄视频一区二区三区| 国产精品美女久久福利网站| 色老综合老女人久久久| 男人的j进女人的j一区| 久久久综合网站| 在线看国产一区| 久久99国产精品成人| 亚洲色图欧美激情| 精品91自产拍在线观看一区| 欧美日韩综合色| 国产91精品一区二区| 秋霞av亚洲一区二区三| 国产精品久99| 国产日韩v精品一区二区| 欧美日本乱大交xxxxx| 成人精品视频网站| 国产电影精品久久禁18| 日韩经典一区二区| 亚洲制服丝袜一区| 国产精品免费久久久久| 久久久影视传媒| 久久综合av免费| 亚洲精品一线二线三线| 精品999在线播放| 2024国产精品| 日韩免费电影网站| 欧美成人官网二区| 国产女同性恋一区二区| 久久久久久**毛片大全| 精品成人a区在线观看| 日韩视频在线一区二区| 久久久久久免费| 国产精品久久久久天堂| 一区二区三区四区中文字幕| 夜夜精品浪潮av一区二区三区| 一区二区视频在线| 日韩精品一卡二卡三卡四卡无卡| 日韩av一区二区在线影视| 精品黑人一区二区三区久久| 国产精品久久久一本精品| 欧美tk丨vk视频| 日韩欧美一级二级| 国产亚洲精品7777| 亚洲精品v日韩精品| 精品一区二区三区免费毛片爱| 捆绑变态av一区二区三区| 懂色av一区二区三区免费看| 91视频观看视频| 日韩一区二区免费在线电影| 国产欧美一区二区精品性色超碰| 亚洲综合成人在线视频| 国产乱码字幕精品高清av| 欧美日韩国产首页| 国产清纯白嫩初高生在线观看91 | 99久久精品99国产精品| 日韩一级精品视频在线观看| 日韩毛片一二三区| 精品一区二区精品| 91 com成人网| 日韩av高清在线观看| 欧美曰成人黄网| 午夜一区二区三区视频| 欧美日韩国产乱码电影| 国产精品视频线看| 99re热视频这里只精品| 亚洲区小说区图片区qvod| 韩国一区二区在线观看| 日韩精品在线一区| 国产精品456露脸| 国产精品丝袜91| 91久久免费观看| 亚洲va中文字幕| 精品三级av在线| 成人精品免费网站| 亚洲愉拍自拍另类高清精品| 91麻豆精品国产91| 成人一级黄色片| 亚洲国产裸拍裸体视频在线观看乱了 | 欧美一区二区播放| 亚洲免费看黄网站| 99精品1区2区| 日韩中文字幕一区二区三区| 久久久久久久久久看片| 欧美日韩你懂得| 麻豆免费精品视频| 日本一二三四高清不卡| 日本久久电影网| 国产在线精品一区在线观看麻豆| 国产欧美一区二区精品性色超碰| 色综合天天性综合| 国产一区二区三区不卡在线观看 | 亚洲一二三区视频在线观看| 国产亚洲va综合人人澡精品| 91精品国产免费| 在线免费观看日韩欧美| 色哟哟一区二区| 91丨porny丨首页| 国产三级欧美三级| 欧美午夜宅男影院| 色综合天天综合网天天看片| 国内偷窥港台综合视频在线播放| 亚洲激情图片小说视频| 一区在线播放视频| 国产精品免费视频一区| 国产精品视频第一区| 欧美激情在线看| 国产精品成人网| 久久久久国产一区二区三区四区| 91久久香蕉国产日韩欧美9色| 91亚洲午夜精品久久久久久| 风间由美一区二区三区在线观看| 激情久久久久久久久久久久久久久久 | 亚洲黄色性网站| 国产精品女同一区二区三区| 日韩三级视频在线看| 国产亚洲综合av| 亚洲男女毛片无遮挡| 亚洲最新在线观看| 老司机一区二区| 91在线码无精品| 日韩久久久精品| 亚洲免费av高清| 老汉av免费一区二区三区| 国产91精品一区二区麻豆网站| 在线观看免费视频综合| 精品免费视频一区二区| 亚洲欧美日韩国产综合| 日韩av在线免费观看不卡| 播五月开心婷婷综合| 91精品欧美福利在线观看| 亚洲女同ⅹxx女同tv| 狠狠色丁香婷婷综合久久片| 色av综合在线| 亚洲免费色视频| 91免费视频网址| 中文字幕佐山爱一区二区免费| 麻豆国产精品视频| 51久久夜色精品国产麻豆| 国产精品欧美综合在线| 国产老女人精品毛片久久| 欧美日韩在线一区二区| 亚洲福利电影网| 欧美日韩中文字幕精品| 亚洲成人免费av|