My favorites | Sign in
Project Home Wiki Issues Source
READ-ONLY: This project has been archived. For more information see this post.
Search
for
Zadani  

Phase-Requirements
Updated Oct 9, 2011 by dyrc...@gmail.com

Přepsáno z coursewearu

Povinné příkazy shellu

Ke každému příkazu automaticky psát nápovědu do příkazu man.

cat - vypíše soubor

cd - změní pracovní adresář shellu

echo - vypíše zprávu

exit - ukončí shell

kill - ukončí proces

ls - vypíše obsah pracovního adresáře; ls - vypisuje aktuální adresář; ls rel_cesta; ls abs_cesta

man - vypíše stručnou nápovědu a všechny implementované příkazy

ps - vypíše všechny procesy v modelu (výpis kompletně všech procesů - kvůli ladění)

pwd - vypíše pracovní adresář shellu

shell - spustí shell (lze spouštět rekurzivě)

shutdown - ukončí běh modelu; ne pouhé volání Sytem.exit, ale volání služby, která nejprve ukončí všechny procesy, ... a až na konec zavolá System.exit (pouze pokud je potřeba)

sort - seřadí řádky ze vstupu a vypíše je na výstup

Uchovávejte historii příkazů

Každý z uvedených příkazů musí obsahovat jednodnotnou možnost získání nápovědy o funkci, možných parametrech atd. man

Další rozšíření

jednouživatelský, víceúlohový systém

prompt musí ukazovat celou cestu k aktuálnímu adresáři (lepší testování)

Doporučený postup

1. Napište si terminálové okno.

2. Navrhněte gramatiku pro shell.

3. Navrhněte a implementujte syntaktický analyzátor.

4. Navrhněte strukturu modelu.

5. Udělejte propojení na souborový systém, napište váš cat a ukažte jeho funkčnost.

6. Doplňte model o vykonávání příkazů shellu v hierarchii virtuálních strojů - init, login, shell, program xyz, ...

7. Přidejte přesměrování a roury.

8. Napište další programy pro příkazy shellu, logout, shell, date, ...

9. Model můžete rozšířit o send a receive mezi uživateli, vykonávání v pozadí, příkazy bg a fg.

10. K historii příkazů uchovávejte i adresáře, ve kterých byly použity

11. Dokončete detaily.

12. Testujte.

Powered by Google Project Hosting