نمایش نتایج 1 تا 25 از 25

نام تاپیک: طراحی سیستم عامل

  1. #1

    Cool طراحی سیستم عامل

    چگونه کرنل را بار کنم
    البته بصورت فایل

    و

    چگونه فایل اجرایی را اجرا کنم(در سیستم عملم)

  2. #2
    کاربر دائمی آواتار Delphi Skyline
    تاریخ عضویت
    دی 1383
    محل زندگی
    شیراز
    پست
    1,174
    میتونید اونو به صورت BootDisk در بیارید . مثل menute OS

  3. #3
    عزیزم می دونم
    می خواهم پس قرار گرفتن در حافظه کرنل را بار کنم
    یعنی:
    BootSector.Bin --------------> 07C00h
    بعدش بوت سکتور کرنل را خوانده در حافظه قرار بده بعد هم
    کنترل اجرا را به اون بده

    ok

  4. #4
    کاربر دائمی آواتار aakh1361
    تاریخ عضویت
    آبان 1383
    محل زندگی
    تهران - سه راه افسریه - شهرک کاروان
    پست
    380
    شما به این ادرس مراجه کن
    http://www.persiasecure.com/OS/
    در قسمت مقالات مقاله چگونگی ساخت bootloader که توانایی خواندن fat12 را دارد مترجم رو مطالعه کنید
    اگر مشکلی بود در خدمتم

  5. #5
    مرسی
    3 تا سوال دارم
    1-آن سگمنت هایی که اول برنامه تنظیم می کنیم برای اجرای bootstrap است
    یا برنامه ای که قرار است بار کند
    2-چرای برای خواندن جدول fat و Directory root آن را باید به حافضه بار کرد
    3-آیا همینگونه می توانم برنامه های اجرایی سیستم عاملم را اجرا کنم

  6. #6
    کاربر دائمی آواتار aakh1361
    تاریخ عضویت
    آبان 1383
    محل زندگی
    تهران - سه راه افسریه - شهرک کاروان
    پست
    380
    1 - سگمنت نیست افست هست و برای اجرای bootstrap است برنامه ای که قرار است بار کند رو خود بایوس اتوماتیک اجرا می کنه و کارش خوندن bootstrap و اوردن اون به ادرس 7C00 و اجرای اون است پس باید برنامه ما ادرس داخلیش با ادرسی که بایوس bootstrap رو به اونجا می بره یکی باشه که یرنامه دچار فرو پاشی نشه

    2 -در واقع FAT یک برنامه مدیرت فایل هست که در هسته اجرا میشه و به شما اجازه میده اطلاعاتتون رو به صورت فایل ذخیره کنید این برنامه مدیریت فایل (FAT) در ویندوز تعریف شده اما وقتی شما سیستم عامل می نویسید باید برای استفاده از اطلاعاتتون که در داریوی ذخیره کردید و به صورت FAT هست باید برای اینکار دوباره برنامه مدیریت فایل FAT رو از اول بنویسید یعنی شما وقتی دارید سیستم عامل می نویسید شما هیچ یک از امکاناتی که در ویندوز وجود داره رو نمی تونید استفاده کنید و باید خودتون این امکانات رو برای کرنل فراهم کنید


    3 - نه برنامه شما نباید از وقفه ها و امکانات سیستم عاملی که ازش استفاده می کنید (روش برنامه نویسی می کنید) استفاده بکنه ! و برنامه Exe شما هیچ وقت در بوت سکتور اجرا نمیشه و این فرمت Exe برای سیستم عاملی که دارید ازش استفاده می کنید (ویندوز)تعریف شده اما وقتی شما دارید سیستم عامل می نویسید این فرمت شناخته شده نیست و باید برای اینکار تو هسته سیستم عاملتون این فرمت رو تعریف کنید

  7. #7
    1-منظور من:

    cli
    xor ax, ax ; initialize all the necessary
    mov ds, ax ; registers.
    mov es, ax
    mov ss, ax
    mov sp, 0xFFFF ; Stack..
    sti
    2-؟
    3-منظورم به روش بایوس بود بار کردن کد در حافظه و پرش به ابتدای کد
    چرا در بعضی کدها
    org 7c00
    است ولی در بعضی دیگر
    org 0
    آیا در حالت دوم برنامه قادر به اجرا شدن هست.
    لطفا در مورد جست و جوی فایل بعد از بار کدن FAT وRootDirectory توضیح دهید.
    مقاله ای که aakh1369 معرفی کردند را خواندم ولی در این مورد زیاد توضیح نداده بودند.


    ================================================== ===========
    [BITS 16] ; the bios starts out in 16-bit real mode
    [ORG 0] ; Data offset = 0

    start:
    mov ax,0x7c0 ; BIOS puts us at 0:07C00h, so set DS accordinly
    mov ds,ax ; Therefore, we don't have to add 07C00h to all our data

    cli ; clear interrupts while we setup a stack
    mov ax,0x9000 ; this seems to be the typical place for a stack
    mov ss,ax
    mov sp,0xffff ; let's use the whole segment. Why not? We can :)
    sti ; put our interrupts back on

    jmp $

    times 510-($-$$) db 0
    dw 0xAA55

    ================================================== ===========
    و این کد
    ================================================== ===========

    [BITS 16]
    [ORG 0x7C00]

    start:
    cli
    xor ax, ax ; initialize all the necessary
    mov ds, ax ; registers.
    mov es, ax
    mov ss, ax
    mov sp, 0xFFFF ; Stack..
    sti

    jmp $

    times 510-($-$$) db 0
    dw 0xAA55
    ================================================== ===========

  8. #8
    کاربر دائمی آواتار aakh1361
    تاریخ عضویت
    آبان 1383
    محل زندگی
    تهران - سه راه افسریه - شهرک کاروان
    پست
    380
    -منظور من:

    cli
    xor ax, ax ; initialize all the necessary
    mov ds, ax ; registers.
    mov es, ax
    mov ss, ax
    mov sp, 0xFFFF ; Stack..
    sti
    برای bootstrap است


    لطفا در مورد جست و جوی فایل بعد از بار کدن FAT وRootDirectory توضیح دهید.
    بحثش خیلی مفصل هست

    چرا در بعضی کدها
    org 7c00
    است ولی در بعضی دیگر
    org 0
    آیا در حالت دوم برنامه قادر به اجرا شدن هست
    خیر
    برنامه به عنوان بوت سکتور نمی تونه اجرا بشه


    [ORG 0] ; Data offset = 0
    [ORG 0x7C00] ; Data offset = 0x7C00

    mov ax,0x7c0
    mov ax,0x7c00
    مثل اینکه اشتباه تایپی کردن

    در نوشتن بوت سکتور تمام سگمنت های باید در یک ادرس باشند حالا اگر CS در یک ادرس نبود مشکلی نیست ولی بقیه سگمنتها باید یکی باشه

  9. #9
    مرسی
    در مورد جست جو در FAT
    من آن بخش را می خواهم که پس از یافتن اولین کلاستر فایل شروع می وشود
    چرا کلاستر در 3 ضرب و بر دو تقسیم می شه(FAT12) و زوج و فرد ب.دن به چه دردی می خوره؟

  10. #10
    کاربر دائمی آواتار aakh1361
    تاریخ عضویت
    آبان 1383
    محل زندگی
    تهران - سه راه افسریه - شهرک کاروان
    پست
    380
    در این مورد فعلا اطلاعاتی ندارم (تا چند وقت دیگه روش کار می کنم)

  11. #11
    شرمنده یه مقدار در مورد a20 و فوایدش توضیح بده
    چرا به وسیله ی پورت کیبورد فعالش می کنن؟

  12. #12
    کاربر دائمی آواتار aakh1361
    تاریخ عضویت
    آبان 1383
    محل زندگی
    تهران - سه راه افسریه - شهرک کاروان
    پست
    380
    چون تا a20 فعال نشه حتی اگر به حالت محافظت شده رفته باشی باز هم نمی تونی به بیش از 1 مگابایت دسترسی داشته باشی در واقع فعال کردن a20 قابلیت ادرسی دهی بیشتر از 1مگابایت رو به CPU می ده

  13. #13
    ممنون
    GDT و LDT و توصیفگر را یه توضیح کوچولو بدی خیلی ممنون میشم
    (مقاله زیاد خواندم-برای persian OS-را هم خوانده ام ولی زیاد نفهمیدم)

  14. #14
    کاربر دائمی آواتار aakh1361
    تاریخ عضویت
    آبان 1383
    محل زندگی
    تهران - سه راه افسریه - شهرک کاروان
    پست
    380
    ممنون
    GDT و LDT و توصیفگر را یه توضیح کوچولو بدی خیلی ممنون میشم
    (مقاله زیاد خواندم-برای persian OS-را هم خوانده ام ولی زیاد نفهمیدم)
    سلام
    شما سوال تون رو اونجا مطرح کردید ؟

  15. #15
    حالا یخواهم شما جواب بدی اشکالی داره؟

  16. #16
    ببینید من الان می وانم برای حالت حقیقی os را بنویسم
    تنها مشکلم مفاهیم pmode است.مثل GDT,LDT,توصیفگرهاوA20
    اگه شما خوبی کنید و راهنمایی کنید مطمئن باشید خدا هم یه جوری
    کمکتون می کنه.
    اگه یه سایت کامل هم دادای هم ممنون می شم

  17. #17
    کاربر دائمی آواتار aakh1361
    تاریخ عضویت
    آبان 1383
    محل زندگی
    تهران - سه راه افسریه - شهرک کاروان
    پست
    380
    ببینید من الان می وانم برای حالت حقیقی os را بنویسم
    تنها مشکلم مفاهیم pmode است.مثل GDT,LDT,توصیفگرهاوA20
    اگه شما خوبی کنید و راهنمایی کنید مطمئن باشید خدا هم یه جوری
    کمکتون می کنه.
    اگه یه سایت کامل هم دادای هم ممنون می شم
    عزیزم شما اگر سولات تون رو اونجا (گروه Persian Os) مطرح کنید حتما جواب های سوالات شما رو به طور کامل می دهند

    در ضمن اگر برای حالات حقیقی (Real Mode) برنامه نویسی می کنی به مفاهیم که گفتی نیازی نداری چون اینها که گفتی در حالات محافظت شده (32 بیتی) کاربرد دارند
    موفق باشی

  18. #18
    ییخشید
    ایمیل باید بدم به گروه
    راستی چرا خود شما جواب نمی دید
    اینقدر که گفتید از گروه بپرس می تونستید یه جاش
    یه توضیح کامل بدید . اگه گروه می تونست خوب توضیح بده
    از مقالاتش می شد فهمید
    گرچه از مقاله ای که لمه به کلمه ترجمه شده(بدون درک) انتظار بشتری نمی ره

  19. #19
    کاربر دائمی
    تاریخ عضویت
    مرداد 1382
    محل زندگی
    استان فارس
    پست
    1,054
    osdever.net
    برو اینجا هر چی بخوایی با مثال هست !

  20. #20
    کاربر تازه وارد آواتار netspc
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    India
    پست
    81
    سلام خدمت همگی
    من netspc هستم دوست love coder
    امیدوارم بتونیم به دوستان کمکی کرده باشیم
    در مورد سوالات اساسی :
    فقط در گروه جواب داده میشه به این دلیل که این سوالات جنبه عمومی دارد و باید آرشیو شود برای استفاده دیگران

  21. #21
    کاربر تازه وارد آواتار netspc
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    India
    پست
    81
    سلام بیت مپ فکر کنم در رابطه با LDT و GDT توضیح داده شده است.
    دلیلی که میبینی نزدیک به 1 ماه هست که مقاله ای ندادیم بعلت رفتن من به هندوستان و نوشتن یک کتاب میباشد. والا چندین مقاله آماده که خود لاو و مستر زحمتش رو کشیدند آماده هست و بزودی بر روی سایت قرار میگیرد.
    درضمن بهتر نیست عوض اشکالات بنی اسرائیلی گرفتن کمک کنید ;)

  22. #22
    کاربر تازه وارد آواتار netspc
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    India
    پست
    81
    راستی لاو بهتر نبود این تاپ رو توی قسمت سیستم عامل میذاشتی؟؟؟

  23. #23
    کاربر دائمی آواتار aakh1361
    تاریخ عضویت
    آبان 1383
    محل زندگی
    تهران - سه راه افسریه - شهرک کاروان
    پست
    380
    راستی لاو بهتر نبود این تاپ رو توی قسمت سیستم عامل میذاشتی؟؟؟
    قصد این کار رو داشتم اما فراموشش کردم !

  24. #24
    کاربر دائمی آواتار aakh1361
    تاریخ عضویت
    آبان 1383
    محل زندگی
    تهران - سه راه افسریه - شهرک کاروان
    پست
    380
    در ضمن به سایت برنامه نویسی خوش امدی نت جان

  25. #25
    کاربر تازه وارد آواتار netspc
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    India
    پست
    81
    راستی توی امضا بنویس که سوالات عمومی فقط در گروه جواب داده میشه که دیگه از اینجور درگیریها پیش نیاد :)

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •