به نام خدا پروژه درس سیستمهای عامل -۱بخش اول دانشگاه صنعتی شریف -دانشکده مهندسی کامپیوتر ترم اول سال تحصیلی ۹4-۹5 مهلت ارسال این تمرین ساعت 23:59روز 51آبان 5931می باشد. مستندات خود را به آدرس [email protected]ارسال نمایید. این پروژه به صورت انفرادی می باشد. دقت نمایید که پاسخ ها تنها در قالب یک فایل pdfبوده و نام آن و عنوان ایمیل ارسالی با فرمت (P1-92929292) P1-StudentIDارسال گردد. پاسخهایی که با این فرمت ارسال نشوند در هنگام تصحیح با مشکل مواجه خواهند شد. این تمرین دارای یک ارایه حضوری نیز میباشد که تاریخ آن متعاقبا اعالم خواهد شد. ارسال پاسخ ها به ازای هر روز تاخیر شامل ٪۵5کسر نمره خواهد شد و بعد از سه روز به آن نمره ای تعلق نمیگیرد. در صورت شباهت تمرینات ارسالی و احراز رونوشت بودن آنها برای هر دو نفر نمره صفر در نظر گرفته میشود. توضیحات تکمیلی در مورد چگونگی انجام و تحویل این پروژه در روز یکشنبه 9آبان 5931در کالس 401ساعت 59–54ارایه میشود. حضور در کالس اجباری نیست ولی شدیدا توصیه میشود. هرگونه سوال یا ابهام خود را با آقای زرگر به ایمیل [email protected]در میان بگذارید.درس سیستمهای عامل شامل دو پروژه مقدماتی و نهایی میباشد .هدف از انجام پرروژه مقدماتی آشنایی دانشجویان با سیستم عامل FreeBSD و همچیین بدست آوردن توانایی ایجاد تغییرات در هسته میباشد .یادگیری مهارتهای ذکر شده برای انجام پروژه نهایی درس ضرروری میباشد و توصیه میشود دانشجویان وقت کافی برای انجام پروژه مقدماتی اختصاص دهند تا در انجام پروژه نهایی دچار مشکل نشوند .این پروژه شامل سه بخش میباشد که در مورد هر کدام از آنها در ادامه توضیحاتی داده شده است. -5نصب سیستم عامل و ابزارهای مورد نیاز برای کامپایل هسته در این بخش دانشجویان باید سیستم عامل FreeBSDرا بر روی یک ماشین مجازی نصب کرده و بعد از مطالعه منابع موجود در اینترنت ابزارهای مورد نیاز برای کامپایل هسته را نیز نصب نمایند .در ادامه نیز هسته سیستم عامل را یک بار کامپایل کرده و وارد آن شوند .نام هسته کامپایل شده باید با نام هسته عمومی متفاوت باشد. 1 -۵حذف ابزارهای غیرضروری از هسته در این بخش باید با ایجاد تغییرات در فایلهای تنظیمات هسته و حذف بخشهای غیرضروری هسته ،حجم هسته سیستم عامل کاهش یابد. حجم هسته اصلی و هسته کم حجم باید با یک دیگر مقایسه شده و مواردی که از هسته حذف شدهاند نیز بیان شود .حداقل تعداد امکانات حذف شده در سطح هسته باید ۱۱مورد باشد که برای هر کدام دلیل موجهی برای حذف باید بیان شود .همچنین معیار درستی این عمل، کارکرد صحیح هستهی سبک شده میباشد. -۳پیاده سازی و استفاده از چند فراخوانی سیستمی در این بخش باید یک فراخوانی سیستمی ( )system callرا پیاده سازی کنید که با دریافت شناسه ( )PIDیک پردازه ( ،)Processشناسه و وضعیت ( )stateتمام فرزندان آن را با ترتیب DFSاستخراج کند و برگرداند .همانطور که میدانید هر رکورد پردازه حاوی اطالعاتی نظیر شناسه پردازه ،وضعیت ،آمارهای زمان اجرا ،شناسه پردازه پدر ،فرزند اول و برادر است .فراخوانی سیستمی که پیاده سازی میکنید حداقل ۳ آرگومان زیر را به عنوان ورودی دریافت میکند( :در صورت نیاز می توانید از آرگومان ورودی دیگری نیز استفاده کنید) .1شناسه پردازه .2یک بافر برای ذخیره سازی خروجی در آن .3یک مقدار integerکه طول بافر را مشخص میکند برای تست فراخوانی سیستمی پیاده سازی شده نیز یک برنامه کوچک در سطح کاربر توسعه دهید تا با دریافت شناسه پردازه از کاربر و با استفاده از فراخوانی سیستمی پیادهسازی شده ،فرزندان پردازه و stateهر یک را چاپ کند. موارد مورد انتظار برای تحویل )۱روند نصب و اجرای نسخه استاندارد ( FREE BSDمستند ) )۵توضیحاتی مختصر در مورد نحوه پیدا کردن و اعمال تغییرات روی هسته سیستم عامل ( مستند ) )۳چگونگی و روند انجام سبک سازی هسته سیستم عامل ( مستند ) )4موارد حذف شده از روی هسته سبک شده و دلیل حذف آن امکان خاص ( مستند و حضوری ) )5نسخهی جدید و قابل اجرای سیستم عامل ( ارایه حضوری ) )۶چگونگی و روند پیاده سازی فراخوانی سیستمی خواسته شده ( مستند ) )۷کد و نسخهی قابل اجرای برنامه تست خواسته شده ( ارایه حضوری ) موفق باشید شاهرخی 2
© Copyright 2026 Paperzz