加勒比久久综合,国产精品伦一区二区,66精品视频在线观看,一区二区电影

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

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

    合肥圖文信息
    2025年10月份更新拼多多改銷助手小象助手多多出評軟件
    2025年10月份更新拼多多改銷助手小象助手多
    有限元分析 CAE仿真分析服務-企業/產品研發/客戶要求/設計優化
    有限元分析 CAE仿真分析服務-企業/產品研發
    急尋熱仿真分析?代做熱仿真服務+熱設計優化
    急尋熱仿真分析?代做熱仿真服務+熱設計優化
    出評 開團工具
    出評 開團工具
    挖掘機濾芯提升發動機性能
    挖掘機濾芯提升發動機性能
    海信羅馬假日洗衣機亮相AWE  復古美學與現代科技完美結合
    海信羅馬假日洗衣機亮相AWE 復古美學與現代
    合肥機場巴士4號線
    合肥機場巴士4號線
    合肥機場巴士3號線
    合肥機場巴士3號線
  • 短信驗證碼 目錄網 排行網

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

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

    欧美一区免费| 91久久电影| 羞羞视频在线观看欧美| 久久电影一区| 婷婷成人综合| 日韩不卡一二三区| 日日夜夜精品免费视频| 国产传媒在线| 日韩午夜高潮| 成人免费av| 日韩av高清在线观看| 日韩国产欧美一区二区三区| 色喇叭免费久久综合| 婷婷成人基地| 亚洲a在线视频| 青草伊人久久| 亚洲免费福利一区| 欧美人成在线| 国产精品久久久久久久久久齐齐| 三级影片在线观看欧美日韩一区二区| 色天天色综合| 福利欧美精品在线| 国产精久久一区二区| 日韩成人av在线资源| 日本在线播放一区二区三区| 韩国精品主播一区二区在线观看| 老司机午夜免费精品视频| 亚洲成人tv| 韩国精品福利一区二区三区| 亚欧日韩另类中文欧美| 看片网站欧美日韩| 欧美在线免费| 色999久久久精品人人澡69| av综合电影网站| 欧美独立站高清久久| 99pao成人国产永久免费视频| 久久国产精品成人免费观看的软件| 亚洲亚洲一区二区三区| 日韩二区在线观看| 欧美日本成人| 亚洲裸色大胆大尺寸艺术写真| 亚洲巨乳在线| 欧美精品不卡| 伊人久久大香| 国产一区二区三区精品在线观看| 日本成人在线视频网站| 久久在线精品| 在线精品观看| 亚洲深深色噜噜狠狠爱网站| 日本成人在线一区| 在线观看欧美| 国产欧美欧美| 日韩三级精品| 欧美激情15p| 久久精品欧美一区| 欧美成人国产| 野花国产精品入口| 久久高清免费观看| 日本在线观看不卡视频| 影音先锋亚洲一区| 99精品视频网| 日本欧美韩国一区三区| 欧美aaaaa成人免费观看视频| 久久一区亚洲| 国产成人视屏| 婷婷综合成人| 国产精品极品| 999国产精品| 欧美婷婷在线| 六月婷婷一区| 免费看男女www网站入口在线| 97欧美成人| 麻豆国产精品777777在线| 亚洲人体在线| 日韩在线成人| 激情久久久久久| 久久亚洲不卡| 日韩精品中文字幕吗一区二区| 亚洲国产国产亚洲一二三| 日日噜噜夜夜狠狠视频欧美人| 亚洲综合小说| 日韩最新在线| 久久久综合网| 欧美在线综合| 99久久久国产精品免费调教网站 | 人人鲁人人莫人人爱精品| 亚洲国产综合在线观看| 欧美激情四色| 伊人精品综合| 午夜影院欧美| av资源新版天堂在线| 欧美在线首页| 国产日韩视频在线| 亚洲a在线视频| 热久久久久久久| 99久久综合国产精品二区| 国产在线不卡一区二区三区| 国产日韩欧美中文在线| 不卡在线一区| 欧美日韩免费观看视频| 中文字幕免费一区二区| 黄色欧美网站| 亚洲一区免费| 日精品一区二区| 激情小说亚洲图片| 午夜亚洲一区| 美女高潮久久久| 91蜜桃臀久久一区二区| 自拍日韩欧美| 四虎国产精品永久在线国在线 | 成人免费观看49www在线观看| 成人免费在线电影网| 亚洲欧美日韩国产一区| 国产精品久久777777毛茸茸| 日本午夜精品| 中文亚洲欧美| 日韩国产精品久久| 精品丝袜久久| 91精品影视| 日本亚洲视频| 噜噜噜在线观看免费视频日韩| 欧美在线看片| 九色丨蝌蚪丨成人| 91综合在线| 国产欧美日韩| 国产一区二区精品| 欧美人成在线| 蜜桃tv一区二区三区| 羞羞视频在线观看一区二区 | 欧美日韩水蜜桃| 黄在线观看免费网站ktv| 91视频亚洲| 欧洲乱码伦视频免费| 国产在线|日韩| 51vv免费精品视频一区二区| 亚洲欧美日韩精品一区二区| 一区二区中文| 在线精品小视频| 在线观看视频日韩| 午夜久久久久| 一区二区电影在线观看| 午夜国产精品视频| 亚洲国产精品一区| 亚洲精品网址| a一区二区三区亚洲| 一本一本久久| 国产成人1区| 蜜臀久久99精品久久久久久9 | 色爱av综合网| 久久天堂影院| 久久久久久久久久久妇女| 91tv亚洲精品香蕉国产一区| 综合欧美亚洲| 国产69精品久久| 欧美天天综合| 亚洲深深色噜噜狠狠爱网站| 黄色综合网站| 亚洲精品推荐| 桃色av一区二区| 久久精品动漫| 影音先锋久久资源网| 一区三区视频| 欧美人与拘性视交免费看| 色喇叭免费久久综合网| 北条麻妃一区二区三区在线| 国产综合色在线观看| 亚洲网址在线| 国产精品亚洲欧美一级在线| 美女诱惑黄网站一区| 天堂av一区| 国产美女久久| 午夜日韩激情| 亚洲黄页在线观看| 成人免费网站www网站高清 | 蜜桃a∨噜噜一区二区三区| 亚洲国产激情| www.51av欧美视频| 91精品一区二区三区综合在线爱 | 日韩黄色大片网站| 欧美肉体xxxx裸体137大胆| 一区二区三区四区电影| 美女91在线看| 激情综合视频| 日韩中文字幕无砖| 日韩黄色三级在线观看| 男人的天堂成人在线| 国产一级成人av| aa亚洲一区一区三区| 欧美aa一级| 欧洲杯什么时候开赛| 日韩1区2区3区| 日日夜夜免费精品| 日韩综合一区| 最新精品国产| 亚洲网址在线观看| 日本va欧美va瓶| 日韩在线视屏| av不卡在线| 99精品视频在线| 日韩三级av|