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爱在线视频这里只有精品_窝窝午夜看片成人精品_日韩精品久久久毛片一区二区_亚洲一区二区久久

          一本色道久久加勒比精品| 欧美午夜在线一二页| 一本久道综合久久精品| 欧美日韩午夜| 亚洲综合日韩| 激情偷拍久久| 久久网站热最新地址| 日韩天堂av| 欧美调教视频| 牛牛影视久久网| 亚洲一区二区影院| 亚洲国产精品一区二区www| 国产精品入口尤物| 国产精品成人午夜| 欧美日韩一区二区在线| 免费久久99精品国产| 午夜视频精品| 中文一区在线| 亚洲国产精品t66y| 国产性做久久久久久| 欧美日韩精品一区二区三区四区 | 国产精品高潮呻吟久久av无限 | 久久精品亚洲一区| 欧美精品色综合| 国产日韩精品久久| 亚洲日本欧美| 亚洲国产精品va在线看黑人| 国产精品美女xx| 国产精品成人免费| 激情成人在线视频| 亚洲二区在线观看| 亚洲美女淫视频| 亚洲网友自拍| 亚洲一区二区三区在线| 亚洲国产裸拍裸体视频在线观看乱了中文 | 久久精品国产99精品国产亚洲性色| 欧美一区二区观看视频| 久久久蜜桃精品| 免费成人在线观看视频| 你懂的国产精品| 欧美大胆成人| 欧美日精品一区视频| 国产精品vvv| 国内一区二区三区在线视频| 国内成+人亚洲+欧美+综合在线| 国产亚洲精品aa午夜观看| 亚洲国产电影| 欧美一区二区网站| 欧美色视频日本高清在线观看| 国产精品高清网站| 国产日韩欧美不卡在线| 亚洲国产精品久久久久婷婷884| 欧美一区二区高清| 亚洲日韩成人| 欧美午夜在线一二页| 久久精品国产久精国产爱| 亚洲欧洲在线一区| 国产午夜精品久久久久久免费视| 欧美大学生性色视频| 亚洲欧美电影院| 影音先锋另类| 亚洲视频一二| 欧美日韩在线精品一区二区三区| 在线观看欧美黄色| 久久精品国产77777蜜臀| 国产精品盗摄久久久| 夜夜狂射影院欧美极品| 欧美日韩综合| 亚洲乱码国产乱码精品精可以看 | 国产亚洲在线| 欧美亚洲色图校园春色| 国产精品成av人在线视午夜片| 精品1区2区3区4区| 久久深夜福利免费观看| 亚洲国产欧美一区二区三区久久 | 欧美日韩精品一区视频| 日韩网站在线| 国产精品毛片在线看| 亚洲欧美资源在线| 欧美日韩亚洲综合一区| 欧美激情成人在线视频| 欧美激情 亚洲a∨综合| 欧美福利视频| 欧美精品一级| 欧美日韩大片| 欧美日韩在线播放一区| 欧美日韩综合不卡| 欧美色大人视频| 国产精品入口夜色视频大尺度| 欧美三区视频| 午夜免费在线观看精品视频| 在线播放不卡| 国产日韩高清一区二区三区在线| 亚洲视频免费在线| 国产精品一区免费视频| 欧美成人亚洲成人| 小辣椒精品导航| 亚洲三级色网| 黄色精品网站| 欧美日韩直播| 农夫在线精品视频免费观看| 亚洲午夜91| 亚洲啪啪91| 亚洲黄色尤物视频| 伊人久久大香线蕉综合热线| 欧美日韩国产影片| 久久在精品线影院精品国产| 亚洲一区视频| 正在播放亚洲一区| 亚洲自拍偷拍色片视频| 亚洲一级黄色片| 午夜亚洲一区| 西西裸体人体做爰大胆久久久| 亚洲一二三四区| 免费在线播放第一区高清av| 欧美巨乳波霸| 国产精品都在这里| 国产伦精品一区二区三区免费| 欧美日韩亚洲天堂| 亚洲第一精品久久忘忧草社区| 在线一区二区日韩| 欧美激情va永久在线播放| 亚洲二区在线观看| 久久久一区二区| 国产日韩精品一区观看| 亚洲精品乱码久久久久久蜜桃91| 久久久国产精品一区二区中文| 国产精品看片资源| 欧美在线3区| 欧美一区二区三区四区在线观看地址| 欧美一区二区三区在线| 午夜精品久久久久| 欧美国产在线电影| 国产综合色产| 欧美在现视频| 欧美日韩一级大片网址| 尤物yw午夜国产精品视频| 亚洲精品1区2区| 久热精品视频在线| 在线免费观看一区二区三区| 一区二区欧美日韩视频| 久久国产主播精品| 国产午夜精品久久久| 亚洲一区中文| 欧美xxx在线观看| 在线精品国产欧美| 亚洲免费一级电影| 国产精品久久久亚洲一区| 韩国一区电影| 久久久精品日韩| 日韩午夜av电影| 国产又爽又黄的激情精品视频 | 亚洲欧洲精品一区二区三区| 欧美日韩在线播放三区四区| 欧美一区二区在线看| 亚洲美女免费视频| 亚洲精品裸体| 亚洲国产成人av| 韩国成人精品a∨在线观看| 欧美视频专区一二在线观看| 久久久久九九九九| 久久久999精品免费| 香蕉久久久久久久av网站| 亚洲激情第一页| 国产一区在线免费观看| 国产伦精品一区二区三区免费| 欧美性大战xxxxx久久久| 国产婷婷色综合av蜜臀av| 欧美午夜在线视频| 国产精品久久9| 国产精品久久久久久久电影 | 欧美精品一区二区三区蜜桃| 久久亚洲二区| 欧美成人午夜激情| 欧美成人首页| 欧美极品一区二区三区| 欧美日韩国产另类不卡| 久久夜色精品国产欧美乱| 欧美国产激情二区三区| 麻豆成人小视频| 欧美天天在线| 狠久久av成人天堂| 亚洲精品在线视频观看| 亚洲视频香蕉人妖| 欧美精彩视频一区二区三区| 免费观看成人| 国产日本欧美在线观看| 亚洲高清在线精品| 亚洲永久免费视频| 欧美成人免费一级人片100| 欧美久久成人| 国产在线拍揄自揄视频不卡99| 99精品视频免费| 欧美成人亚洲成人| 国产日韩1区| 午夜影院日韩| 欧美性一区二区| 夜夜嗨av色一区二区不卡| 久久偷看各类wc女厕嘘嘘偷窃| 欧美日韩亚洲一区三区|