SlideShare une entreprise Scribd logo
1  sur  42
Télécharger pour lire hors ligne
‫های‬ ‫سیستم‬ ‫آموزش‬‫عامل‬
faradars.org/fvsft103
‫مدرس‬:
‫شیرافکن‬ ‫فرشید‬
‫تهران‬ ‫دانشگاه‬ ‫دکتری‬ ‫دانشجوی‬
(‫ارشد‬ ‫کارشناسی‬ ‫و‬ ‫کارشناسی‬:‫افزار‬ ‫نرم‬ ‫کامپیوتر‬( )‫دکتری‬:‫انفورماتیک‬ ‫بیو‬)
‫عامل‬ ‫های‬ ‫سیستم‬
1
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫های‬ ‫سیستم‬ ‫آموزش‬‫عامل‬
faradars.org/fvsft103
2
‫پنجم‬ ‫فصل‬:
‫همروندی‬
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫های‬ ‫سیستم‬ ‫آموزش‬‫عامل‬
faradars.org/fvsft103
‫اولیه‬ ‫مفاهیم‬
‫همگام‬‫سازی‬(Synchronization)
‫اگر‬‫بین‬‫فرایندها‬‫وابستگی‬‫وجود‬‫داشته‬،‫باشد‬‫ترتیب‬‫درست‬‫انجام‬‫کارها‬‫باید‬‫رعایت‬‫ش‬‫ود‬.
3
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫های‬ ‫سیستم‬ ‫آموزش‬‫عامل‬
faradars.org/fvsft103
‫رقابتی‬ ‫شرایط‬(Race Condition)
‫فرایندها‬‫در‬‫فعالیت‬‫های‬‫بحرانی‬‫یکدیگر‬‫مداخله‬‫نکنند‬‫و‬‫شرایط‬‫رقابتی‬‫برای‬‫آنها‬‫رخ‬‫ند‬‫هد‬.
4
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫های‬ ‫سیستم‬ ‫آموزش‬‫عامل‬
faradars.org/fvsft103
‫بحرانی‬ ‫منبع‬
‫اشتراکی‬ ‫غیر‬ ‫منبع‬(‫چاپگر‬ ‫مانند‬)‫کنند‬ ‫می‬ ‫رقابت‬ ‫آن‬ ‫به‬ ‫دسترسی‬ ‫برای‬ ‫فرایند‬ ‫چند‬ ‫که‬.
5
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫های‬ ‫سیستم‬ ‫آموزش‬‫عامل‬
faradars.org/fvsft103
‫بحرانی‬ ‫ناحیه‬(Critical Region)
‫کند‬ ‫می‬ ‫استفاده‬ ‫بحرانی‬ ‫منبع‬ ‫از‬ ‫که‬ ‫برنامه‬ ‫از‬ ‫بخشی‬.
6
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫های‬ ‫سیستم‬ ‫آموزش‬‫عامل‬
faradars.org/fvsft103
‫گرسنگی‬
‫فرض‬‫کنید‬‫هر‬‫یک‬‫از‬‫سه‬‫فرایند‬A‫و‬B‫و‬Cً‫ا‬‫متناوب‬‫نیازمند‬‫دسترسی‬‫به‬‫منبع‬R‫هستند‬.
‫وقتی‬A‫این‬‫منبع‬‫را‬‫در‬‫اختیار‬،‫گیرد‬‫دو‬‫فرایند‬‫دیگر‬‫در‬‫انتظار‬‫آن‬،‫منبع‬‫به‬‫تاخیر‬‫انداخته‬‫می‬‫شوند‬.
‫با‬‫خروج‬A‫از‬‫ناحیه‬،‫بحرانی‬‫یکی‬‫از‬‫دو‬‫فرایند‬‫باید‬R‫را‬‫در‬‫اختیار‬‫گیرند‬.
‫اگر‬C‫منبع‬R‫را‬‫بگیرد‬‫و‬‫قبل‬‫از‬‫پایان‬‫بخش‬‫بحرانی‬ً‫ا‬‫مجدد‬A‫درخواست‬R‫را‬‫بکند‬‫و‬‫بعد‬‫از‬‫پایان‬
،‫اجازه‬‫به‬C‫داده‬‫شود‬‫و‬ً‫ا‬‫مکرر‬‫این‬‫عمل‬‫بین‬A‫و‬C‫ادامه‬،‫یابد‬B‫به‬‫صورت‬‫نامحدود‬‫از‬‫دسترسی‬
‫به‬‫منبع‬R‫محروم‬‫می‬‫ماند‬‫و‬‫گرسنگی‬‫می‬‫کشد‬.
7
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫های‬ ‫سیستم‬ ‫آموزش‬‫عامل‬
faradars.org/fvsft103
‫زیر‬ ‫پروسس‬ ‫دو‬ ‫موازی‬ ‫و‬ ‫روند‬ ‫هم‬ ‫اجرای‬ ‫صورت‬ ‫در‬ ‫ممکن‬ ‫های‬ ‫خروجی‬:
A(void)
{
while(true)
{
cout<< 1;
cout<< 2;
}
}
B(void)
{
while(true)
{
cout<< 3;
cout<< 4;
}
}
: A B1234
: B A3412
: A( ) B A( ) 1342 1 2
: B( ) A B( ) 3124 1 2
: A( ) B( ) A( ) B( )  1324 1 1 2 2
: B( ) A( ) B( ) A( )  3142 1 1 2 2
8
‫مثال‬
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫های‬ ‫سیستم‬ ‫آموزش‬‫عامل‬
faradars.org/fvsft103
‫دو‬‫فرایند‬‫زیر‬‫به‬‫صورت‬‫هم‬‫روند‬‫اجرا‬‫می‬‫شوند‬.‫در‬‫صورتی‬‫که‬‫مقدار‬‫اولیه‬‫متغیر‬‫سراسری‬a‫صفر‬،‫باشد‬
‫بعد‬‫از‬‫اجرای‬‫کامل‬‫دو‬،‫فرآیند‬‫چه‬‫حالت‬‫هایی‬‫می‬‫تواند‬‫رخ‬‫دهد؟‬
(‫امکان‬‫اجرای‬‫آنها‬‫به‬‫صورت‬Interleaved‫نیز‬‫وجود‬‫دارد‬.‫یعنی‬‫در‬‫هر‬‫لحظه‬‫از‬‫اجرای‬،‫فرایند‬‫امکان‬‫وقوع‬‫وقفه‬‫و‬‫سوئیچ‬‫به‬‫فرایند‬‫دیگر‬‫وجود‬‫دارد‬.)
p1 p2
a=1; b=a;
c=a;
9
‫مثال‬
P P a b c    1 2 1
P P a ,b ,c    2 1 1 0 0
P ( ) P P ( ) a ,b ,c     2 1 1 2 2 1 0 1
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫های‬ ‫سیستم‬ ‫آموزش‬‫عامل‬
faradars.org/fvsft103
‫چند‬‫خروجی‬‫حاصل‬‫از‬‫اجرای‬‫همروند‬‫دو‬‫پردازه‬:
P2P1
repeat
print "C"
print "D"
forever
repeat
print "A"
print "B"
forever
10
‫مثال‬
1 2* * * *
(AB) (CD) : P P
1 1 2 1 2* *
A(CD) B : P ( ) P P ( ) 
1 1 2 1 2ACDB : P ( ) P P ( ) 
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫های‬ ‫سیستم‬ ‫آموزش‬‫عامل‬
faradars.org/fvsft103
‫تولید‬ ‫نحوه‬badc:
int x=0 ; int y=0;
BA
printf("b");
x=1;
while (y==0);
printf("c");
while (x==0);
printf("a");
y=1;
y=0;
printf("d");
y=1;
11
‫مثال‬
BA
printf("b");
x=1;
.
.
.
.
.
.
while (y==0) ;
printf("c");
.
.
while (x==0) ;
printf("a");
y=1;
y=0;
printf("d");
y=1;
.
.
badc : B( , ) A B( , ) 1 2 3 4
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫های‬ ‫سیستم‬ ‫آموزش‬‫عامل‬
faradars.org/fvsft103
‫همکاری‬‫فرایندهای‬‫همروند‬
‫شرایطی‬‫که‬‫باید‬‫رعایت‬‫شود‬‫تا‬‫یک‬‫همکاری‬‫درست‬‫و‬‫کارا‬‫بین‬‫فرایندهای‬‫هم‬‫روند‬‫برقرار‬‫باشد‬:
1-‫انحصار‬‫متقابل‬(Mutual Exclusion)
‫از‬‫بین‬‫فرایندهایی‬‫که‬‫برای‬‫یک‬‫منبع‬‫یکسان‬‫دارای‬‫ناحیه‬‫بحرانی‬،‫هستند‬‫در‬‫هر‬‫لحظه‬‫فقط‬‫یک‬‫فرایند‬
‫مجاز‬‫است‬‫که‬‫در‬‫ناحیه‬‫بحرانی‬‫خود‬‫باشد‬.
2-‫پیشرفت‬(Progress)
‫فرایندی‬‫که‬‫فعال‬‫تصمیم‬‫به‬‫ورود‬‫به‬‫ناحیه‬‫بحرانی‬‫را‬‫ندارد‬‫و‬‫در‬‫ناحیه‬‫غیر‬‫بحرانی‬‫می‬‫باشد‬‫و‬‫دس‬‫تورالعمل‬
‫های‬‫عادی‬‫برنامه‬‫خود‬‫را‬‫اجرا‬‫می‬،‫کند‬‫نباید‬‫در‬‫تصمیم‬‫گیری‬‫برای‬‫ورود‬‫فرایندهای‬‫دیگر‬‫به‬‫ناحیه‬‫ب‬‫حرانی‬
‫شرکت‬‫کند‬.(‫امکان‬‫ممانعت‬‫نداشته‬‫باشد‬)
12
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫های‬ ‫سیستم‬ ‫آموزش‬‫عامل‬
faradars.org/fvsft103
3-‫انتظار‬‫محدود‬(Bounded Waiting)
‫باید‬‫مدت‬‫انتظار‬‫فرایندهایی‬‫که‬‫نیاز‬‫به‬‫ورود‬‫به‬‫ناحیه‬‫بحرانی‬،‫دارند‬‫محدود‬‫باشد‬.‫یعنی‬‫نباید‬‫د‬‫چار‬
‫گرسنگی‬‫و‬‫بن‬‫بست‬‫شوند‬.
‫گرسنگی‬:‫به‬‫مدت‬‫نامعلوم‬‫و‬‫بدون‬‫حد‬‫باالی‬،‫مشخص‬‫منتظر‬‫فرایندهای‬‫دیگر‬‫بودن‬.
‫بن‬‫بست‬:‫تا‬‫ابد‬‫منتظر‬‫ورود‬‫به‬‫ناحیه‬‫بحرانی‬‫خود‬‫بودن‬.
‫البته‬‫عالوه‬‫بر‬‫رعایت‬3‫شرط‬،‫باال‬‫مسئله‬‫را‬‫باید‬‫در‬‫حالت‬‫کلی‬‫حل‬‫کرد‬‫و‬‫فرضی‬‫برای‬‫ساده‬‫سازی‬‫راه‬‫حل‬
‫به‬‫کار‬‫نبرد‬.‫همچنین‬‫الگوریتم‬‫حالت‬‫قطعی‬‫و‬‫غیر‬‫تصادفی‬‫داشته‬‫باشد‬.
13
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫های‬ ‫سیستم‬ ‫آموزش‬‫عامل‬
faradars.org/fvsft103
‫متقابل‬ ‫انحصار‬ ‫رویکردهای‬
‫برای‬‫تحقق‬‫انحصار‬،‫متقابل‬‫پیشنهادهای‬‫مختلفی‬‫وجود‬‫دارد‬.
‫کنیم‬ ‫می‬ ‫بندی‬ ‫دسته‬ ،‫زیر‬ ‫رویکرد‬ ‫چهار‬ ‫صورت‬ ‫به‬ ‫را‬ ‫ها‬ ‫حل‬ ‫راه‬ ‫این‬:
1-‫افزاری‬ ‫نرم‬
2-‫افزار‬ ‫سخت‬ ‫حمایت‬ ‫با‬(‫خاص‬ ‫های‬ ‫دستورالعمل‬ ‫کمک‬ ‫با‬CPU)
3-‫عامل‬ ‫سیستم‬ ‫حمایت‬ ‫با‬(‫خاص‬ ‫سیستمی‬ ‫های‬ ‫فراخوان‬ ‫کمک‬ ‫با‬)
4-‫سازی‬ ‫برنامه‬ ‫زبان‬ ‫حمایت‬ ‫با‬(‫کامپایلر‬ ‫کمک‬ ‫با‬)
14
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫های‬ ‫سیستم‬ ‫آموزش‬‫عامل‬
faradars.org/fvsft103
‫متقابل‬ ‫انحصار‬ ‫افزاری‬ ‫نرم‬ ‫رویکردهای‬
‫مستقیما‬‫توسط‬‫برنامه‬‫ها‬‫استفاده‬‫می‬‫شوند‬‫و‬‫وجود‬‫حافظه‬‫اشتراکی‬‫ضروری‬‫است‬.
‫حمایتی‬‫از‬‫سیستم‬‫عامل‬‫و‬‫زبان‬‫های‬‫برنامه‬‫سازی‬‫نداریم‬.
15
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫های‬ ‫سیستم‬ ‫آموزش‬‫عامل‬
faradars.org/fvsft103
‫الگوریتم‬Decker
‫آقای‬Decker‫اولین‬‫شخصی‬‫بود‬‫که‬‫یک‬‫راه‬‫حل‬‫نرم‬‫افزاری‬‫دو‬‫فرایندی‬‫برای‬‫مسئله‬‫انحصار‬‫مت‬‫قابل‬
‫ارائه‬‫داد‬.
Decker‫با‬‫پنج‬‫مرحله‬‫تالش‬‫به‬‫راه‬‫حل‬‫درست‬‫رسید‬.
16
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫های‬ ‫سیستم‬ ‫آموزش‬‫عامل‬
faradars.org/fvsft103
17
‫اول‬ ‫تالش‬(‫قطعی‬ ‫تناوب‬)
P0( )
{
while(TRUE)
{
while( turn != 0) ;
critical-section( );
turn = 1;
non-CS ( );
}
}
P1( )
{
while(TRUE)
{
while( turn != 1) ;
critical-section( );
turn = 0;
non-CS ( );
}
}
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫های‬ ‫سیستم‬ ‫آموزش‬‫عامل‬
faradars.org/fvsft103
‫سناریو‬:
‫اگر‬P1‫وارد‬‫ناحیه‬‫بحرانی‬‫شود‬‫و‬‫کارش‬‫تمام‬‫شده‬‫و‬‫به‬‫بخش‬‫غیر‬‫بحرانی‬،‫برود‬turn‫برابر‬0‫می‬‫باشد‬.‫حال‬
‫نوبت‬P0‫است‬‫که‬‫وارد‬‫ناحیه‬‫بحرانی‬،‫شود‬‫ولی‬‫می‬‫خواهد‬‫به‬‫مدت‬‫طوالنی‬‫در‬‫ناحیه‬‫غیر‬‫بحرانی‬‫بماند‬.
P1‫به‬‫سرعت‬‫کارش‬‫در‬‫ناحیه‬‫غیر‬‫بحرانی‬‫تمام‬‫شده‬‫و‬‫قصد‬‫ورود‬‫مجدد‬‫به‬‫ناحیه‬‫بحرانی‬‫را‬‫دارد‬.‫اما‬‫چ‬‫ون‬
turn‫برابر‬0‫است‬‫در‬‫حلقه‬‫انتظار‬‫می‬‫ماند‬‫تا‬‫باالخره‬P0‫وارد‬‫ناحیه‬‫بحرانی‬‫شده‬‫و‬‫بعد‬‫از‬،‫خروج‬turn‫را‬
1‫کرده‬‫تا‬P1‫بتواند‬‫وارد‬‫ناحیه‬‫بحرانی‬‫شود‬.‫پس‬P1‫توسط‬‫فرایندی‬‫منتظر‬‫مانده‬‫بود‬‫که‬‫در‬‫ناحیه‬‫بحرانی‬
‫نبود‬‫و‬‫جلوی‬‫پیشرفت‬‫اش‬‫را‬‫گرفته‬‫بود‬.
‫کند‬ ‫نمی‬ ‫رعایت‬ ‫را‬ ‫پیشرفت‬ ‫شرط‬.
18
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫های‬ ‫سیستم‬ ‫آموزش‬‫عامل‬
faradars.org/fvsft103
‫هر‬‫فرایند‬‫دارای‬‫کلید‬‫مجزا‬‫برای‬‫ورود‬‫به‬‫ناحیه‬‫بحرانی‬‫است‬‫تا‬‫اگر‬‫فرایندی‬‫قصد‬‫استفاده‬‫از‬‫ناحیه‬‫بحرانی‬‫را‬،‫نداشت‬‫فرای‬‫ند‬‫دیگر‬
‫بتواند‬‫به‬‫ناحیه‬‫بحرانی‬‫خود‬‫دسترسی‬‫داشته‬‫باشد‬
19
‫دوم‬ ‫تالش‬
P0(void)
{
while(TRUE)
{
while( flag[1] );
flag[0] = TRUE;
critical-section( );
flag[0] = FALSE;
non-CS ( );
}
}
P1(void)
{
while(TRUE)
{
while( flag[0] );
flag[1] = TRUE;
critical-section( );
flag[1] = FALSE;
non-CS ( );
}
}
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫های‬ ‫سیستم‬ ‫آموزش‬‫عامل‬
faradars.org/fvsft103
‫شود‬ ‫نمی‬ ‫رعایت‬ ‫متقابل‬ ‫انحصار‬.
‫سناریو‬:
‫فرایند‬P0،flag[1]‫را‬‫خوانده‬‫و‬‫آن‬‫را‬FALSE‫می‬،‫بیند‬‫اما‬‫قبل‬‫از‬TRUE‫کردن‬flag[0]،
p1‫اجرا‬‫شود‬‫و‬flag[0]‫را‬‫خوانده‬‫و‬‫آن‬‫را‬FALSE‫می‬‫بیند‬‫و‬‫برای‬‫ورود‬‫به‬‫ناحیه‬‫بحرانی‬flag[1]
‫را‬TRUE‫کرده‬‫و‬P1‫وارد‬‫می‬‫شود‬.‫در‬‫این‬‫زمان‬‫به‬P0‫سوئیچ‬‫شده‬‫و‬flag[0]‫را‬TRUE‫کرده‬‫و‬
‫این‬‫فرایند‬‫هم‬‫وارد‬‫ناحیه‬‫بحرانی‬‫می‬‫شود‬.
20
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫های‬ ‫سیستم‬ ‫آموزش‬‫عامل‬
faradars.org/fvsft103
‫به‬‫علت‬‫امکان‬،‫گرسنگی‬‫شرط‬‫انتظار‬‫محدود‬‫رعایت‬‫نمی‬‫شود‬.
‫سناریو‬:
‫فرض‬‫کنید‬P0‫در‬‫ناحیه‬‫بحرانی‬‫است‬‫و‬‫به‬P1‫سوئیچ‬‫می‬‫شود‬.‫چون‬flag[0]‫برابر‬TRUE،‫است‬P1
‫نمی‬‫تواند‬‫وارد‬‫ناحیه‬‫بحرانی‬‫شود‬.‫بعد‬‫از‬‫پایان‬،‫کوانتوم‬‫پردازنده‬‫به‬P0‫داده‬‫شده‬‫و‬‫این‬‫فرایند‬‫سریعا‬‫ناحیه‬
‫بحرانی‬‫اش‬‫را‬‫اجرا‬‫کرده‬‫و‬‫سعی‬‫به‬‫ورود‬‫مجدد‬‫به‬‫ناحیه‬‫بحرانی‬‫را‬‫دارد‬‫و‬‫این‬‫اجازه‬‫به‬‫او‬‫داده‬‫می‬‫شود‬.
P0‫مجددا‬flag [0]‫را‬TRUE‫کرده‬‫و‬‫اگر‬‫به‬P1‫سوئیچ‬،‫شود‬‫باز‬‫هم‬‫نمی‬‫تواند‬‫اجازه‬‫ورود‬‫بگیرد‬.
‫بنابراین‬‫تالش‬‫برای‬‫دستیابی‬‫به‬‫ناحیه‬‫بحرانی‬‫تصادفی‬‫است‬‫و‬‫امکان‬‫قحطی‬‫وجود‬‫دارد‬.
‫امکان‬‫ورود‬‫پی‬‫در‬‫پی‬‫یک‬‫فرایند‬‫به‬‫ناحیه‬‫بحرانی‬‫و‬‫عدم‬‫دستیابی‬‫فرایند‬‫دیگر‬‫به‬‫ناحیه‬‫بحرانی‬‫وجود‬‫دارد‬.
21
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫های‬ ‫سیستم‬ ‫آموزش‬‫عامل‬
faradars.org/fvsft103
‫در‬‫تالش‬‫دوم‬‫هر‬‫فرایند‬‫ابتدا‬‫وضعیت‬‫فرایند‬‫مقابل‬‫را‬‫چک‬‫کرده‬‫و‬‫سپس‬flag‫خود‬‫را‬TRUE‫می‬‫کند‬.‫بنابراین‬‫اگر‬‫هر‬‫دو‬‫به‬‫طور‬‫همزمان‬‫قصد‬‫ورود‬
‫به‬‫ناحیه‬‫بحرانی‬‫را‬‫داشته‬،‫باشند‬flag‫یکدیگر‬‫را‬FALSE‫می‬‫بینند‬‫و‬‫با‬‫هم‬‫وارد‬‫می‬‫شوند‬.‫برای‬‫حل‬‫این‬‫مشکل‬‫دو‬‫سطر‬‫مسئله‬‫را‬‫عوض‬‫می‬‫کنیم‬.
22
‫سوم‬ ‫تالش‬
P0(void)
{
while(TRUE)
{
flag[0] = TRUE ;
while( flag[1] );
critical-section( );
flag[0]= FALSE;
non-CS( );
}
}
P1(void)
{
while(TRUE)
{
flag[1] = TRUE;
while( flag[0] );
critical-section( );
flag[1]= FALSE;
non-CS( );
}
}
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫های‬ ‫سیستم‬ ‫آموزش‬‫عامل‬
faradars.org/fvsft103
‫شود‬ ‫نمی‬ ‫رعایت‬ ‫محدود‬ ‫انتظار‬ ‫شرط‬ ،‫بست‬ ‫بن‬ ‫امکان‬ ‫علت‬ ‫به‬.
‫سناریو‬:
‫که‬ ‫کنید‬ ‫فرض‬P0،falg[0]‫را‬TRUE‫بررسی‬ ‫از‬ ‫قبل‬ ‫ولی‬ ‫کند‬flag‫در‬P0،‫به‬P1
‫و‬ ‫شود‬ ‫سوئیچ‬P1،flag[1]‫را‬TRUE‫کند‬.‫حلقه‬ ‫در‬ ‫ابد‬ ‫تا‬ ‫فرایند‬ ‫دو‬ ‫هر‬ ‫صورت‬ ‫این‬ ‫در‬
‫دهد‬ ‫می‬ ‫رخ‬ ‫بست‬ ‫بن‬ ‫و‬ ‫شده‬ ‫گرفتار‬ ‫انتظار‬.
 1
23
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫های‬ ‫سیستم‬ ‫آموزش‬‫عامل‬
faradars.org/fvsft103
‫در‬‫تالش‬‫قبلی‬‫هر‬‫فرایند‬‫می‬‫تواند‬‫روی‬‫حق‬‫خود‬
‫برای‬‫ورود‬‫به‬‫بخش‬‫بحرانی‬‫اش‬‫پافشاری‬‫کند‬.‫در‬‫این‬
‫روش‬‫هر‬‫فرایند‬‫متغیر‬flag‫خود‬‫را‬TRUE‫کرده‬
‫تا‬‫خواست‬‫خود‬‫برای‬‫ورود‬‫به‬‫بخش‬‫بحرانی‬‫را‬‫نشا‬‫ن‬
،‫دهد‬‫اما‬‫آماده‬‫است‬flag‫را‬‫تغییر‬‫دهد‬‫تا‬‫به‬‫فرایند‬
‫دیگر‬‫احترام‬‫گذارد‬.
‫یعنی‬‫فرایندی‬‫که‬‫قصد‬‫ورود‬‫به‬‫ناحیه‬‫بحرانی‬‫ر‬‫ا‬
،‫دارد‬‫اگر‬‫ببیند‬‫که‬‫فرایند‬‫مقابل‬‫هم‬‫می‬‫خواهد‬‫ب‬‫ه‬
‫ناحیه‬‫بحرانی‬‫وارد‬،‫شود‬falg‫خود‬‫را‬‫برای‬‫مدت‬
‫کوتاهی‬FALSE‫کرده‬‫تا‬‫فرایند‬‫مقابل‬‫بتواند‬‫و‬‫ارد‬
‫شود‬.
24
‫چهارم‬ ‫تالش‬(‫تعارف‬ ‫و‬ ‫ادب‬)
P0(void)
{
while(TRUE)
{
flag[0] = TRUE;
while( flag[1])
{
flag[0] = FALSE;
delay ( );
flag[0] = TRUE;
}
critical-section( );
flag[0] = FALSE;
non-CS ( );
}
}
P1(void)
{
while(TRUE)
{
flag[1] = TRUE;
while( flag [0])
{
flag[1] = FALSE;
delay ( );
flag[1] = TRUE;
}
critical-section( );
flag[1] = FALSE;
non-CS( );
}
}
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫های‬ ‫سیستم‬ ‫آموزش‬‫عامل‬
faradars.org/fvsft103
‫شود‬ ‫نمی‬ ‫رعایت‬ ‫محدود‬ ‫انتظار‬ ‫شرط‬ ،‫گرسنگی‬ ‫امکان‬ ‫دلیل‬ ‫به‬.
‫ق‬ ‫گرفتار‬ ،‫مشخص‬ ‫باالی‬ ‫حد‬ ‫بدون‬ ‫و‬ ‫نامعلوم‬ ‫مدت‬ ‫به‬ ‫فرایند‬ ‫یک‬ ‫است‬ ‫ممکن‬ ‫چون‬‫سمت‬
‫تاخیر‬(delay)‫شود‬ ‫بحرانی‬ ‫ناحیه‬ ‫وارد‬ ‫دفعات‬ ‫به‬ ‫مقابل‬ ‫فرایند‬ ‫و‬ ‫شود‬.
‫وجود‬ ‫امکان‬ ‫علت‬ ‫به‬ ‫همچنین‬Livelock،‫شود‬ ‫نمی‬ ‫رعایت‬ ‫محدود‬ ‫انتظار‬ ‫شرط‬ ‫نیز‬.
25
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫های‬ ‫سیستم‬ ‫آموزش‬‫عامل‬
faradars.org/fvsft103
‫مشکل‬Livelock
‫نام‬ ‫به‬ ‫جدیدی‬ ‫مشکل‬ ‫اما‬ ،‫ندارد‬ ‫وجود‬ ‫بست‬ ‫بن‬ ‫مشکل‬ ‫چهارم‬ ‫تالش‬ ‫در‬Livelock‫دارد‬ ‫وجود‬.
‫دهیم‬ ‫می‬ ‫توضیح‬ ‫را‬ ‫مشکل‬ ‫این‬ ،‫زیر‬ ‫اجرای‬ ‫کردن‬ ‫دنبال‬ ‫با‬:
1)P0،flag[0]‫را‬TRUE‫کند‬.
2)P1،flag [1]‫را‬TRUE‫کند‬.
3)P0،flag [1]‫کند‬ ‫بررسی‬ ‫را‬.
4)P1،flag[0]‫را‬‫کند‬ ‫بررسی‬.
5)P0،flag[0]‫را‬FALSE‫کند‬.
6)P1،flag[1]‫را‬FALSE‫کند‬.
26
‫هر‬‫دو‬‫فرایند‬‫در‬‫یک‬‫زمان‬‫به‬‫مدت‬‫کوتاه‬‫یکسان‬‫عقب‬‫نشین‬‫ی‬
‫می‬‫کنند‬.‫سپس‬‫با‬‫هم‬‫بر‬‫می‬‫گردند‬‫و‬‫مراحل‬‫باال‬‫را‬‫تکرار‬‫می‬
‫کنند‬.‫اگر‬‫این‬‫دنباله‬‫به‬‫طور‬‫نامحدود‬‫تکرار‬،‫شود‬‫ممکن‬‫اس‬‫ت‬
‫هیچ‬‫کدام‬‫از‬‫فرایندها‬‫نتوانند‬‫وارد‬‫ناحیه‬‫بحرانی‬‫شوند‬.
‫البته‬‫این‬‫تکرار‬‫بن‬‫بست‬‫نمی‬،‫باشد‬‫چون‬‫با‬‫تغییر‬‫در‬‫س‬‫رعت‬
‫نسبی‬،‫فرایندها‬‫این‬‫چرخه‬‫شکسته‬‫می‬‫شود‬.
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫های‬ ‫سیستم‬ ‫آموزش‬‫عامل‬
faradars.org/fvsft103
‫متغیر‬‫نوبت‬‫را‬‫با‬‫متغیرهای‬‫پرچم‬‫ترکیب‬‫کرد‬.
27
‫تالش‬‫پنجم‬
P0(void){
while(TRUE){
flag[0] = TRUE;
while( flag[1] )
if (turn == 1){
flag[0] = FALSE;
while( turn==1) do;
flag[0] = TRUE;
}
critical-section( );
turn = 1;
flag[0] = FALSE;
non-CS ( );
}
}
P1(void){
while(TRUE){
flag[1] = TRUE;
while( flag[0])
if (turn == 0){
flag[1] = FALSE;
while( turn==0) do;
flag[1] = TRUE;
}
critical-section( );
turn = 0;
flag[1] = FALSE;
non-CS( );
}
}
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫های‬ ‫سیستم‬ ‫آموزش‬‫عامل‬
faradars.org/fvsft103
‫که‬ ‫هنگامی‬P0‫در‬ ،‫شود‬ ‫خود‬ ‫بحرانی‬ ‫بخش‬ ‫وارد‬ ‫بخواهد‬flag‫مقدار‬ ‫خود‬ ‫به‬ ‫مربوط‬TRUE‫گذارد‬ ‫می‬.‫سپس‬
flag‫به‬ ‫مربوط‬P1‫که‬ ‫کند‬ ‫می‬ ‫بررسی‬ ‫را‬‫دهد‬ ‫می‬ ‫رخ‬ ‫حالت‬ ‫دو‬:
‫الف‬-flag[1]‫برابر‬TRUE‫باشد‬:
‫اگر‬turn،‫باشد‬ ‫یک‬ ‫برابر‬P0‫به‬P1‫با‬ ‫و‬ ‫گذاشته‬ ‫احترام‬FALSE‫ماند‬ ‫می‬ ‫منتظر‬ ‫اش‬ ‫پرچم‬ ‫کردن‬.‫در‬
‫هنگام‬ ‫این‬P0‫تا‬ ‫دهد‬ ‫نمی‬ ‫انجام‬ ‫کاری‬turn‫سپس‬ ‫و‬ ‫شود‬ ‫صفر‬ ‫برابر‬flag‫را‬ ‫خودش‬TRUE‫کند‬ ‫می‬.
‫ب‬-flag[1]‫برابر‬FALSE‫باشد‬:
P0‫در‬ ،‫بحرانی‬ ‫بخش‬ ‫از‬ ‫خروج‬ ‫از‬ ‫بعد‬ ‫و‬ ‫شده‬ ‫بحرانی‬ ‫بخش‬ ‫وارد‬flag‫مقدار‬ ‫خود‬FALSE‫تا‬ ‫گذارد‬ ‫می‬
‫در‬ ‫و‬ ‫کند‬ ‫آزاد‬ ‫را‬ ‫بحرانی‬ ‫بخش‬turn‫مقدار‬1‫به‬ ‫را‬ ‫پافشاری‬ ‫حق‬ ‫تا‬ ‫دهد‬ ‫می‬ ‫قرار‬ ‫را‬P1‫واگذارد‬.
28
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫های‬ ‫سیستم‬ ‫آموزش‬‫عامل‬
faradars.org/fvsft103
‫های‬ ‫تالش‬ ‫وضعیت‬ ‫از‬ ‫ای‬ ‫خالصه‬Decker
‫متقاب‬ ‫انحصار‬‫ل‬‫پیشرفت‬‫محدود‬ ‫انتظار‬
‫اول‬ ‫تالش‬-
‫دوم‬ ‫تالش‬--
‫سوم‬ ‫تالش‬-
‫چهارم‬ ‫تالش‬-
‫پنجم‬ ‫تالش‬

29
‫عالمت‬ ‫با‬ ‫شود‬ ‫می‬ ‫رعایت‬ ‫شرط‬ ‫که‬ ‫جا‬ ‫هر‬ ،‫زیر‬ ‫جدول‬ ‫در‬‫است‬ ‫شده‬ ‫مشخص‬:
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫های‬ ‫سیستم‬ ‫آموزش‬‫عامل‬
faradars.org/fvsft103
‫چندین‬‫سال‬،‫بعد‬peterson‫راه‬‫حل‬‫ساده‬‫و‬‫زیبایی‬‫را‬‫برای‬‫حل‬‫مسئله‬‫انحصار‬‫متقابل‬‫ارائه‬‫کرد‬‫که‬‫برای‬n‫فرایند‬‫نیز‬‫قابل‬
‫تعمیم‬‫است‬.
P0(void){
while (TRUE) {
flag[0] = TRUE;
turn = 0;
while (turn==0 && flag[1] );
critical-section( );
flag[0] = FALSE;
non-CS( );
}
{
P1(void){
{
while (TRUE) {
flag[1] = TRUE;
turn = 1;
while(turn==1 && flag[0] );
critical-section( );
flag[1] = FALSE;
non-CS( );
}
{
30
‫الگوریتم‬Peterson
‫فرض‬‫کنید‬‫هر‬‫دو‬‫به‬‫طور‬‫تقریبا‬‫همزمان‬
(P1‫کمی‬‫دیرتر‬)،‫قصد‬‫ورود‬‫به‬‫ناحیه‬
‫بحرانی‬‫را‬‫دارند‬.‫هر‬‫دو‬،‫فرایند‬‫شماره‬‫خود‬
‫را‬‫در‬turn‫ذخیره‬‫کرده‬‫ولی‬P1‫که‬
‫دیرتر‬‫شماره‬‫اش‬‫را‬‫ذخیره‬،‫کرده‬‫شماره‬
‫اش‬‫در‬turn‫می‬‫ماند‬‫و‬turn‫برابر‬1‫می‬
‫شود‬.‫حال‬‫زمانی‬‫که‬‫هر‬‫دو‬‫به‬‫دستور‬
while‫می‬،‫رسند‬P0‫از‬‫حلقه‬‫عبور‬‫کرده‬
‫و‬‫وارد‬‫ناحیه‬‫بحرانی‬‫می‬‫شود‬‫ولی‬P1‫در‬
‫حلقه‬‫می‬‫چرخد‬(‫انتظار‬‫مشغول‬)‫و‬‫وارد‬
‫ناحیه‬‫بحرانی‬‫نمی‬‫شود‬.
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫های‬ ‫سیستم‬ ‫آموزش‬‫عامل‬
faradars.org/fvsft103
‫مقدار‬ ،‫استالینگز‬ ‫کتاب‬ ‫در‬turn‫ندارد‬ ‫باال‬ ‫روش‬ ‫با‬ ‫تفاوتی‬ ‫که‬ ‫شود‬ ‫می‬ ‫تست‬ ‫و‬ ‫دهی‬ ‫مقدار‬ ‫برعکس‬.
‫طور‬ ‫به‬‫مثال‬‫برای‬P0،‫داریم‬:turn = 1;
while(turn==1 && flag[1]);
31
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫های‬ ‫سیستم‬ ‫آموزش‬‫عامل‬
faradars.org/fvsft103
‫های‬ ‫تالش‬ ‫از‬ ‫یک‬ ‫هر‬ ‫در‬ ‫که‬ ‫معایبی‬Decker‫روش‬ ‫و‬Peterson‫دارند‬ ‫وجود‬:
1-‫می‬ ‫منتظر‬ ‫ابد‬ ‫تا‬ ‫دیگر‬ ‫فرایند‬ ،‫بیفتد‬ ‫کار‬ ‫از‬ ‫بحرانی‬ ‫ناحیه‬ ‫داخل‬ ‫در‬ ‫فرایندها‬ ‫از‬ ‫یکی‬ ‫اگر‬‫ماند‬.
2-‫باشند‬ ‫می‬ ‫مشغول‬ ‫انتظار‬ ‫بر‬ ‫مبتنی‬.
32
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫های‬ ‫سیستم‬ ‫آموزش‬‫عامل‬
faradars.org/fvsft103
‫متقابل‬ ‫انحصار‬ ‫رویکردهای‬
‫باحمایت‬
‫افزار‬ ‫سخت‬
33
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫های‬ ‫سیستم‬ ‫آموزش‬‫عامل‬
faradars.org/fvsft103
‫می‬‫توان‬‫به‬‫کمک‬‫راه‬‫حل‬‫های‬‫زیر‬‫که‬‫از‬‫دستورالعمل‬‫های‬‫ویژه‬‫ماشین‬‫استفاده‬‫می‬،‫کنند‬‫و‬‫نیاز‬‫به‬
‫حمایت‬‫از‬‫طرف‬‫پردازنده‬،‫دارند‬‫مسئله‬‫انحصار‬‫متقابل‬‫را‬‫حل‬‫کرد‬.
1-‫دستورالعمل‬‫از‬‫کار‬‫انداختن‬‫وقفه‬‫ها‬
2-‫دستور‬‫العمل‬TSL
3-‫دستورالعمل‬SWAP
34
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫های‬ ‫سیستم‬ ‫آموزش‬‫عامل‬
faradars.org/fvsft103
‫هر‬‫فرایند‬‫باید‬‫به‬‫محض‬‫ورود‬‫به‬‫ناحیه‬،‫بحرانی‬‫تمام‬‫وقفه‬‫ها‬‫را‬‫از‬‫کار‬‫بیندازد‬‫و‬‫دقیقا‬‫قبل‬‫از‬‫خ‬‫روج‬‫از‬
‫ناحیه‬،‫بحرانی‬‫همه‬‫وقفه‬‫ها‬‫را‬‫مجددا‬‫فعال‬‫سازد‬.
‫در‬‫این‬‫صورت‬‫پردازنده‬‫نمی‬‫تواند‬‫از‬‫فرایندی‬‫به‬‫فرایند‬‫دیگر‬‫سوئچ‬،‫کند‬‫چون‬‫وقفه‬‫ساعت‬‫غی‬‫ر‬‫فعال‬
‫است‬.
‫بنابراین‬‫وقتی‬‫که‬‫فرایندی‬‫وقفه‬‫ها‬‫را‬‫غیر‬‫فعال‬‫می‬،‫کند‬‫می‬‫تواند‬‫بدون‬‫ترس‬‫از‬‫دخالت‬‫فراین‬‫دهای‬
،‫دیگر‬‫به‬‫خواندن‬‫و‬‫نوشتن‬‫در‬‫حافظه‬‫مشترك‬‫بپردازد‬.
35
‫وقفه‬ ‫انداختن‬ ‫کار‬ ‫از‬ ‫دستورالعمل‬‫ه‬‫ا‬
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫های‬ ‫سیستم‬ ‫آموزش‬‫عامل‬
faradars.org/fvsft103
‫رویکرد‬:
P(int i) {
while(TRUE) {
disable_interrupts( );
critical_section( );
enable_interrupts( );
non_critical_section( );
}
}
36
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫های‬ ‫سیستم‬ ‫آموزش‬‫عامل‬
faradars.org/fvsft103
‫از‬‫معایب‬‫این‬‫روش‬‫این‬‫است‬‫که‬‫امکان‬‫دارد‬‫فرایندی‬‫وقفه‬‫ها‬‫را‬‫بعد‬‫از‬‫غیر‬‫فعال‬،‫کردن‬
‫مجددا‬‫فعال‬‫نکند‬.
‫در‬‫سیستم‬‫های‬‫چندپردازنده‬،‫ای‬‫غیرفعال‬‫کردن‬‫وقفه‬،‫ها‬‫فقط‬‫در‬‫پردازنده‬‫ای‬‫که‬‫این‬
‫دستورالعمل‬‫را‬‫اجرا‬‫کرده‬‫تاثیر‬‫گذار‬‫است‬‫و‬‫پردازنده‬‫های‬‫دیگر‬‫می‬‫توانند‬‫به‬‫ناحیه‬‫بحرانی‬
‫دسترسی‬‫داشته‬‫باشند‬.
37
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫های‬ ‫سیستم‬ ‫آموزش‬‫عامل‬
faradars.org/fvsft103‫دستور‬swap
int const n= /*number of processes */;
int b;
p(int i){
int keyi=1;
while(true) {
swap( keyi , b );
while( keyi != 0) ;
critical section;
b=0;
remainder;
}
}
main( ){
b=0;
parbegin( p(1),p(2),…,p(n) );
}
‫دارد‬ ‫گرسنگی‬ ‫حل‬ ‫راه‬ ‫این‬.
38
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫های‬ ‫سیستم‬ ‫آموزش‬‫عامل‬
faradars.org/fvsft103
‫دستورالعمل‬TSL
‫دستورالعمل‬TSL(Test and Set Lock)،‫محتویات‬‫یک‬‫کلمه‬‫از‬‫حافظه‬(lock)‫را‬‫خوانده‬‫و‬‫در‬‫ثبات‬
‫قرار‬‫داده‬‫و‬‫سپس‬‫مقدار‬1‫را‬‫در‬‫همان‬‫آدرس‬‫از‬‫حافظه‬‫ذخیره‬‫می‬‫کند‬.
TSL reg , lock
‫مقدار‬lock‫در‬reg‫ذخیره‬‫شده‬‫و‬lock‫یک‬‫می‬‫شود‬.
‫این‬‫عملیات‬‫غیر‬‫قابل‬‫تقسیم‬(‫اتومیک‬)‫انجام‬‫می‬‫شوند‬‫و‬‫تا‬‫اینکه‬‫اجرای‬‫دستورالعمل‬‫تمام‬،‫نشود‬‫هیچ‬
‫فرایند‬‫و‬‫یا‬‫پردازنده‬‫دیگری‬‫نمی‬‫تواند‬‫به‬‫این‬‫کلمه‬‫از‬‫حافظه‬‫دسترسی‬‫پیدا‬‫کند‬
39
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫های‬ ‫سیستم‬ ‫آموزش‬‫عامل‬
faradars.org/fvsft103
‫تابع‬‫ورود‬‫به‬‫ناحیه‬‫بحرانی‬‫با‬‫استفاده‬‫از‬TSL،‫به‬‫زبان‬‫اسمبلی‬:
enter:
tsl reg , lock
cmp reg , #0
jne enter
ret
‫ابتدا‬‫مقدار‬‫قبلی‬lock‫در‬reg‫ذخیره‬‫شده‬‫و‬lock‫یک‬‫می‬‫شود‬.‫سپس‬‫مقدار‬‫قبلی‬lock‫با‬0‫مقایسه‬
‫می‬‫شود‬.‫اگر‬0،‫نبود‬‫این‬‫عملیات‬‫تکرار‬‫شده‬(‫حلقه‬‫انتظار‬‫مشغول‬)‫و‬‫اگر‬0،‫بود‬‫زیربرنامه‬‫بازگشت‬،‫کرده‬‫در‬
‫حالی‬‫که‬lock‫را‬1‫کرده‬‫است‬.
‫این‬‫راه‬‫حل‬‫گرسنگی‬‫دارد‬.
40
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫های‬ ‫سیستم‬ ‫آموزش‬‫عامل‬
faradars.org/fvsft103
‫قسمت‬ ‫پایان‬‫اول‬
‫فصل‬5
41
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫های‬ ‫سیستم‬ ‫آموزش‬‫عامل‬
faradars.org/fvsft103
‫های‬ ‫سیستم‬ ‫آموزش‬‫عامل‬
faradars.org/fvsft103
42
‫فرادرس‬ ‫در‬ ‫شده‬ ‫مطرح‬ ‫نکات‬ ‫مبنای‬ ‫بر‬ ‫ها‬ ‫اسالید‬ ‫این‬
«‫عامل‬ ‫های‬ ‫سیستم‬ ‫آموزش‬»
‫است‬ ‫شده‬ ‫تهیه‬.
‫نمایید‬ ‫مراجعه‬ ‫زیر‬ ‫لینک‬ ‫به‬ ‫آموزش‬ ‫این‬ ‫مورد‬ ‫در‬ ‫بیشتر‬ ‫اطالعات‬ ‫کسب‬ ‫برای‬.
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org

Contenu connexe

Tendances

آموزش سیستم های عامل - بخش پنجم
آموزش سیستم های عامل - بخش پنجمآموزش سیستم های عامل - بخش پنجم
آموزش سیستم های عامل - بخش پنجمfaradars
 
آموزش سیستم های عامل - بخش دوم
آموزش سیستم های عامل - بخش دومآموزش سیستم های عامل - بخش دوم
آموزش سیستم های عامل - بخش دومfaradars
 
آموزش ذخیره و بازیابی اطلاعات - درس دهم
آموزش ذخیره و بازیابی اطلاعات - درس دهمآموزش ذخیره و بازیابی اطلاعات - درس دهم
آموزش ذخیره و بازیابی اطلاعات - درس دهمfaradars
 
آموزش ذخیره و بازیابی اطلاعات - درس نهم
آموزش ذخیره و بازیابی اطلاعات - درس نهمآموزش ذخیره و بازیابی اطلاعات - درس نهم
آموزش ذخیره و بازیابی اطلاعات - درس نهمfaradars
 
آموزش ذخیره و بازیابی اطلاعات - درس چهارم
آموزش ذخیره و بازیابی اطلاعات - درس چهارمآموزش ذخیره و بازیابی اطلاعات - درس چهارم
آموزش ذخیره و بازیابی اطلاعات - درس چهارمfaradars
 
آموزش ذخیره و بازیابی اطلاعات - درس دوم
آموزش ذخیره و بازیابی اطلاعات - درس دومآموزش ذخیره و بازیابی اطلاعات - درس دوم
آموزش ذخیره و بازیابی اطلاعات - درس دومfaradars
 
آموزش ذخیره و بازیابی اطلاعات - درس یکم
آموزش ذخیره و بازیابی اطلاعات - درس یکمآموزش ذخیره و بازیابی اطلاعات - درس یکم
آموزش ذخیره و بازیابی اطلاعات - درس یکمfaradars
 
آموزش ذخیره و بازیابی اطلاعات - درس پنجم
آموزش ذخیره و بازیابی اطلاعات - درس پنجمآموزش ذخیره و بازیابی اطلاعات - درس پنجم
آموزش ذخیره و بازیابی اطلاعات - درس پنجمfaradars
 
آموزش ذخیره و بازیابی اطلاعات - درس هشتم
آموزش ذخیره و بازیابی اطلاعات - درس هشتمآموزش ذخیره و بازیابی اطلاعات - درس هشتم
آموزش ذخیره و بازیابی اطلاعات - درس هشتمfaradars
 
آموزش روش تقسیم و حل در طراحی الگوریتم (مرور – تست کنکور ارشد)
آموزش روش تقسیم و حل در طراحی الگوریتم (مرور – تست کنکور ارشد)آموزش روش تقسیم و حل در طراحی الگوریتم (مرور – تست کنکور ارشد)
آموزش روش تقسیم و حل در طراحی الگوریتم (مرور – تست کنکور ارشد)faradars
 
آموزش ذخیره و بازیابی اطلاعات - درس ششم
آموزش ذخیره و بازیابی اطلاعات - درس ششمآموزش ذخیره و بازیابی اطلاعات - درس ششم
آموزش ذخیره و بازیابی اطلاعات - درس ششمfaradars
 
آموزش شبیه سازی مدارات الکتریکی با OrCAD
آموزش شبیه سازی مدارات الکتریکی با OrCADآموزش شبیه سازی مدارات الکتریکی با OrCAD
آموزش شبیه سازی مدارات الکتریکی با OrCADfaradars
 
آموزش ذخیره و بازیابی اطلاعات - درس هفتم
آموزش ذخیره و بازیابی اطلاعات - درس هفتمآموزش ذخیره و بازیابی اطلاعات - درس هفتم
آموزش ذخیره و بازیابی اطلاعات - درس هفتمfaradars
 
آموزش ذخیره و بازیابی اطلاعات - درس سوم
آموزش ذخیره و بازیابی اطلاعات - درس سومآموزش ذخیره و بازیابی اطلاعات - درس سوم
آموزش ذخیره و بازیابی اطلاعات - درس سومfaradars
 
آموزش ساختمان داده ها - بخش ششم
آموزش ساختمان داده ها - بخش ششمآموزش ساختمان داده ها - بخش ششم
آموزش ساختمان داده ها - بخش ششمfaradars
 
آموزش ساختمان داده ها - بخش پنجم
آموزش ساختمان داده ها - بخش پنجمآموزش ساختمان داده ها - بخش پنجم
آموزش ساختمان داده ها - بخش پنجمfaradars
 
آموزش طراحی الگوریتم به همراه حل مثال های عملی - بخش پنجم
آموزش طراحی الگوریتم به همراه حل مثال های عملی - بخش پنجمآموزش طراحی الگوریتم به همراه حل مثال های عملی - بخش پنجم
آموزش طراحی الگوریتم به همراه حل مثال های عملی - بخش پنجمfaradars
 
آموزش ساختمان داده ها - بخش چهارم
آموزش ساختمان داده ها - بخش چهارمآموزش ساختمان داده ها - بخش چهارم
آموزش ساختمان داده ها - بخش چهارمfaradars
 
آموزش طراحی الگوریتم به همراه حل مثال های عملی - بخش چهارم
آموزش طراحی الگوریتم به همراه حل مثال های عملی - بخش چهارمآموزش طراحی الگوریتم به همراه حل مثال های عملی - بخش چهارم
آموزش طراحی الگوریتم به همراه حل مثال های عملی - بخش چهارمfaradars
 
آموزش ساختمان داده ها - بخش سوم
آموزش ساختمان داده ها - بخش سومآموزش ساختمان داده ها - بخش سوم
آموزش ساختمان داده ها - بخش سومfaradars
 

Tendances (20)

آموزش سیستم های عامل - بخش پنجم
آموزش سیستم های عامل - بخش پنجمآموزش سیستم های عامل - بخش پنجم
آموزش سیستم های عامل - بخش پنجم
 
آموزش سیستم های عامل - بخش دوم
آموزش سیستم های عامل - بخش دومآموزش سیستم های عامل - بخش دوم
آموزش سیستم های عامل - بخش دوم
 
آموزش ذخیره و بازیابی اطلاعات - درس دهم
آموزش ذخیره و بازیابی اطلاعات - درس دهمآموزش ذخیره و بازیابی اطلاعات - درس دهم
آموزش ذخیره و بازیابی اطلاعات - درس دهم
 
آموزش ذخیره و بازیابی اطلاعات - درس نهم
آموزش ذخیره و بازیابی اطلاعات - درس نهمآموزش ذخیره و بازیابی اطلاعات - درس نهم
آموزش ذخیره و بازیابی اطلاعات - درس نهم
 
آموزش ذخیره و بازیابی اطلاعات - درس چهارم
آموزش ذخیره و بازیابی اطلاعات - درس چهارمآموزش ذخیره و بازیابی اطلاعات - درس چهارم
آموزش ذخیره و بازیابی اطلاعات - درس چهارم
 
آموزش ذخیره و بازیابی اطلاعات - درس دوم
آموزش ذخیره و بازیابی اطلاعات - درس دومآموزش ذخیره و بازیابی اطلاعات - درس دوم
آموزش ذخیره و بازیابی اطلاعات - درس دوم
 
آموزش ذخیره و بازیابی اطلاعات - درس یکم
آموزش ذخیره و بازیابی اطلاعات - درس یکمآموزش ذخیره و بازیابی اطلاعات - درس یکم
آموزش ذخیره و بازیابی اطلاعات - درس یکم
 
آموزش ذخیره و بازیابی اطلاعات - درس پنجم
آموزش ذخیره و بازیابی اطلاعات - درس پنجمآموزش ذخیره و بازیابی اطلاعات - درس پنجم
آموزش ذخیره و بازیابی اطلاعات - درس پنجم
 
آموزش ذخیره و بازیابی اطلاعات - درس هشتم
آموزش ذخیره و بازیابی اطلاعات - درس هشتمآموزش ذخیره و بازیابی اطلاعات - درس هشتم
آموزش ذخیره و بازیابی اطلاعات - درس هشتم
 
آموزش روش تقسیم و حل در طراحی الگوریتم (مرور – تست کنکور ارشد)
آموزش روش تقسیم و حل در طراحی الگوریتم (مرور – تست کنکور ارشد)آموزش روش تقسیم و حل در طراحی الگوریتم (مرور – تست کنکور ارشد)
آموزش روش تقسیم و حل در طراحی الگوریتم (مرور – تست کنکور ارشد)
 
آموزش ذخیره و بازیابی اطلاعات - درس ششم
آموزش ذخیره و بازیابی اطلاعات - درس ششمآموزش ذخیره و بازیابی اطلاعات - درس ششم
آموزش ذخیره و بازیابی اطلاعات - درس ششم
 
آموزش شبیه سازی مدارات الکتریکی با OrCAD
آموزش شبیه سازی مدارات الکتریکی با OrCADآموزش شبیه سازی مدارات الکتریکی با OrCAD
آموزش شبیه سازی مدارات الکتریکی با OrCAD
 
آموزش ذخیره و بازیابی اطلاعات - درس هفتم
آموزش ذخیره و بازیابی اطلاعات - درس هفتمآموزش ذخیره و بازیابی اطلاعات - درس هفتم
آموزش ذخیره و بازیابی اطلاعات - درس هفتم
 
آموزش ذخیره و بازیابی اطلاعات - درس سوم
آموزش ذخیره و بازیابی اطلاعات - درس سومآموزش ذخیره و بازیابی اطلاعات - درس سوم
آموزش ذخیره و بازیابی اطلاعات - درس سوم
 
آموزش ساختمان داده ها - بخش ششم
آموزش ساختمان داده ها - بخش ششمآموزش ساختمان داده ها - بخش ششم
آموزش ساختمان داده ها - بخش ششم
 
آموزش ساختمان داده ها - بخش پنجم
آموزش ساختمان داده ها - بخش پنجمآموزش ساختمان داده ها - بخش پنجم
آموزش ساختمان داده ها - بخش پنجم
 
آموزش طراحی الگوریتم به همراه حل مثال های عملی - بخش پنجم
آموزش طراحی الگوریتم به همراه حل مثال های عملی - بخش پنجمآموزش طراحی الگوریتم به همراه حل مثال های عملی - بخش پنجم
آموزش طراحی الگوریتم به همراه حل مثال های عملی - بخش پنجم
 
آموزش ساختمان داده ها - بخش چهارم
آموزش ساختمان داده ها - بخش چهارمآموزش ساختمان داده ها - بخش چهارم
آموزش ساختمان داده ها - بخش چهارم
 
آموزش طراحی الگوریتم به همراه حل مثال های عملی - بخش چهارم
آموزش طراحی الگوریتم به همراه حل مثال های عملی - بخش چهارمآموزش طراحی الگوریتم به همراه حل مثال های عملی - بخش چهارم
آموزش طراحی الگوریتم به همراه حل مثال های عملی - بخش چهارم
 
آموزش ساختمان داده ها - بخش سوم
آموزش ساختمان داده ها - بخش سومآموزش ساختمان داده ها - بخش سوم
آموزش ساختمان داده ها - بخش سوم
 

Similaire à آموزش سیستم های عامل - بخش ششم

آموزش نظریه زبان ها و ماشین ها - بخش سوم
آموزش نظریه زبان ها و ماشین ها - بخش سومآموزش نظریه زبان ها و ماشین ها - بخش سوم
آموزش نظریه زبان ها و ماشین ها - بخش سومfaradars
 
آموزش پایگاه داده ها - بخش یکم
آموزش پایگاه داده ها - بخش یکمآموزش پایگاه داده ها - بخش یکم
آموزش پایگاه داده ها - بخش یکمfaradars
 
آموزش پایگاه داده ها - بخش یکم
آموزش پایگاه داده ها - بخش یکمآموزش پایگاه داده ها - بخش یکم
آموزش پایگاه داده ها - بخش یکمfaradars
 
آموزش پایگاه داده ها - بخش یکم
آموزش پایگاه داده ها - بخش یکمآموزش پایگاه داده ها - بخش یکم
آموزش پایگاه داده ها - بخش یکمfaradars
 
آموزش ساختمان داده ها - بخش دوم
آموزش ساختمان داده ها - بخش دومآموزش ساختمان داده ها - بخش دوم
آموزش ساختمان داده ها - بخش دومfaradars
 
آموزش پایگاه داده ها (مرور – تست کنکور ارشد)
آموزش پایگاه داده ها (مرور – تست کنکور ارشد)آموزش پایگاه داده ها (مرور – تست کنکور ارشد)
آموزش پایگاه داده ها (مرور – تست کنکور ارشد)faradars
 
آموزش طراحی الگوریتم به همراه حل مثال های عملی - بخش دوم
آموزش طراحی الگوریتم به همراه حل مثال های عملی - بخش دومآموزش طراحی الگوریتم به همراه حل مثال های عملی - بخش دوم
آموزش طراحی الگوریتم به همراه حل مثال های عملی - بخش دومfaradars
 
آموزش نظریه زبان ها و ماشین ها - بخش ششم
آموزش نظریه زبان ها و ماشین ها - بخش ششمآموزش نظریه زبان ها و ماشین ها - بخش ششم
آموزش نظریه زبان ها و ماشین ها - بخش ششمfaradars
 
آموزش طراحی الگوریتم به همراه حل مثال های عملی - بخش سوم
آموزش طراحی الگوریتم به همراه حل مثال های عملی - بخش سومآموزش طراحی الگوریتم به همراه حل مثال های عملی - بخش سوم
آموزش طراحی الگوریتم به همراه حل مثال های عملی - بخش سومfaradars
 
آموزش ساختمان داده ها - بخش هفتم
آموزش ساختمان داده ها - بخش هفتمآموزش ساختمان داده ها - بخش هفتم
آموزش ساختمان داده ها - بخش هفتمfaradars
 
آموزش پایگاه داده ها - بخش یکم
آموزش پایگاه داده ها - بخش یکمآموزش پایگاه داده ها - بخش یکم
آموزش پایگاه داده ها - بخش یکمfaradars
 
آموزش برنامه نویسی R و نرم افزار R Studio بخش پنجم | فرادرس
 آموزش برنامه نویسی R و نرم افزار R Studio بخش پنجم | فرادرس آموزش برنامه نویسی R و نرم افزار R Studio بخش پنجم | فرادرس
آموزش برنامه نویسی R و نرم افزار R Studio بخش پنجم | فرادرسfaradars
 
آموزش مبانی و کاربردهای راهبرد تلفیق داده یا Data Fusion -بخش پنجم
آموزش مبانی و کاربردهای راهبرد تلفیق داده یا Data Fusion -بخش پنجمآموزش مبانی و کاربردهای راهبرد تلفیق داده یا Data Fusion -بخش پنجم
آموزش مبانی و کاربردهای راهبرد تلفیق داده یا Data Fusion -بخش پنجمfaradars
 
آموزش نظریه زبان ها و ماشین ها - بخش هفتم
آموزش نظریه زبان ها و ماشین ها - بخش هفتمآموزش نظریه زبان ها و ماشین ها - بخش هفتم
آموزش نظریه زبان ها و ماشین ها - بخش هفتمfaradars
 
آموزش مبانی و کاربردهای راهبرد تلفیق داده یا Data Fusion -بخش دوم
آموزش مبانی و کاربردهای راهبرد تلفیق داده یا Data Fusion -بخش دومآموزش مبانی و کاربردهای راهبرد تلفیق داده یا Data Fusion -بخش دوم
آموزش مبانی و کاربردهای راهبرد تلفیق داده یا Data Fusion -بخش دومfaradars
 
مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک
مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیکمجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک
مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیکfaradars
 
آموزش نظریه زبان ها و ماشین ها - بخش دوم
آموزش نظریه زبان ها و ماشین ها - بخش دومآموزش نظریه زبان ها و ماشین ها - بخش دوم
آموزش نظریه زبان ها و ماشین ها - بخش دومfaradars
 
آموزش پایگاه داده ها - بخش یکم
آموزش پایگاه داده ها - بخش یکمآموزش پایگاه داده ها - بخش یکم
آموزش پایگاه داده ها - بخش یکمfaradars
 
آموزش ساختمان داده ها - بخش نهم
آموزش ساختمان داده ها - بخش نهمآموزش ساختمان داده ها - بخش نهم
آموزش ساختمان داده ها - بخش نهمfaradars
 
آموزش تحقیق در عملیات (برنامه ریزی خطی) - بخش سوم
آموزش تحقیق در عملیات (برنامه ریزی خطی) - بخش سومآموزش تحقیق در عملیات (برنامه ریزی خطی) - بخش سوم
آموزش تحقیق در عملیات (برنامه ریزی خطی) - بخش سومfaradars
 

Similaire à آموزش سیستم های عامل - بخش ششم (20)

آموزش نظریه زبان ها و ماشین ها - بخش سوم
آموزش نظریه زبان ها و ماشین ها - بخش سومآموزش نظریه زبان ها و ماشین ها - بخش سوم
آموزش نظریه زبان ها و ماشین ها - بخش سوم
 
آموزش پایگاه داده ها - بخش یکم
آموزش پایگاه داده ها - بخش یکمآموزش پایگاه داده ها - بخش یکم
آموزش پایگاه داده ها - بخش یکم
 
آموزش پایگاه داده ها - بخش یکم
آموزش پایگاه داده ها - بخش یکمآموزش پایگاه داده ها - بخش یکم
آموزش پایگاه داده ها - بخش یکم
 
آموزش پایگاه داده ها - بخش یکم
آموزش پایگاه داده ها - بخش یکمآموزش پایگاه داده ها - بخش یکم
آموزش پایگاه داده ها - بخش یکم
 
آموزش ساختمان داده ها - بخش دوم
آموزش ساختمان داده ها - بخش دومآموزش ساختمان داده ها - بخش دوم
آموزش ساختمان داده ها - بخش دوم
 
آموزش پایگاه داده ها (مرور – تست کنکور ارشد)
آموزش پایگاه داده ها (مرور – تست کنکور ارشد)آموزش پایگاه داده ها (مرور – تست کنکور ارشد)
آموزش پایگاه داده ها (مرور – تست کنکور ارشد)
 
آموزش طراحی الگوریتم به همراه حل مثال های عملی - بخش دوم
آموزش طراحی الگوریتم به همراه حل مثال های عملی - بخش دومآموزش طراحی الگوریتم به همراه حل مثال های عملی - بخش دوم
آموزش طراحی الگوریتم به همراه حل مثال های عملی - بخش دوم
 
آموزش نظریه زبان ها و ماشین ها - بخش ششم
آموزش نظریه زبان ها و ماشین ها - بخش ششمآموزش نظریه زبان ها و ماشین ها - بخش ششم
آموزش نظریه زبان ها و ماشین ها - بخش ششم
 
آموزش طراحی الگوریتم به همراه حل مثال های عملی - بخش سوم
آموزش طراحی الگوریتم به همراه حل مثال های عملی - بخش سومآموزش طراحی الگوریتم به همراه حل مثال های عملی - بخش سوم
آموزش طراحی الگوریتم به همراه حل مثال های عملی - بخش سوم
 
آموزش ساختمان داده ها - بخش هفتم
آموزش ساختمان داده ها - بخش هفتمآموزش ساختمان داده ها - بخش هفتم
آموزش ساختمان داده ها - بخش هفتم
 
آموزش پایگاه داده ها - بخش یکم
آموزش پایگاه داده ها - بخش یکمآموزش پایگاه داده ها - بخش یکم
آموزش پایگاه داده ها - بخش یکم
 
آموزش برنامه نویسی R و نرم افزار R Studio بخش پنجم | فرادرس
 آموزش برنامه نویسی R و نرم افزار R Studio بخش پنجم | فرادرس آموزش برنامه نویسی R و نرم افزار R Studio بخش پنجم | فرادرس
آموزش برنامه نویسی R و نرم افزار R Studio بخش پنجم | فرادرس
 
آموزش مبانی و کاربردهای راهبرد تلفیق داده یا Data Fusion -بخش پنجم
آموزش مبانی و کاربردهای راهبرد تلفیق داده یا Data Fusion -بخش پنجمآموزش مبانی و کاربردهای راهبرد تلفیق داده یا Data Fusion -بخش پنجم
آموزش مبانی و کاربردهای راهبرد تلفیق داده یا Data Fusion -بخش پنجم
 
آموزش نظریه زبان ها و ماشین ها - بخش هفتم
آموزش نظریه زبان ها و ماشین ها - بخش هفتمآموزش نظریه زبان ها و ماشین ها - بخش هفتم
آموزش نظریه زبان ها و ماشین ها - بخش هفتم
 
آموزش مبانی و کاربردهای راهبرد تلفیق داده یا Data Fusion -بخش دوم
آموزش مبانی و کاربردهای راهبرد تلفیق داده یا Data Fusion -بخش دومآموزش مبانی و کاربردهای راهبرد تلفیق داده یا Data Fusion -بخش دوم
آموزش مبانی و کاربردهای راهبرد تلفیق داده یا Data Fusion -بخش دوم
 
مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک
مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیکمجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک
مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک
 
آموزش نظریه زبان ها و ماشین ها - بخش دوم
آموزش نظریه زبان ها و ماشین ها - بخش دومآموزش نظریه زبان ها و ماشین ها - بخش دوم
آموزش نظریه زبان ها و ماشین ها - بخش دوم
 
آموزش پایگاه داده ها - بخش یکم
آموزش پایگاه داده ها - بخش یکمآموزش پایگاه داده ها - بخش یکم
آموزش پایگاه داده ها - بخش یکم
 
آموزش ساختمان داده ها - بخش نهم
آموزش ساختمان داده ها - بخش نهمآموزش ساختمان داده ها - بخش نهم
آموزش ساختمان داده ها - بخش نهم
 
آموزش تحقیق در عملیات (برنامه ریزی خطی) - بخش سوم
آموزش تحقیق در عملیات (برنامه ریزی خطی) - بخش سومآموزش تحقیق در عملیات (برنامه ریزی خطی) - بخش سوم
آموزش تحقیق در عملیات (برنامه ریزی خطی) - بخش سوم
 

Plus de faradars

آموزش فیزیک الکتریسیته - فصل ششم تا نهم
آموزش فیزیک الکتریسیته - فصل ششم تا نهمآموزش فیزیک الکتریسیته - فصل ششم تا نهم
آموزش فیزیک الکتریسیته - فصل ششم تا نهمfaradars
 
آموزش فیزیک الکتریسیته - فصل یکم تا پنجم
آموزش فیزیک الکتریسیته - فصل یکم تا پنجمآموزش فیزیک الکتریسیته - فصل یکم تا پنجم
آموزش فیزیک الکتریسیته - فصل یکم تا پنجمfaradars
 
آموزش ترمودینامیک ۲ بخش سوم
آموزش ترمودینامیک ۲ بخش سومآموزش ترمودینامیک ۲ بخش سوم
آموزش ترمودینامیک ۲ بخش سومfaradars
 
آموزش ترمودینامیک ۲ بخش هشتم
آموزش ترمودینامیک ۲ بخش هشتمآموزش ترمودینامیک ۲ بخش هشتم
آموزش ترمودینامیک ۲ بخش هشتمfaradars
 
آموزش ترمودینامیک ۲ بخش دوم
آموزش ترمودینامیک ۲ بخش دومآموزش ترمودینامیک ۲ بخش دوم
آموزش ترمودینامیک ۲ بخش دومfaradars
 
آموزش ترمودینامیک ۲ بخش هفتم
آموزش ترمودینامیک ۲ بخش هفتمآموزش ترمودینامیک ۲ بخش هفتم
آموزش ترمودینامیک ۲ بخش هفتمfaradars
 
آموزش ترمودینامیک ۲ بخش ششم
آموزش ترمودینامیک ۲ بخش ششمآموزش ترمودینامیک ۲ بخش ششم
آموزش ترمودینامیک ۲ بخش ششمfaradars
 
آموزش ترمودینامیک ۲ بخش اول
آموزش ترمودینامیک ۲ بخش اولآموزش ترمودینامیک ۲ بخش اول
آموزش ترمودینامیک ۲ بخش اولfaradars
 
آموزش ترمودینامیک ۲ بخش پنجم
آموزش ترمودینامیک ۲ بخش پنجمآموزش ترمودینامیک ۲ بخش پنجم
آموزش ترمودینامیک ۲ بخش پنجمfaradars
 
آموزش ترمودینامیک ۲ بخش چهارم
آموزش ترمودینامیک ۲ بخش چهارمآموزش ترمودینامیک ۲ بخش چهارم
آموزش ترمودینامیک ۲ بخش چهارمfaradars
 
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...faradars
 
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...faradars
 
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...faradars
 
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...faradars
 
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...faradars
 
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...faradars
 
آموزش کنترلرهای تطبیقی خود تنظیم با متلب بخش سوم (الف)
آموزش کنترلرهای تطبیقی خود تنظیم با متلب بخش سوم (الف)آموزش کنترلرهای تطبیقی خود تنظیم با متلب بخش سوم (الف)
آموزش کنترلرهای تطبیقی خود تنظیم با متلب بخش سوم (الف)faradars
 
آموزش کنترلرهای تطبیقی خود تنظیم با متلب بخش دوم (الف)
آموزش کنترلرهای تطبیقی خود تنظیم با متلب بخش دوم (الف)آموزش کنترلرهای تطبیقی خود تنظیم با متلب بخش دوم (الف)
آموزش کنترلرهای تطبیقی خود تنظیم با متلب بخش دوم (الف)faradars
 
آموزش کنترلرهای تطبیقی خود تنظیم با متلب بخش اول
 آموزش کنترلرهای تطبیقی خود تنظیم با متلب بخش اول آموزش کنترلرهای تطبیقی خود تنظیم با متلب بخش اول
آموزش کنترلرهای تطبیقی خود تنظیم با متلب بخش اولfaradars
 

Plus de faradars (19)

آموزش فیزیک الکتریسیته - فصل ششم تا نهم
آموزش فیزیک الکتریسیته - فصل ششم تا نهمآموزش فیزیک الکتریسیته - فصل ششم تا نهم
آموزش فیزیک الکتریسیته - فصل ششم تا نهم
 
آموزش فیزیک الکتریسیته - فصل یکم تا پنجم
آموزش فیزیک الکتریسیته - فصل یکم تا پنجمآموزش فیزیک الکتریسیته - فصل یکم تا پنجم
آموزش فیزیک الکتریسیته - فصل یکم تا پنجم
 
آموزش ترمودینامیک ۲ بخش سوم
آموزش ترمودینامیک ۲ بخش سومآموزش ترمودینامیک ۲ بخش سوم
آموزش ترمودینامیک ۲ بخش سوم
 
آموزش ترمودینامیک ۲ بخش هشتم
آموزش ترمودینامیک ۲ بخش هشتمآموزش ترمودینامیک ۲ بخش هشتم
آموزش ترمودینامیک ۲ بخش هشتم
 
آموزش ترمودینامیک ۲ بخش دوم
آموزش ترمودینامیک ۲ بخش دومآموزش ترمودینامیک ۲ بخش دوم
آموزش ترمودینامیک ۲ بخش دوم
 
آموزش ترمودینامیک ۲ بخش هفتم
آموزش ترمودینامیک ۲ بخش هفتمآموزش ترمودینامیک ۲ بخش هفتم
آموزش ترمودینامیک ۲ بخش هفتم
 
آموزش ترمودینامیک ۲ بخش ششم
آموزش ترمودینامیک ۲ بخش ششمآموزش ترمودینامیک ۲ بخش ششم
آموزش ترمودینامیک ۲ بخش ششم
 
آموزش ترمودینامیک ۲ بخش اول
آموزش ترمودینامیک ۲ بخش اولآموزش ترمودینامیک ۲ بخش اول
آموزش ترمودینامیک ۲ بخش اول
 
آموزش ترمودینامیک ۲ بخش پنجم
آموزش ترمودینامیک ۲ بخش پنجمآموزش ترمودینامیک ۲ بخش پنجم
آموزش ترمودینامیک ۲ بخش پنجم
 
آموزش ترمودینامیک ۲ بخش چهارم
آموزش ترمودینامیک ۲ بخش چهارمآموزش ترمودینامیک ۲ بخش چهارم
آموزش ترمودینامیک ۲ بخش چهارم
 
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...
 
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...
 
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...
 
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...
 
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...
 
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...
 
آموزش کنترلرهای تطبیقی خود تنظیم با متلب بخش سوم (الف)
آموزش کنترلرهای تطبیقی خود تنظیم با متلب بخش سوم (الف)آموزش کنترلرهای تطبیقی خود تنظیم با متلب بخش سوم (الف)
آموزش کنترلرهای تطبیقی خود تنظیم با متلب بخش سوم (الف)
 
آموزش کنترلرهای تطبیقی خود تنظیم با متلب بخش دوم (الف)
آموزش کنترلرهای تطبیقی خود تنظیم با متلب بخش دوم (الف)آموزش کنترلرهای تطبیقی خود تنظیم با متلب بخش دوم (الف)
آموزش کنترلرهای تطبیقی خود تنظیم با متلب بخش دوم (الف)
 
آموزش کنترلرهای تطبیقی خود تنظیم با متلب بخش اول
 آموزش کنترلرهای تطبیقی خود تنظیم با متلب بخش اول آموزش کنترلرهای تطبیقی خود تنظیم با متلب بخش اول
آموزش کنترلرهای تطبیقی خود تنظیم با متلب بخش اول
 

آموزش سیستم های عامل - بخش ششم