• Компютри и Електроника
  • Програмиране

Как да се развива една операционна система за вашия компютър

Операционни системи, състоящи се от стотици хиляди реда код, което позволява на потребителите да взаимодействат с компютрите. Те обикновено са написани на езици за програмиране C, C ++ и монтажен.

Стъпки

    Как да се развива една операционна система за компютри'ютера
  1. За да започнете vyuchytesya програмиране. Познаване на монтаж изисква; Също така силно се препоръчва да има понятието за други модерни езици за програмиране по-ниско ниво, например, S.

  2. Как да се развива една операционна система за компютри'ютера
  3. Взема решение за кое устройство, което искате да се зареди операционната система. Това може да е CD-ROM, DVD-диск, флаш памет, твърд диск или друг компютър.

  4. Как да се развива една операционна система за компютри'ютера
  5. Решете какво искате да видите вашата операционна система. Дали ще е пълна версия на операционната система с графичен потребителски интерфейс (GUI) или може би нещо по-минималистичен? Вие трябва да знаете в коя посока да отиде, преди началото на процеса.

  6. Как да се развива една операционна система за компютри'ютера
  7. Уверете се, че платформата на процесор ще поддържа вашата операционна система. AI-32 и x86_64 са двата най-разпространени версии за компютри, така че да може да се счита за най-добрия избор.

  8. Как да се развива една операционна система за компютри'ютера
  9. Решете дали предпочитате да правите всичко сами от нулата или мълчалив ядро, на която бихте искали да се изгради върху системата. Linux от нулата - проект за тези, които искат, например, изгради своя собствена дистрибуция Linux.

  10. Как да се развива една операционна система за компютри'ютера
  11. Изберете можете да използвате своя собствена обувка или предварително установена стандартизирана обувка Grand Unified Bootloader (GRUB). Тъй като кодиране свои програми товар изисква повече познания за компютърен софтуер и BIOS, то може да бутнете настоящия програмен график ядрото.

  12. Как да се развива една операционна система за компютри'ютера
  13. Взема решение за езика за програмиране, които ще използвате. Разбира се, че е възможно да се развие операционната система на езика като Pascal или BASIC, но предпочита да пише в C или асемблер. Assembler е от съществено значение, с. К. Някои важни части от операционната система изискват познаване на този език. C ++, от друга страна, съдържа необходимите за изпълнение на пълната версия на операционната система ключовите думи.
    • С цел да се съберат на операционната система с помощта на кодове C или C ++, вие със сигурност ще използвате, че един компилатор или другата страна. Това означава, че вие ​​трябва да прочетете ръководство / инструкции / документация за избраната компилатор C / C ++, която идва в комплект със софтуера или дистрибутор Web сайт. Вие ще трябва да се научат много сложни неща за компилатора, в допълнение, за да се подобри C ++ да бъдат проучени си схема и ABI. От вас се очаква да се разбере различни формати изпълнителни задачи (ELF, PE, COFF, конвенционална двоични и т.н.) и ще видиш, че нейният собствен формат Windows, PE (.exe) е със запазени авторски права.


    • Как да се развива една операционна система за компютри'ютера
    • Изберете интерфейс за приложно програмиране (API). Един от списъците е добър API POSIX, тъй като е добре документирана. Всички системи Unix имат поне частична подкрепа за POSIX, така че би било лесно да се хвърлят Unix програми на вашата операционна система.

    • Как да се развива една операционна система за компютри'ютера
    • Взема решение за дизайн. Има монолитна ядрото и микрокърнъла. Монолитна ядки извършват всички услуги в ядрото, докато mykroyadra имат малко ядро, комбинирана с услуги по поръчка за изпълнение. Като цяло, монолитно ядро ​​по-бързо, но mykroyadra имат по-добра изолация и защита срещу възможни проблеми.

    • Как да се развива една операционна система за компютри'ютера
    • Помислете за състава и работата в екип. Ето защо, ще ви трябва малко време, за да се позволи на големите проблеми, с които ще се създадат по-добри операционна система за по-кратко време.

    • Как да се развива една операционна система за компютри'ютера
    • Не мийте напълно твърдия ви диск. Не забравяйте, форматиране на диска постоянно изкупление за всичките си данни! Използвайте GRUB или друг стартиращ мениджър дублирана за вашия компютър от друга операционна система, докато вашата версия е напълно функционална готовност.

    • Как да се развива една операционна система за компютри'ютера
    • Започнете с малко. Забележка особено на малките неща, като например показване на текст и прекъсва преди да продължи с сложни елементи, като например управление на паметта и мултитаскинг.

    • Как да се развива една операционна система за компютри'ютера
    • Поддържа резервно копие на последния работен вариант. Това осигурява спокойствие, ако нещо се напълно погрешно в тази версия на операционната си система, или по-късно добавяне. В случай на повреда на вашия компютър и невъзможността да изтеглите, и можете да си представите, една чудесна възможност ще бъде присъствието на второ копие за работа, така че можете да премахнете съществуващ проблем.

    • Как да се развива една операционна система за компютри'ютера
    • Тествайте новата си операционна система във виртуална машина. Вместо рестартиране на компютъра всеки път след промяна или прехвърляте файлове от вашия компютър тест машина можете да използвате една операционна система, за да се изпълнява на виртуална машина, докато настоящата операционна система продължава да функционира. Приложенията включват VM VMWare (който също има сървър в публичното пространство), алтернатива с отворен код, Bochs, Microsoft Virtual PC (не е съвместим с Linux), и XVM VirtualBox.

    • Как да се развива една операционна система за компютри'ютера
    • Освобождаване на издаване версия. Това ще позволи на потребителите да ви разкажа за възможни пропуски в операционната ви система.

    • Как да се развива една операционна система за компютри'ютера
    • Операционната система също трябва да бъде лесна за използване, така че не забравяйте да добавите полезни функции, които ще бъдат неразделна част от вашия проект.

    Съвет

    • Когато развитието приключи, мисля за това дали искате да подадете код в публичното пространство, или да се създаде частни права към него.

    • Не забравяйте да направите сигурност разполага вашия основен приоритет, ако искате да запазите вашата система е жизнеспособна.

    • Не започвайте проекта на операционната система, за да учат програмиране. Ако не знаете C, C ++, Pascal, или всеки друг подходящ език и свойства, включително видовете индекси операции върху бита на ниско ниво на превключване бита вграден асемблер и т.н. - по този начин, все още не са готови да се създаде OS.

    • Гледайте портали като OSDev и OSDever, които ще ви помогнат да подобрите своя собствена операционна система. Обърнете специално внимание на факта, че по-голямата част от общността OSDev.org Предпочитам да самостоятелно адресирано съдържанието на сайта и да не се присъедини към форума. Ако все пак решите да се присъедини към редиците forumchan, тя трябва да бъде определени предпоставки. От вас се изисква да старателно знам C или C ++ език и x86 assambler. Можете също така трябва да се разбере, общите и сложни концепции в програмирането, като например свързани списъци, опашки и т.н. OSDev Общността в нейните правила изрично казва, че никой няма да детегледачки за нови програмисти. Ако се опитвате да се развива операционната система, няма нужда да казвам, че сте "Бог" в програмирането. Също е необходимо да прочетете ръководството за работа с процесора със своята архитектура, избран; например, x86 (Intel), ARM, MIPS, PPC и т.н. Това ръководство на структурата на процесора може лесно да се намери чрез търсене в Google («Intel Ръководства», «ARM ръководства» и т.н.). Не се регистрира в форума OSDev.org, да поиска от очевидния въпрос. Тя просто да доведе до отговори като «Прочетете F *** ING Manual». За да започнете, трябва да се опитате да прочетете Уикипедия, ръководства за различни инструменти, които ще използвате.

    • Проверете за потенциални мъртви точки и други грешки. Недостатъци мъртвите зони и други проблеми могат да окажат влияние на дизайна на операционни системи.

    • Ако искате по-лесен начин, представете си дистрибуции на Linux - тип Fedora Revisor, персонализирана Пъргав X, Puppy Remaster, PCLinuxOS mklivecd или SUSE Studio и SUSE KIWI. Въпреки това, на операционните системи са създадени от компанията, че за първи път тази услуга (въпреки че имате право на своето безплатно разпространение, промяна и да започне колкото искате по GPL).

    • Добро решение е да се създаде напълно нова глава за развита операционна система.

    Предупреждение

    • Небрежен пренаписване на операционната система на твърдия диск може да го повреди напълно. Внимавам

    • Вие не се системата да функционира пълноценно през две седмици. Започнете с операционната система се зарежда, а след това се премести в по-интересни неща.

    • Ако не се направи нещо обрив, като напишете произволни байта на произволни портове I / O, след което унищожи вашата операционна система и да (на теория) да изгори си оборудване.

    • Не очаквайте, че ще бъде лесно да се изгради една операционна система с високо качество. Има много сложни зависимости. Например, за да операционна система е в състояние да се справят с множество процесори, вашият мениджър на паметта трябва да има "заключване" на механизми за предотвратяване на достъпа допълнителни процесори в същия ресурс в същото време. Използвани "блокове", предполагат плановик на съществуване за да се уверите, че само един процесор има достъп до критични ресурси по всяко време, както и всички други са в режим на готовност. Въпреки това, планировчика работа зависи от наличието на програма за управление на паметта. Това е пример съгласно vzaymoblokyrovky. Няма стандартна начин да позволи подобни проблеми; създател на всяка операционна система се очаква квалифицирано да намеря моя собствена версия на тяхното решаване.