سلام یه مقدار توضح درباره زبانهای سیستم عامل میخواسم و اینکه با پاسکا میشه سیستم عامل به وجود اورد واگه آره یه کامپایلر پاسکال برای این کا ر میخوام
Printable View
سلام یه مقدار توضح درباره زبانهای سیستم عامل میخواسم و اینکه با پاسکا میشه سیستم عامل به وجود اورد واگه آره یه کامپایلر پاسکال برای این کا ر میخوام
منظورتون از توضییح در مورد زبانهای سیستم عامل چیست؟؟؟
اگر منظورتون زبانهای طراحی و پیاده سازی سیستم عامل است که اصلی ترین آنها عبارت اند از: C, C++, Assembly این زبانها به دلیل نزدیکی بیشتر به زبان ماشین و سخت افزار مناسب ترین گزینه برای طراحی و ساخت یک سیستم عامل به حساب می آیند.
در مورد نوشتن سیستم عامل با زبان Pascal هم باید بگم که:
الف) پاسکال یک زبان سطح بالاست.
ب) هدف از به وجود آوردن زبان پاسکال فقط آموزش بود.
ج) اگرچه پاسکال از اشاره گرها استفاده می کنه ولی هیچگاه قدرت زبان C را نخواهد داشت.
د) تا اونجایی که من می دونم نتیجه کامپایل برنامه های پاسکال یک فایل اجرایی وابسته به سیستم عامل است، در صورتی که در کامپایلرهای C می توان مشخص کرد که فایل خروجی چه فرمتی داشته باشد. bin, object, library
پس همانطور که متوجه شدی با زبان پاسکال نمیشه یک سیستم عامل کاربردی نوشت.
موفق باشید.
سلام دوستان عزیز.
من میخوام نوشتن سیستم عامل (core) رو یاد بگیرم. به یادگیری چه چیزایی احتیاج دارم؟
آیا ایز ایران و ... کلاسهایی در این زمینه دارن؟
سلام. کسی از دوستان نمیتونه من رو راهنمایی کنه؟:متفکر:
با سلام :
دوست عزیز شما باید توجه کنید که سیستم عاملهای موجود با سی نوشته شده اند " ویندوز ، لینوکس ، مک ، و .... " اما با پاسکال هم میشه به شرطی که اسمبلی و ارتباط با اسمبلی توسط پاسکال رو بلد باشی من به عنوان مثال یک قطعه کد که مربوط به بوت دیسک میشه و با پاسکال نوشته شده رو قرار میدم شاید کمک کنه تا بیشتر متوجه بشی :
{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 هست به همراه توضیح و ... و ترجمه شده به فارسی رو تهیه کنی و مطالعه کنی البته همون طور که گفتم این سیستم عامل هم با سی نوشته شده .
امیدوارم کمکی کرده باشم .
سلام :
البته کل یک سیستم عامل را میشه بطور کامل با assembly نوشت مثل سیستم عاملهای زیر که کاملا با زبان اسمبلی نوشته شده اند:
DexOS , Kolibrios
این دو سیستم عامل کاملا با زبان اسمبلی و البته با بهترین کامپایلر این زبان یعنی اسمبلر FASM نوشته شده اند .
ادرس سایت رسمی اسمبلر FASM
https://flatassembler.net