Hogyan készítsünk számítógépes operációs rendszert: 13 lépés (képekkel)

Tartalomjegyzék:

Hogyan készítsünk számítógépes operációs rendszert: 13 lépés (képekkel)
Hogyan készítsünk számítógépes operációs rendszert: 13 lépés (képekkel)

Videó: Hogyan készítsünk számítógépes operációs rendszert: 13 lépés (képekkel)

Videó: Hogyan készítsünk számítógépes operációs rendszert: 13 lépés (képekkel)
Videó: Horizon: Forbidden West (The Movie) 2024, Április
Anonim

Ez a wikiHow megtanítja az operációs rendszer tervezését és fejlesztését, ha nem tudja, hogyan kell C vagy C ++ nyelven kódolni. Az operációs rendszerek kezelik a számítógép hardvereit és biztosítják az alkalmazások futtatásához szükséges erőforrásokat. Az operációs rendszer nulláról írásához erős informatikai ismeretekre van szükség, olyan programozási nyelvre, mint a C vagy C ++, összeszerelési és kódkezelési gyakorlatokra.

Lépések

Rész 1 /2: Az alapok elsajátítása

Készítsen számítógépes operációs rendszert 1. lépés
Készítsen számítógépes operációs rendszert 1. lépés

1. Lépjen be néhány alapvető informatikai tanfolyamba

A webes fejlesztéssel ellentétben az operációs rendszer létrehozása megköveteli az algoritmusok, az adatstruktúrák, a számítógépes hardverek és az erőforrás -kezelés alapos ismeretét. Az emberek diplomát szereznek ezekben a dolgokban, ezért ne várja el, hogy egy teljes operációs rendszert írjon az online oktatóanyag elolvasása után! A Harvard Intro to Computer Science tanfolyama ingyenesen elérhető online az EDX -en keresztül.

Készítsen számítógépes operációs rendszert 2. lépés
Készítsen számítógépes operációs rendszert 2. lépés

2. lépés. Tanuljon meg egy magas szintű programozási nyelvet, mint például a Python

Ha már alapos ismeretekkel rendelkezik az informatikában, akkor a következő lépés a C és/vagy a C ++ elsajátítása. A számítástechnika megismeréséhez hasonlóan a nyelv elsajátítása sem választható-nem tudja kódolni az operációs rendszert, ha nem tud szilárd alkalmazásokat írni.

Ha még nem ismeri a C -t, nézze meg a Dartmouth C Programming: Getting Started tanfolyamát, amely ingyenes az EDX -en keresztül. Miután elvégezte ezt a tanfolyamot, elvégezheti a sorozat következő tanfolyamát: C Programozás: Nyelvi alapok. Ezután lépjen tovább a következő tanfolyamokra, mint például a moduláris programozás és memóriakezelés, valamint a mutatók és a memóriakezelés

Készítsen számítógépes operációs rendszert 4. lépés
Készítsen számítógépes operációs rendszert 4. lépés

Lépés 3. Tanuljon meg egy szerelési nyelvet

Az összeszerelési nyelvek alacsony szintű nyelvek, amelyeket különböző processzorokkal való kommunikációra terveztek. Mivel az összeszerelés eltérő a különböző processzortípusoknál (pl. X86 összeállítási nyelv Intel, AMD, VIA és más processzorok esetén), meg kell tanulnia a kódolható processzor típusának verzióját.

  • Ez a nyílt forráskódú könyv, ha teljes egészében elolvassuk, elég alapos megértést adhat az operációs rendszer felépítéséhez.
  • Az összeszerelési nyelv egy erősen ajánlott könyv az összeszerelésről, elérhető online és offline.
  • Sokat kell kutatnia azon processzor (ok) típusa mellett is, amelyeken az operációs rendszernek futnia kell. A processzor architektúrához tartozó kézikönyvek könnyen megtalálhatók a Google kereső használatával ("Intel kézikönyvek", "ARM kézikönyvek" stb.).
Készítsen számítógépes operációs rendszert 5. lépés
Készítsen számítógépes operációs rendszert 5. lépés

4. lépés: Végezze el az operációs rendszer bemutatóját

Az operációs rendszer bemutatói végigvezetik az alapvető operációs rendszer létrehozásának folyamatán. Ez hozzászoktat a folyamathoz, és segít kideríteni, hogy hiányoznak -e darabok. Egy -két oktatóanyag elvégzése után jó úton halad a saját operációs rendszer létrehozása felé.

  • A Bare Bones egy oktatóanyag, amely segít megírni az első egyszerű 32 bites kernelt. Az oktatóanyag befejezése után a következő lépés a Meaty Skeleton használata a saját operációs rendszer felépítéséhez.
  • A Scratch Linux egy online könyv, amely végigvezeti a saját Linux operációs rendszer létrehozásán.
  • A 0 -tól 1 -ig terjedő operációs rendszerek ingyenes könyv a különböző operációs rendszerek létrehozásáról az elejétől a végéig.
Készítsen számítógépes operációs rendszert 3. lépés
Készítsen számítógépes operációs rendszert 3. lépés

5. lépés Határozza meg az operációs rendszer céljait

Mit szeretne az operációs rendszere? Hogyan kell kinéznie? Valóban egy teljes operációs rendszert kell írnia, vagy csak egy bizonyos megjelenést szeretne létrehozni az asztalon? Ezeket mind figyelembe kell venni a kódolás megkezdése előtt.

  • Fontolja meg a fejlesztést egy másik programozó csapattal. Ha egy fejlesztői csapat dolgozik a projekten, jelentősen lerövidíti a fejlesztési időt.
  • Adja hozzá projekt céljait, terveit és kérdéseit nyilvános tárházához, hogy mások könnyen segítsenek.

2/2. Rész: Az operációs rendszer kiépítése

Jó szórakozást a számítógéphez 16. lépés
Jó szórakozást a számítógéphez 16. lépés

1. lépés. Válasszon fejlesztői környezetet

Ezt a platformot fogja használni az új operációs rendszer kódolásához. Ez személyes preferenciák kérdése, de a legtöbben vagy Windows -t használnak, vagy a UNIX -ot. Ha Windows rendszert használ, akkor érdemes UNIX környezetet telepíteni, például Cygwin vagy MinGW. Általában meg kell győződnie arról, hogy az Ön által használt környezet a következőket tartalmazza:

  • GCC (a Gnu fordító). Ha Windows rendszert használ, telepítheti azt a Cygwin vagy a MinGW rendszerbe.
  • A Binutils az objektumfájlok kezelésére szolgáló eszközök gyűjteménye. Ismételten, ha Windows rendszert használ, telepítheti azt a Cygwin rendszerbe.
  • Jó szövegszerkesztő. A Vim és az emacs általában UNIX környezetben használatos. A Windows-felhasználók használhatják a Jegyzettömböt, vagy megnézhetik a Jegyzettömb ++ -t több lapos frissítéshez.
  • Perl és/vagy Python. A karakterlánc -manipulációhoz az egyik vagy mindkettő ajánlott.
Készítsen számítógépes operációs rendszert 13. lépés
Készítsen számítógépes operációs rendszert 13. lépés

2. lépés. Állítsa be a verziókezelő rendszert

Az operációs rendszer írása azt jelenti, hogy valószínűleg több száz (vagy ezer!) Kódsort hoz létre. Ha javításokon dolgozik, ez zavaró lehet. Néhány lehetőség a CVS, a Mercurial és a Subversion megtekintésére.

Készítsen számítógépes operációs rendszert 6. lépés
Készítsen számítógépes operációs rendszert 6. lépés

3. lépés. Döntse el a rendszerbetöltőt

Ha nem szeretne sajátot létrehozni, használhat egy meglévőt, például a Grand Unified Bootloader (GRUB) rendszert. Ha elég merésznek érzi magát egy rendszerbetöltő kódolásához, nézze meg a Rolling Your Own Bootloader webhelyet az OSDev.org oldalon.

Készítsen számítógépes operációs rendszert 9. lépés
Készítsen számítógépes operációs rendszert 9. lépés

4. lépés Válasszon kernel kialakítást

A kernel az operációs rendszer magja, és interfészt biztosít a felhasználó és a számítógép hardvere között. Vannak monolit magok és mikro magok. A monolitikus rendszermagok az összes szolgáltatást a kernelben valósítják meg, míg a mikrokernelek kernellel rendelkeznek, és felhasználói démonokat megvalósító szolgáltatásokkal kombinálva. Általában a monolitikus magok gyorsabbak, de a mikromagok jobb hibajavítással és megbízhatósággal rendelkeznek.

Készítsen számítógépes operációs rendszert 12. lépés
Készítsen számítógépes operációs rendszert 12. lépés

5. lépés Kezdje kicsivel

Kezdje apró dolgokkal, például szöveg megjelenítésével és megszakításokkal, mielőtt továbblépne a memóriakezelésre és a multitaskingre. Megpróbálhat egy egyszerű 16 bites operációs rendszert is létrehozni a nagy ugrás helyett.

Két hét múlva nem lesz teljes rendszere. Kezdje az operációs rendszerrel, amely elindul, majd folytassa a menő dolgokkal

Készítsen számítógépes operációs rendszert 14. lépés
Készítsen számítógépes operációs rendszert 14. lépés

6. lépés: Tesztelje új operációs rendszerét virtuális géppel

Ahelyett, hogy újraindítaná a számítógépet minden alkalommal, amikor módosítást végez, vagy a fájlokat át kell vinnie a fejlesztő számítógépről a tesztgépre, használjon virtuális gépi alkalmazást. A VMWare egy gyakori opció, amely Windows és Linux rendszerekkel is működik, és a Bochs is. Ellenőrizze a lehetséges patthelyzeteket és egyéb hibákat, és szükség szerint javítsa ki azokat.

Készítsen számítógépes operációs rendszert 15. lépés
Készítsen számítógépes operációs rendszert 15. lépés

7. lépés. Engedje fel a "kiadási jelöltet"

Ezt úgy teheti meg, hogy feltölti tesztelt kódját nyilvános tárhelyére. Ez lehetővé teszi az emberek számára, hogy teszteljék az operációs rendszerét, és jelentést tegyenek bármilyen problémájukról.

Számítógépes szórakozás 28. lépés
Számítógépes szórakozás 28. lépés

8. lépés Hálózat más operációs rendszer -fejlesztőkkel

Az operációs rendszer -fejlesztők egész közössége gyűlik össze különböző fórumokon, beleértve a /r /osdev -t a Reddit -en és a Software Engineering Stack Exchange -en. Ha már megértette az alapvető operációs rendszer kifejlesztését, olvassa el a meglévő bejegyzéseket, hogy megtudja, milyen dolgok kerülnek elő a fejlesztési folyamat során.

Videó - A szolgáltatás használatával bizonyos információk megoszthatók a YouTube -lal

Tippek

  • Ügyeljen arra, hogy a biztonsági funkciókat elsődleges prioritásként alkalmazza, ha valaha azt szeretné, hogy a rendszer életképes legyen.
  • Miután minden fejlesztés befejeződött, döntse el, hogy a kódot nyílt forráskódúként vagy szabadalmazottként kívánja kiadni.
  • Ahhoz, hogy egy operációs rendszer képes legyen több processzort kezelni, a memóriakezelőnek rendelkeznie kell „záró” mechanizmusokkal, amelyek megakadályozzák, hogy több processzor egyszerre férhessen hozzá ugyanahhoz az erőforráshoz. Az ehhez használt "zárak" megkövetelik az ütemező jelenlétét annak biztosítására, hogy csak egy processzor férjen hozzá egy kritikus erőforráshoz, és a többiek várakozásra kényszerülnek. Az ütemező azonban a Memóriakezelő jelenlététől függ. Ez egy holtponton lévő függőség esete. Az ilyen problémák megoldására nincs szabványos módszer; programozóként elvárják, hogy elég ügyesek legyenek ahhoz, hogy kitalálják a saját kezelési módját.
  • Az operációs rendszer felhasználóbarát is lehet. Győződjön meg róla, hogy felhasználóbarát funkciókat ad hozzá, így ezek a tervezés szerves részét képezik.
  • Ne csatlakozzon az OSDev.org fórumokon, és elkezdenek nyilvánvaló kérdéseket feltenni. Egyszerűen azt eredményezi "Olvassa el a kézikönyvet" válaszokat. Próbálja meg elolvasni a Wikipédiát és a használni kívánt különféle eszközök kézikönyveit.
  • Ne kezd egy operációs rendszer projekt a programozás tanulásának megkezdéséhez. Ha még nem ismeri kívülről a C, C ++, Pascal vagy más megfelelő nyelvet, beleértve a mutatókezelést, az alacsony szintű bitmanipulációt, a biteltolást, az inline összeállítási nyelvet stb., Akkor nem áll készen az operációs rendszer fejlesztésére.
  • Ha valamit rosszul csinál, például véletlenszerű bájtokat ír véletlenszerű I/O portokra, akkor összeomlik az operációs rendszere, és elméletileg megsütheti a hardvert.

Ajánlott: