هذا مشروع لمادة أنظمة التشغيل في السنة الثانية من علوم الكمبيوتر في جامعة لاكورونيا. جميع المهام موجودة في مجلد labAssignments مع وصف لكل وظيفة.
يتكون البرنامج من غلاف مشابه لما يفعله bash وzsh، مع بعض الوظائف المضمنة وكذلك القدرة على تشغيل أي أمر آخر على نظام *nix.
يمكنك الحصول على قائمة بجميع الوظائف المضمنة عن طريق تشغيل الأمر " ayuda "، ووصف صغير لكل وظيفة عن طريق تشغيل أمر " ayuda " وهو الأمر الذي ترغب في معرفته. يمكنك أيضًا تشغيل أي أمر آخر مثبت في نظامك كما هو الحال في أي Shell آخر طالما أن الاسم لا يتعارض مع الأوامر المضمنة. للخروج من الصدفة يمكنك تشغيل salir أو fin أو Bye أو Exit
يجب أن يكون لديك gcc مثبتًا على نظام تشغيل *nix مثل Linux BSD أو MacOS، ويمكنك تجميعه باستخدام:
make
وتشغيله مع:
./shell
الكود الخاص بنا مقسم إلى ملفات مختلفة لتسهيل العمل والفهم.
يحتوي على الوظيفة الرئيسية بالإضافة إلى وظائف المطالبة والمعالجة.
يحتوي على جميع الرؤوس لكل وظيفة باستثناء القائمة المحددة مع وصف صغير. تضمين كافة المكتبات التي نستخدمها. يحدد البنيات وأنواع البيانات المستخدمة في التعليمات البرمجية.
لقد اخترنا استخدام تطبيق واحد فقط للقائمة لحفظ أنواع مختلفة من القيم المحددة في وقت الإنشاء، ويمكنك التحقق من إنشاء تلك القوائم في الوظيفة الرئيسية في p4.c.
تحتوي على قائمة الأوامر والوظائف الأساسية لتلك الأوامر، رغم أن معظمها يعتمد على وظائف مساعدة.
يحتوي على جميع الوظائف الأخرى التي لا تتناسب مع الفئات السابقة. قررنا فصل جزء كبير من الكود في Commands.c لتسهيل التنقل فيه.