PDA

View Full Version : سوال: زبانهای برنامه نویسی برای سستم عامل



qazwsx
شنبه 18 خرداد 1387, 01:11 صبح
سلام یه مقدار توضح درباره زبانهای سیستم عامل میخواسم و اینکه با پاسکا میشه سیستم عامل به وجود اورد واگه آره یه کامپایلر پاسکال برای این کا ر میخوام

unix_svr4
جمعه 24 خرداد 1387, 15:29 عصر
منظورتون از توضییح در مورد زبانهای سیستم عامل چیست؟؟؟
اگر منظورتون زبانهای طراحی و پیاده سازی سیستم عامل است که اصلی ترین آنها عبارت اند از: C, C++, Assembly این زبانها به دلیل نزدیکی بیشتر به زبان ماشین و سخت افزار مناسب ترین گزینه برای طراحی و ساخت یک سیستم عامل به حساب می آیند.
در مورد نوشتن سیستم عامل با زبان Pascal هم باید بگم که:
الف) پاسکال یک زبان سطح بالاست.
ب) هدف از به وجود آوردن زبان پاسکال فقط آموزش بود.
ج) اگرچه پاسکال از اشاره گرها استفاده می کنه ولی هیچگاه قدرت زبان C را نخواهد داشت.
د) تا اونجایی که من می دونم نتیجه کامپایل برنامه های پاسکال یک فایل اجرایی وابسته به سیستم عامل است، در صورتی که در کامپایلرهای C می توان مشخص کرد که فایل خروجی چه فرمتی داشته باشد. bin, object, library

پس همانطور که متوجه شدی با زبان پاسکال نمیشه یک سیستم عامل کاربردی نوشت.

موفق باشید.

application_13
شنبه 29 تیر 1387, 14:13 عصر
سلام دوستان عزیز.
من میخوام نوشتن سیستم عامل (core) رو یاد بگیرم. به یادگیری چه چیزایی احتیاج دارم؟
آیا ایز ایران و ... کلاسهایی در این زمینه دارن؟

application_13
یک شنبه 30 تیر 1387, 14:23 عصر
سلام. کسی از دوستان نمیتونه من رو راهنمایی کنه؟:متفکر:

miradli
یک شنبه 30 تیر 1387, 20:07 عصر
با سلام :
دوست عزیز شما باید توجه کنید که سیستم عاملهای موجود با سی نوشته شده اند " ویندوز ، لینوکس ، مک ، و .... " اما با پاسکال هم میشه به شرطی که اسمبلی و ارتباط با اسمبلی توسط پاسکال رو بلد باشی من به عنوان مثال یک قطعه کد که مربوط به بوت دیسک میشه و با پاسکال نوشته شده رو قرار میدم شاید کمک کنه تا بیشتر متوجه بشی :



{Function:Boot message for A-disk
Language:Turbo Pascal

BlackMedia 43}
label F;
var B: array[0..255] of Word;
E: Word; s: string[80];
const n: string=
#$FA+
#$FC+
#$B9#$27#$00+
#$BF#$00#$BC+
#$BE#$44#$7C+
#$33#$C0+
#$8E#$D8+
#$8E#$C0+
#$F3#$A4+
#$EA#$00#$BC#$00#$00+
#$BE#$6B#$7C+
#$AC+
#$0A#$C0+
#$74#$08+
#$33#$DB+
#$B4#$0E+
#$CD#$10+
#$EB#$F3+
#$B8#$01#$02+
#$BB#$00#$7C+
#$B9#$01#$00+
#$BA#$80#$00+
#$CD#$13+
#$72#$05+
#$EA#$0#$7C#$00#$00+
#$EB#$FE;
begin Write
('BootDisk ‏BlackMedia 43 ‏');
s:='';
for E:=1 to ParamCount do
s:=s+ParamStr(E)+' ';
n:=n+s+^M^J#0; E:=0;
asm
push DS; XOR AX,AX; mov DX,AX
mov CX,1; mov BX,offset B
Int 25h
pop DS; pop DS
jnc @1; mov E,1; @1:
end;
if E=1 then goto F;
B[0]:=$2AEB;
Move(n[1],B[$16],Length(n));
asm
push DS; XOR AX,AX; mov DX,AX
mov CX,1; mov BX,offset B
Int 26h
pop DS; pop DS
jnc @1; mov E,1; @1:
end;
if E=1 then goto F;
WriteLn('finished. '); Halt(0);
F: WriteLn('Error! ', #7); Halt(1);
end.



در کد بالا قسمتهایی که نوشته شده asm برنامه به اسمبلی پل زده !

پیشنهاد من برای درک کامل از طراحی یک سیستم عامل اینه که کتاب طراحی و پیاده سازی سیستم های عامل رو که نوشته تانن باوم هست و محتوی کدهای سیستم عامل minix هست به همراه توضیح و ... و ترجمه شده به فارسی رو تهیه کنی و مطالعه کنی البته همون طور که گفتم این سیستم عامل هم با سی نوشته شده .

امیدوارم کمکی کرده باشم .

typeman9
یک شنبه 13 اسفند 1396, 05:33 صبح
سلام :

البته کل یک سیستم عامل را میشه بطور کامل با assembly نوشت مثل سیستم عاملهای زیر که کاملا با زبان اسمبلی نوشته شده اند:

DexOS , Kolibrios

این دو سیستم عامل کاملا با زبان اسمبلی و البته با بهترین کامپایلر این زبان یعنی اسمبلر FASM نوشته شده اند .

ادرس سایت رسمی اسمبلر FASM

https://flatassembler.net