تبلیغات :
خرید لپ تاپ استوک
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




صفحه 10 از 43 اولاول ... 6789101112131420 ... آخرآخر
نمايش نتايج 91 به 100 از 428

نام تاپيک: سيستم عامل كاملا ايراني . نه اينكه لينوكسو يا ويندوز رو فارسي كنيد

  1. #91
    پروفشنال
    تاريخ عضويت
    Dec 2005
    محل سكونت
    تهران - سه راه افسريه - شهرك كاروان (رضويه)
    پست ها
    748

    پيش فرض

    سلام
    خيلي خوبه مستر جان
    فقط يك نكته بگم به دوستان كه يكم بيشتر به اين تايپ سر بزنيد حداقل روزي يكبار رو ديگه سر بزنيد چون كار داره آهسته پيش ميره
    با تشكر
    Aakh1361

  2. #92
    اگه نباشه جاش خالی می مونه netspc's Avatar
    تاريخ عضويت
    Jan 2006
    پست ها
    223

    پيش فرض

    سلام دوستان ببخشيد كه چند روزي نبودم
    دنبال كارهاي هند بودم
    دوستان اسكن فصل اول رو طي يكي دو روز آينده ميذارم روي سايت
    در ضمن لاو دستت درد نكنه بابت مطلب بوت ولي توي اسمبلي اون يه ذره مشكل دارم كه اگه شد مطرح ميكنم چون الان يه خورده سرم شلوغه عذرخواهي مرا بابت ديركرد و غيبت پذيرا باشيد

  3. #93
    پروفشنال
    تاريخ عضويت
    Dec 2005
    محل سكونت
    تهران - سه راه افسريه - شهرك كاروان (رضويه)
    پست ها
    748

    پيش فرض

    نت عزيز اميدوارم مشكلاتت حل بشه و دوباره با همديگر همكاري بهتري داشته باشيم
    به سلامتي سفر هند در پيش داري ؟
    موفق باشي
    _Love_Coder_

  4. #94
    آخر فروم باز Master's Avatar
    تاريخ عضويت
    Oct 2005
    محل سكونت
    Somewhere nearby,Who Cares
    پست ها
    1,453

    پيش فرض

    سلام به همگی .شروع به کار برای ساختن یه سیستم عامل ملی :
    قدم اول:
    به نظر می رسه که بیشتر مردمدلشون می خواد که یه سیستم عامل بنویسن . اما نمی دونن که از کجا باید شروع کنن و یا اینکه چه زبان یا زبانهایی برای این کار لازم دادن ( باید بلد باشن).
    خوب , وقتی که منم می خواستم سیستم عامل خودمو بسازم مثل شما بودم .بنابر این این مقاله ی تمرینی رو براتون بنویسم تا شروع به ساختن یه سیستم عامل برای خودتون بکنید . من این مقاله رو بصورت سوال و جواب نوشتم تا فهمش واستون اسون باشه ( انقدر زور نزنید تا یه چیزو بفهمید )
    1)سوال ؟: من باید چه زبان های بر نامه نویسی رو بلد باشم تا بتونم یه سیستم عامل بسازم .؟
    جواب:شما باید زبان اسمبلی ASM رو بلد باشید تا بتونید BootSector خودتونو بسازید .(بنویسید) (بقیه ی تو ضی حات تو این زمینه تو سوال بعد یه ) و چند تا چیز دیگه . من به شما پیشنهاد می کنم که زبان C/C++ رو هم یاد بگیرید (اقا این علامت + بیخود رفته رفته پشت c . این جلویه C هستش .++c حالا درست شد . نگید من یه زبان جدید از خودم در اووردم .) چون بیشتر از زبان اسمبلی قابل فهمه . بعد از این شما می تونید هم از زبان اسمبلی و هم اززبان سی تو ساخت سیستم عاملتون استفاده کنین.

    2)سوال؟:بوت سکتور دیگه چیه :
    جواب : بوت سکتور (فعال سازی قست اولیه) یه برنامه کوچیکه که تو قطاع اولیه فلاپی دیسک یا هاردیسک نگه داری میشه. . این بوت سکتور مسعول پیدا کردن کرنل شما ( کرنل قسمت اصلی سیستم عامل شماست که بیشتر کارا رو انجام می ده ) بارگذاری اون تویه حافظه و بعدشم اجرای اونه .

    3)سوال؟:ایا لازمه که من قبل از اینکه یه سیستم عامل بسازم , یه سیستم عامل دیگه داشته باشم ( یعنی یه سیستم عامل دیگه نصب باشه ؟)؟
    جواب : آره . بیشتر مردم از ویندوز یا لینوکس برای ساختن یه سیستم عامل استفاده می کنن .

    4)سوال؟: من باید از چه کمپایلر هایی استفاده کنم ؟
    جواب : برای زبان اسمبلی من NASM رو پیشنهاد می کنم . چون اولا هم رایگانه . هم مستندات خوبی داره هم خورجی که داره فرمتهای مختلفی رو پشتیبانی می کنه ( یعنی فرمتهای مختلفی رو می تونید ازش بیرون بیارید .) برای اکثر سیستم امل ها هم در دسترس هستن . کد منابعشم در دسترسه و بیشتر نمونه های اسمبلی بکار رفته برای ساخت یه سیستم عامل به اون نیاز دارن . برای زبان C هم GCC رو پیشنهاد میکنم ( البته تحت سیستم عامل های لینوکس و DJGPP و همینطور ویندوز ( یعنی اینکه اگه اینا رو نصب کردید ) ( هر دو تا ی اینا با بقیه سازگارن )

    5)سوال؟: حالا چجوری من بوت سکتور سیستم عاملمو Bootable (قابل بالا امدن در اول شروع به کار سیستم عامل ) کنم ؟
    جواب:شما برای این کار باید خرو جی فایل رو رو فرمت Flat binary تنظیم کنید . یعنی باید فایل شما مو قعی که می خواد از خرو جی بیاد بیرون Flat binary باشه . برای NASM از f bin- استفاده کنین . اگه از C یا ++C استفاده می کنین شما باید از یه ارتباط دهنده )linker) برای این کار استفاده کنید ( سوال بعدی رو ببینین )



    قدم دوم :برای ساختن یه سیستم عامل ********************************************
    6)سوال؟: این ارتباط دهنده دیگه چیه و چجوری از اون تو ساخت یه سیستم عامل استفاده کنیم ؟
    جواب: ارتباط دهنده یا Linker فایلهای خروجی که کمپایلر ها بو جود میارن رو میگیره و اونا رو به یه فایل ارتباط می ده . برای ساخت یه سیستم عامل , شما بطور معمول می خولیید که فایلهاتونو با فایلها Flat binary ارتباط بدید , برای LD ( ارتباط دهنده ای که بیشتر اوقات با DJGPP و GCC استفاده میشه ) از گزینه ی oformat binary استفاده کنین . اگه شما از LD استفاده کنین باید از یه اسکریپت ارتباط دهنده برای کنترل بهتر ارتباطها استفاده کنین .پیشنهاد منو برای ساختن سیستم عاملتون ببینید .

    7)؟: حالت Real Time یا حالت بی درنگ چیه ؟
    جواب : Real Time یا حالت بی درنگ , عنوان لفظیه که یعنی X86 ( 386 486 pnetium) و غیره ) وجود داره زمانی که شما برای دفعه ی اول کامپیوترتون رو روشن می کنین . اما این حالت بی درنگ چند تا مشکل اساسی داره:

    1)این حالت از لحاظ امنیتی و محافظتی کم داره , توانایی که برنامه ها رو از گم به گور شدن و یا باعث هنگ کردن همیدگه شدن باز میداره (این توانایی وجود نداره )
    2)شما ممکنه تنها بتونی از یه سیستم عامل استفاده کنین ( مثلا فقط .ویندوز اکس پی . دیگه نمی تونی دو تا ویندوز نصب کنی )
    3)شما تنها به یه (1) مگابایت فضا برای ادرس دهی محدود هستین .
    4)شما حتما باید از بخش بخش سازی برای دسترسی به حافظه استفاده کنین


    8)سوال ؟: حالت Protedcted Mode یا محافظت شده چیه؟
    جواب :حالت محافظت شده ( به PModeهم معروفه ) ,یه برنامه برای پیشرفت کردن از حالت بی درنگ یا Real Time هست ( یعنی برانامه ای برای مواجه نشدن با حالت بی درنگ و استفاده نکردن از اون )
    حالت محافظت شده نسبت به حالت بی درنگ چندین مزیت داره :
    1) حالت محافظت شده , حفاظ داره . قابلیت و توانایی که باعث میشه , برنامه گم و گور نشن و یا باعث اختلال در کار هم نشن . (ان اسم محافظت شده ای هم که داه به خاطر همینه .)
    2)این امکان هست که شما چند سیستم عامل داشته باشید (مثل لینوکس یا ویندوز)
    3)شما 4 گیگابایت فضا برای ادرس دهی دارین , آره کف نکنید 4 گیگابایت برای فضای مورد نیاز برای ادرس (زمانی که درگاه A20 پایان پذیر باشه ( سوال نکنید . سوال بعدی رو ببینید .)
    4)شما میتونید از پی جویی کردن(بابا منظورم همون جستجوه ) برای دسترسی به حافظه استفاده کنین .
    5)اگه تا لان نگرفتین باید بگم که سیستم عامل شما باید در حالت حفاظت شده اجرا بشه مگه اینکه شما دلیل خاصی داشته باشین که بخواین لز حالت مزخرف بی درنگ استفاده کنید .(پس ما در حال عادی از حالت حفاظت شده برای اجرای سیستم عامل استفاده می کنیم.)

    9)سوال؟:راستی اون درگاه A20 که گفتی , چیه ؟
    جواب:ریز پردازندها 8086 (پردازنده ای که قبل از 286,386,486و پنتیوم و غیره ... اومدن ) تنها میتونستن به یک مگابایت فضا برای ادر دهی دسترسی داشته باشن . برای برای اون گستره مقدار حافظه 20 تا ادرس بیتی از A0 تا َA19 سودمندو مفید بودن . بعدش اینتل 80286 رو اختراع کردو ساخت ( که بعدا فقط بهش 286 میگفتن ) 80286 می تونست تا 16 مگابایت فضا برای ادرس دهی دسترسی پیدا کنه . ولی 80286 باید با 8086 سازگار مشد . (برنامه هایی بودن که برای 8086 ساخته شده بودن که باعث اجرا شدن اونا روی 80286 بشن .) حالا خر بیارو باقالی بار کن . حالا راه حل برای اینکه 80286 قابلیت دسترسی به فضای مورد نیاز برای ادرس دهیش بیشتر شه چیه ؟ در عین حال بعضی برنامه ها بر روی این واقعیت که ادرسها دوروور یه چیزی حدود 1 مگابایت جمع اوری و ساخته شده شدن, استوار بود .
    بچه ها , بیاین اینو طوری که 8086 میدید ما هم ببینیم , شما ادرس 11111111111111111111 ( 20تا 1) رو در یک سیستم دوتایی (Dual asystem) دارید و به اون یه یک )1( اضافه میکنید . فکر میکنید چه اتفاقی می افته , نتیجه صفره . چونکه شما بیست و یکمین بیت رو ندارید )A20!( ولی در واقع 80286 بیت های بیشتری داشت . برای حل این مشکل اینتل 80286 رو ساخت , درگاه A20 رو غیر فعال کرد و گستره ی ادرس دهی رو به 20 بیت )َََA20( رسوند .(محدود کرد).


    قدم سوم برای ساختن یک سیستم عامل:***************************************** ***
    خوب ,پس برای دسترسی به بیشتر از یک مگابایت حافظه , ما باید درگاه 20آ یا A20 رو فعال کنیم .
    10)انتخاب گر یا Selector چیه ؟
    یه انتخاب گر ( بعضی وقتا , بهش شناسا یا تو صیف گر هم می گن . ) معنیه یه بخشه . یعنی اینکه کار و وظیه ای که براش از قبل تععین شده ,رو مشخص می کنه ) که اطلاعاتی از و ظایف و کار های بخش پایه رو در خودش داره . مثل اساس بخش )Segment base) (این شروع کننده اس) و حد بخش (این طولشه ) . هر انتخابگر 64 بیتی هست . اطلاعات بیشتر از این دوتا رو تو قسمت GDT و LDT بخونید .

    11) سوال؟:GDT چیه ؟
    GDT یه صفحه (جدول) (یه بخش ) که حاوی انتخابگر ه . اساسا GDT ادرس اولیه رو برای ادرس دهی تمامی انتخاب گر ها بو جود می اره .

    12)سوال؟: Interrup یا گسستگی چیه؟
    جواب:گسستگی با Interrup یه علامته که باعث میشه cpu از انجام عملیا تی که در حال حاظر در حال انجامشه دست بکشه . این به cpu میگه که یه عملیات مهم رسیده , برای مثال سخت افزار از کار کردن می ایسته . cpu هم لازمه که عملیات در حال اجرا رو متوقف کنه و از گسسته گر مناسب استفاده کنه . گسسته گر مناسب , یه عملیاته مخصوصه که برای اجرای گسستگی ها ی بخصوص (مثل فشار دادن کلید روی صفحه کلید) طراحی شده .
    همونطور کهمی دونید گسستگی ها( از این عملیات به اون عملیات رفتن رو می گم گسستگی . یعنی یه عملیات متوقف شه و یکی دیگه اجرا شه .) تنظیمات مخصوص به خودشونو دارن . برای مثال , اونا می تونن از زنگ 3 به زنگ 0 تغییر پیدا کنن و مورد استفاده قرار بگیرن .اونا می تونن در یه سیستم عامل به عنوان راهی برای انجام مکالمات سیستم استفاده بشن .مکالمات سیستمی لینوکس هم بر همین مبناست .
    12)سوال ؟:PIC چیه ؟
    جواب:مخفف کنترل گر گسستگی قابل برنامه است , یه وسیله ایه که در خواست های سخت افزار ها برای گسستگی ( خاتمهی یک عملیات و شروع عملیات دیگه ) رو جمع اوری میکنه ., وبه Cpu علامت می ده که یه گسستگی اتفاق افتاد . وقتی که این اتفاق می افته , هم PIC و Cpu هر دو با هم ارتباط بر قرار می کنن و گسسته گر رو برای اجرای درخواست جدیداجرا می کنن .
    13)حالا این PIT یعنی چی ؟
    PIT مخفف , زمانسنج گسستگی قابل برنامه ریزی هست . یه زمانسنج سخت افزاری قابل برنامه ریزی ( شما می تونید سر عتشو تغییر بدید) هستش که گسستگی رو از بین می بره زمانی که کارش تموم می شه ( یعنی موقعی که دیگه کار قدیمی تموم شده و کار جدید در حال در خواست دادنه ) (IRQO) این بیشتر برای برنامه ریزی برای انجام عملیات هاست .

    14)سوال؟: بر چه اساس و ترتیبی من باید سیستم عاملمو بسازم .؟
    جواب :خوب شما می تونید , تقریبا از هر جایی شروع کنید , ولی مطمعنا وقتی کارتون تموم شد یه دو جین باگ و سوراخ سمبه پیدا می کنید . من پیشنهاد می کنم که شما اول یه بوت سکتور بسازین , بعدش یه کرنل پایه بسازید و بعد هم بقیه رو به کرنل اضافه کنین .
    15)سوال؟:بازم یه سوال دیگه :قدمهای اساسی و اولیه برای ساختن حالت محافظت شده در موقع بوت چیه ؟
    جواب:
    1)گسستگی رو غیر فعال کنید تا چیزی گم و گور نشه
    2)GDT رو ستاپ کنید .
    3)A20 رو فعال کنید .
    4)اولین بیت از CR0 رو رویه 1 تنظیم کنید.
    5)محل های ثبت بخش رو بار گذاری کنید , البته با مقدار های درست از GDT.
    6) سی اس CS و EIP رو با مقدار های درست , بوسیله ی یک پرش بلند, بارگذاری کنید .
    7) حالا شما تو حالت محافظت شده هستین .

    خوب چطور بود بچه ها . ببخشید دیر شد . سرم خیلی شلوغ بود . یه نگاه به امضامم بندازید میگیرید چی می گم /
    Last edited by Master; 04-03-2006 at 10:17.

  5. #95
    اگه نباشه جاش خالی می مونه netspc's Avatar
    تاريخ عضويت
    Jan 2006
    پست ها
    223

    پيش فرض

    خيلي ممنون از لطفي كه كردي يكسري ايراد كوچولو داشت رفع كردم به صورت پي دي اف ميزام روي سايتم برداريد.
    در ضمن سي دي كامل مينكس اومد 60 مگ هستش اسپيلتش ميكنم برداريد

  6. #96

  7. #97
    پروفشنال
    تاريخ عضويت
    Dec 2005
    محل سكونت
    تهران - سه راه افسريه - شهرك كاروان (رضويه)
    پست ها
    748

    پيش فرض

    ممنون مستر جان
    چند تا ايراد كوچولو داشت كه نت گفت رفعشون كرده

    در ضمن سي دي كامل مينكس اومد 60 مگ هستش اسپيلتش ميكنم برداريد
    نت عزيز بهتر هست اين كار رو نكني
    چون اكثر 99.99 درصد سرعت دسترسي به اينترنت پاييني داريم و نمي تونيم دانلود كنم و فضاي شما كه براي اين كار روي سايتتون اختصاص داديد به هدر ميره

    در ضمن من از خود سايت مينيكس فايل ISO ش رو دريافت كردم كه قابل نصب بر روي هارد هست (مي تونيد رو Virtual PC نصبش كنيد) و حجمش سه مگابايت هست و مينيكس بر روي سيستم نصب ميشه و به صورت خط فرمان هست فكر كنم اگر اون رو قرار بدي رو سايتت بهتر باشه
    موفق باشيد

  8. #98
    اگه نباشه جاش خالی می مونه MAR_Programmer's Avatar
    تاريخ عضويت
    Feb 2006
    محل سكونت
    Ubuntu Desktop
    پست ها
    253

    پيش فرض

    مستر جون دل انگیز
    بابا تو که این همه توضیح دادی یه چندتا کد هم می نوشتی تکمیل میشد جیگر. اما دستت درد نکه به درد ما که خورد
    همیشه پایدار باشی

  9. #99
    اگه نباشه جاش خالی می مونه netspc's Avatar
    تاريخ عضويت
    Jan 2006
    پست ها
    223

    پيش فرض

    خب شما دوست عزيز نميخواي يه دستي به ما بدي(كمك كني)؟؟؟

  10. #100
    پروفشنال
    تاريخ عضويت
    Dec 2005
    محل سكونت
    تهران - سه راه افسريه - شهرك كاروان (رضويه)
    پست ها
    748

    پيش فرض

    سلام
    اول از مستر عزيز ممنونم بابت مقالشون
    من مقاله رو 4-5 بار مطالعه كردم و ديدم با اينكه نت عزيز بعضي قسمت هاش رو ويرايش كرده بازهم بعضي از قسمت هاش نياز ضروري به ويرايش داره من الان سركارم هستم شب ساعت 11.30 مقاله ويرايش شده رو براتون قرار مي دهم
    البته با اجازه مستر و نت عزيز

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •