You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Student Name of member 1: Hamraz Arafati / همراز عرفاتی
Student No. of member 1: 99109799
Student Name of member 2: Amirhossein Abedi / امیرحسین عابدی
Student No. of member 2: 99105594
Read Session Contents.
Section 5.3.1
Write the Hello World! program
Write the ls to wc program
Investigate how to have a bi-direction pipe
همانطور که دیدیم روشی که در قسمت قبل استفاده کردیم یکسویه است به این معنی که والد فقط مینویسد و فرزند فقط میخواند. یک روش ساده برای بدست آوردن ارتباط دو سویه این است که از دو پایپ استفاده کنیم. یک پایپ مخصوص نوشتن پیامهای والد و دیگری مخصوص نوشتن پیامهای فرزند است و دو پردازه با هم هماهنگ هستند که برای نوشتن و خواندن از کدام استفاده کنند. یک روش دیگر هم استفاده از socketpair است. این روش مانند pipe کار میکند با این فرق که انعطافپذیری بیشتری از لحاظ خواندن و نوشتن دوسویه به ما ارائه میدهد.
Section 5.3.2
Describe the usecase of different signals:
از این سیگنال برای ارسال interrupt به یک پردازه استفاده میشود که معمولا توسط ctrl-c ساخته میشود. از این سیگنال استفاده میشود که یک پردازه در حال اجرا را پایان دهد.
این سیگنال، سیگنال Hang up میباشد که در گذشته برای این استفاده میشده است که به یک پردازه اطلاع دهد که ترمینال در حال اجرای آن بسته شده است. امروزه از این سیگنال برای این استفاده میشود که به پردازههایی که در پسزمینه در حال اجرا هستند اطلاع داده شود که بدون اینکه restart شوند و یا از اول شروع به کار کنند، فایل config خود را دوباره نگاه کنند.
از این سیگنال برای این استفاده میشود که یک پردازه در حال اجرا را متوقف کند. از این سیگنال برای دیباگ و یا توسط سیستم برای scheduling استفاده میشود. همینطور این سیگنال بر خلاف SIGSTP قابل ایگنور و یا هندل کردن نیست.
با استفاده از این سیگنال، پردازهای که توسط SIGSTOP و یا SIGSTP متوقف شده است ادامه به کار میدهد.
این سیگنال به کار یک پردازه پایان میدهد. این سیگنال به صورت force اجرا میشود. این سیگنال در کنار SIGSTOP تنها دو سیگنالی هستند که نمیتوانند هندل و یا ایگنور شوند.
Describe SIGALRM
این سیگنال به طور معمول توسط تابع alarm فرستاده میشود. این تابع بعد از منقضی شدن زمان داده شده به آن به همین پردازه یک سیگنال SIGALRM میفرستند. این سیگنال استفاده های زیادی دارد به طور مثال میتوانیم از آن برای پیادهسازی timeout استفاده کنیم به طوری که اگر زمان مشخصی از یک اتفاق گذشت تایماوت داشته باشیم. همینطور میتوانیم از آن برای پیادهسازی کارهای دورهای استفاده کنیم. به طور مثال اگر کاری قرار است هر ۶۰ ثانیه یکبار رخ دهد میتوانیم از alarm و با فرستادن سیگنال SIGALRM استفاده کنیم. به طور کلی این سیگنال برای فرستادن یک زنگ از پیش تعیین شده برای پردازه استفاده میشود.
Investigate the given code
این کد در ابتدا تنظیم میشود که ۵ ثانیه بعد از اجرای خط alarm یک سیگنال SIGALRM به پردازه ارسال کند. بعد از اینکه خط Looping چاپ شد و برنامه وارد لوپ شد، بعد از چندثانیه سیگنال SIGALRM به پردازه میرسد. چون از قبل هندلری برای این سیگنال تعریف نشده است، هندلر دیفالت برای این سیگنال صدا زده میشود که چاپ Alarm clock و terminate شدن برنامه است.
Team Name:
99109799-99105594
Student Name of member 1:
Hamraz Arafati / همراز عرفاتی
Student No. of member 1:
99109799
Student Name of member 2:
Amirhossein Abedi / امیرحسین عابدی
Student No. of member 2:
99105594
Section 5.3.1
Write the
Hello World!
programWrite the
ls
towc
programInvestigate how to have a bi-direction pipe
Section 5.3.2
Describe the usecase of different signals:
Describe SIGALRM
Investigate the given code
Modify the given program by handling SIGALRM
Write a program that handles Ctrl + C
source.codes.zip
The text was updated successfully, but these errors were encountered: