Операциялық жүйе пайдаланушыға компьютердің аппараттық құралдарымен өзара әрекеттесуге мүмкіндік береді. Жүйе жүздеген мың кодтық жолдан тұрады. Әдетте операциялық жүйе C#, C, C ++ және құрастыру бағдарламалау тілдерінің көмегімен жасалады. Операциялық жүйе командаларды сақтау және орындау кезінде компьютерді шолуға мүмкіндік береді. Операциялық жүйе жасау оңай деп ойламаңыз. Оны жасау үшін көп білім қажет.
Қадам
Қадам 1. Ең алдымен, бағдарламалауды үйреніңіз
Ассамблея тілі өте маңызды; Сізге C тілі сияқты қосымша деңгейдегі басқа тілді үйрену ұсынылады.
Қадам 2. ОЖ жүктеу үшін қандай медианы қолданғыңыз келетінін шешіңіз
Бұл тасымалдаушы ықшам диск, DVD диск, флэш -диск, қатты диск, дискета немесе басқа компьютер болуы мүмкін.
Қадам 3. ЖО негізгі идеясын анықтаңыз
Мысалы, Windows жүйесінде негізгі идея-бұл қарапайым GUI және көптеген қауіпсіздік.
Қадам 4. Сіздің операциялық жүйеңіз қандай процессорлық платформаны қолдайтынын анықтаңыз
IA-32, ARM және x86_64-дербес компьютерлер үшін ең көп таралған платформалар. Сонымен, олардың барлығы сіздің ең жақсы таңдауыңыз.
5 -қадам. Егер сіз бәрін нөлден өзіңіз жасағыңыз келе ме, жоқ па, әлде өзіңіз қалайтын ядро бар ма, соны шешіңіз
Мысалы, нөлден бастап Linux - бұл Linux дистрибутивін құрғысы келетін адамдарға арналған жоба.
Қадам 6. Сіз өзіңіздің жеке жүктеушіңізді немесе Grand Unified Bootloader (GRUB) сияқты алдын ала орнатылған жүктеуішті қолданатындығыңызды шешіңіз
Жүктеушіні өзіңіз кодтау үшін аппараттық құралдар мен BIOS туралы кең білімді қажет етеді. Нәтижесінде бұл қадам ядро бағдарламалаудың нақты кестесіне кедергі келтіруі мүмкін.
Қадам 7. Қандай бағдарламалау тілін қолдану керектігін шешіңіз
Операциялық жүйенің Паскаль немесе BASIC сияқты тілде болғаны жақсы, бірақ сіз C немесе Ассамблеяны пайдалануыңыз керек. Құрастыру өте қажет, себебі операциялық жүйенің кейбір маңызды бөліктері оны қажет етеді. Екінші жағынан, C ++ тілінде басқа толық SO іске қосуды қажет ететін кілт сөздер бар.
Операциялық жүйені C немесе C ++ кодынан құрастыру үшін, әрине, сіз бір компиляторды немесе екіншісін қолданасыз. Сондықтан, бағдарламалық қамтамасыз етудің құрамына кіретін немесе дистрибьютордың веб -сайтында қол жетімді, сіз таңдаған C/C ++ компиляторы үшін пайдаланушы нұсқаулығынан/нұсқаулығынан/құжаттамасымен танысқан дұрыс. Сіз компилятор туралы көптеген күрделі нәрселерді білуіңіз керек, ал C ++ дамуы үшін компилятордың мәңгүрттеу схемасы мен оның ABI туралы білуіңіз қажет. Сіз орындалатын әр түрлі форматтарды (ELF, PE, COFF, негізгі екілік және т.б.) түсінесіз және Windows эксклюзивті форматы PE (.exe) авторлық құқықпен қорғалғанын түсінесіз
Қадам 8. Қолданбалы бағдарламалау интерфейсін (API) анықтаңыз
Таңдаудың бір жақсы API - бұл жақсы құжатталған POSIX. Барлық Unix жүйелерінде POSIX үшін кем дегенде ішінара қолдау бар. Сондықтан Unix бағдарламаларын ОЖ -ге қосу оңай болуы керек.
Қадам 9. Дизайн туралы шешім қабылдаңыз
Монолитті ядро мен микро ядро деген ұғым бар. Монолитті ядролар ядродағы барлық қызметтерді жүзеге асырады, ал микро ядроларда қолданушы демонын орналастыру қызметтері қосылған шағын ядролар бар. Жалпы алғанда, монолитті ядролар жылдамырақ, бірақ микро ядролар ақауларды оқшаулау мен сенімділікке ие.
10 -қадам. Топта дамуды және жұмыс жасауды қарастырыңыз
Осылайша, көп мәселелерді шешуге аз уақыт кетеді, бұл жақсы ОЖ құруды тездетеді.
Қадам 11. Қатты дискіні толығымен сүртпеңіз
Есіңізде болсын, дискіні жою ондағы барлық деректерді қайтымсыз түрде жояды! ОЖ толық жұмыс істемейінше жүйені басқа ОЖ -мен екі рет жүктеу үшін GRUB немесе басқа жүктеу менеджерін қолданыңыз.
Қадам 12. Кішкене бастаңыз
Мәтінді көрсету сияқты кішкене нәрселерден бастаңыз және жадты басқару және күрделі жұмыс сияқты нәрсеге көшпес бұрын кідірту. Сондай -ақ, 32 биттік және 64 биттік нұсқаларды жасағаныңызға көз жеткізіңіз.
Қадам 13. Соңғы жұмыс кодының сақтық көшірмесін сақтаңыз
Бұл қадам SO немесе әзірлеменің ағымдағы нұсқасында бірдеңе дұрыс болмаған жағдайда қорғаныс ретінде пайдалы. Егер сіздің компьютеріңіз апатқа ұшыраса және жүктелмесе, мәселені шешуге көмектесетін екінші көшірмені қолданған дұрыс.
Қадам 14. Жаңа операциялық жүйені виртуалды машинамен тексеруді қарастырыңыз
Өзгерістер енгізген сайын немесе өңдеуші компьютерден тест машинасына файлдарды жібергеннен кейін компьютерді қайта жүктеудің орнына, қазіргі ОЖ жұмыс істеп тұрған кезде ОЖ -ды іске қосу үшін виртуалды машина қосымшасын пайдалануға болады. Ағымдағы VM қосымшаларына мыналар жатады: VMWare (ақысыз серверлік өнім бар), ашық бастапқы нұсқалар, Bochs, Microsoft Virtual PC (Linux -пен үйлесімді емес) және Oracle VirtualBox.
15 -қадам «Шығарылым кандидатын» немесе Бета нұсқасын іске қосыңыз
Бұл қадам пайдаланушыға сіздің операциялық жүйеңіздегі мүмкін проблемалар туралы хабарлауға мүмкіндік береді.
Қадам 16. Операциялық жүйе де қолданушыларға ыңғайлы болуы керек
Пайдаланушыға ыңғайлы мүмкіндіктерді қосқаныңызға көз жеткізіңіз, оларды дизайнның ажырамас бөлігі етіңіз.
Кеңестер
- Мүмкін болатын тығырықтар мен басқа қателерді тексеріңіз. Қателер, тығырықтар және басқа мәселелер сіздің операциялық жүйені құру жобасына әсер етеді.
- Егер жүйенің дұрыс жұмыс істеуін қаласаңыз, қауіпсіздік функцияларын бірінші кезекте енгізгеніңізге көз жеткізіңіз.
- OSDev және OSDever сияқты веб -сайттарды қолданып, жеке операциялық жүйені дамытуға көмектесіңіз. Назар аударыңыз, көп жағдайда OSDev.org қауымдастығы форумға қосылмай, олардың викилерін қолдансаңыз, бақытты болады. Егер сіз форумға қосылуды шешсеңіз, онда алғышарт бар: сіз C немесе C ++ және x86 құрастыру тілі туралы нақты білуіңіз керек. Сіз сондай -ақ байланыстырылған тізімдер, кезектер және т. OSDev қауымдастығы өз ережелерінде оның қауымдастығы жаңа бағдарламашыларды тәрбиелеу үшін құрылмағанын анық көрсетеді.
- Қосылмаңыз OSDev.org форумымен бірге анық сұрақ қойыңыз. Сізден тек нұсқаулықты оқу сұралады. Уикипедияны және пайдаланғыңыз келетін жабдықтың нұсқауларын оқыңыз.
- Егер сіз операциялық жүйені дамытқыңыз келсе, онда сізді бағдарламалаудың «құдайы» деп санайды.
- Сондай -ақ, сіз таңдаған процессор архитектурасына арналған процессор нұсқаулығын оқуыңыз керек; x86 (Intel), ARM, MIPS, PPC және т.б. Процессордың архитектурасына арналған нұсқаулықтарды Google іздеу көмегімен табу оңай («Intel нұсқаулығы», «ARM нұсқаулығы» және т.б.).
- Барлық әзірлеу жұмыстары аяқталғаннан кейін, кодты ашық код ретінде немесе авторлық құқықпен шығарғыңыз келетінін шешіңіз.
- Бастамаңыз бағдарламалауды үйренуге арналған операциялық жүйе жобасы. Егер сіз C, C ++, Pascal немесе басқа да қолайлы тілді білмесеңіз, оның ішінде меңзермен жұмыс істеу, биттік деңгейдің төмендеуі, биттердің ауысуы, кірістірілген құрастыру тілдері және т. даму.
- SO кеңейту үшін мүлдем жаңа бөлім құру жақсы нұсқа болуы мүмкін.
- Егер сізге оңай жол қажет болса, Fedora Revisor, Custom Nimble X, Puppy Remaster, PCLinuxOS Mk LiveCD немесе SUSE Studio мен SUSE KIWI сияқты Linux дистрибутивтерін қарастырыңыз. Дегенмен, сіз жасаған операциялық жүйе бұл қызметті бірінші бастаған компанияға тиесілі (бірақ сіз оны еркін таратуға, өзгертуге және GPL бойынша қалағаныңызша іске қосуға құқығыңыз бар).
Ескерту
- Сіз екі апта ішінде толық операциялық жүйені ала алмайсыз. Жүктелетін SO -дан бастаңыз, содан кейін салқын нәрсеге өтіңіз.
- Операциялық жүйені қатты дискіге абайсызда жазу оны толығымен зақымдауы мүмкін. Сақ болыңыз.
- Егер сіз кездейсоқ енгізу -шығару порттарына кездейсоқ байт жазу сияқты ұсынылмаған нәрсені жасасаңыз, сіз ОЖ -ны бұзасыз, және (теория бойынша) сіздің аппараттық құралыңызды күйдіруі мүмкін.
- Операциялық жүйені құру оңай деп ойламаңыз. Көптеген күрделі өзара тәуелділіктер бар. Мысалы, бірнеше процессорларды өңдей алатын операциялық жүйені құру үшін сіздің жад менеджеріңізде бірнеше процессорлардың бір ресурсқа бір уақытта қол жеткізуіне жол бермейтін «құлыптау» механизмі болуы керек. Бұл үшін қолданылатын «құлыптау» жоспарлаушыны кез келген уақытта тек бір процессор маңызды ресурстарға қол жеткізуін қамтамасыз етеді, ал қалғандары күтуге мәжбүр болады. Шын мәнінде, жоспарлаушы жад менеджерінің болуына байланысты. Бұл тығырыққа тірелудің мысалы. Мұндай мәселені шешудің стандартты әдісі жоқ; әрбір операциялық жүйенің бағдарламашысы онымен күресудің өзіндік әдісін білу үшін жеткілікті білікті болады деп күтілуде.
Қосымша ресурстар
- Әдістемелік нұсқаулар: Linux From Scratch
- Жүктеуші: GRUB
- Виртуалды машиналық қосымшалар: Bochs, VM Ware, XM Virtual Box.
- Процессорға арналған нұсқаулық: Intel нұсқаулығы
- SO даму сайттары: OSDev, OSDever