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

razigam
جمعه 01 فروردین 1404, 06:48 صبح
سلام دوستان عزیز.
من میخوام نوشتن سیستم عامل (core) رو یاد بگیرم. به یادگیری چه چیزایی احتیاج دارم؟
آیا ایز ایران و ... کلاسهایی در این زمینه دارن؟

درود بر شما
ما یک گروه برای ساخت سیستم عامل ایرانی در تلگرام تاسیس کردیم.
اگر بعد از این همه سال همچنان علاقه‌مند هستید، به شما خوش‌آمد می‌گوییم.