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

Tartalomjegyzék:

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

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

Videó: Hogyan készítsünk számítógépes operációs rendszert (képekkel)
Videó: 3 EASY WAYS TO FIX BOOT UP ERROR WINDOWS 7 8 10 BLUE SCREEN OF DEATH (BSoD) 2024, Lehet
Anonim

Az operációs rendszer lehetővé teszi a felhasználó számára, hogy interakcióba lépjen a számítógép hardverével. A rendszer több százezer kódsorból áll. Általában az operációs rendszer a C#, C, C ++ és assembly programozási nyelveken készül. Az operációs rendszer lehetővé teszi a számítógép böngészését a parancsok mentése és végrehajtása közben. Ne gondolja, hogy az operációs rendszer létrehozása egyszerű. Az elkészítéséhez sok tudás kell.

Lépés

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épés Először is ismerkedjen meg a programozással

Az összeszerelési nyelv nagyon fontos; erősen ajánlott egy másik kiegészítő magas szintű nyelv, például a C nyelv megtanulása.

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. Döntse el, milyen adathordozót szeretne használni az operációs rendszer betöltéséhez

Ez az adathordozó lehet CD -meghajtó, DVD -meghajtó, flash meghajtó, merevlemez, hajlékonylemez vagy más számítógép.

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

3. lépés. Határozza meg a kifogásközlés alapgondolatát

Például Windows rendszeren az alapötlet egy könnyen használható GUI és sok biztonság.

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

4. lépés. Határozza meg, hogy az operációs rendszer milyen processzorplatformot támogat

Az IA-32, az ARM és az x86_64 a személyi számítógépek leggyakoribb platformjai. Tehát mindegyik a legjobb választás.

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

5. lépés: Döntse el, hogy inkább mindent önállóan végez, vagy van már rendelkezésre álló kernel, amelyre szeretne építkezni

Például a Linux a semmiből egy projekt azok számára, akik saját Linux disztribúciót szeretnének létrehozni.

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

6. lépés. Döntse el, hogy saját rendszerbetöltőt vagy előre elkészített rendszert, például a Grand Unified Bootloader (GRUB) rendszert használja

A rendszerbetöltő saját kódolásához a hardver és a BIOS széles körű ismerete szükséges. Ennek eredményeként ez a lépés akadályozhatja a kernel programozási ütemtervét.

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

7. lépés: Döntse el, hogy milyen programozási nyelvet használjon

Rendben van, ha az operációs rendszer olyan nyelven működik, mint a Pascal vagy a BASIC, de érdemes a C vagy a Assembly programot használni. Az összeszerelés nagyon szükséges, mert az operációs rendszer néhány fontos része megköveteli. Másrészt a C ++ nyelv olyan kulcsszavakat tartalmaz, amelyek futtatásához más teljes SO szükséges.

Az operációs rendszer C vagy C ++ kódból történő fordításához természetesen egyik vagy másik fordítót kell használni. Ezért érdemes megnézni az Ön által választott C/C ++ fordító használati útmutatóját/kézikönyvét/dokumentációját, függetlenül attól, hogy a szoftver tartalmazza -e, vagy elérhető a forgalmazó webhelyén. Nagyon sok bonyolult dolgot kell tudnia a fordítóról, és a C ++ fejlesztéshez ismernie kell a fordító manipulációs sémáját és ABI -jét. Elvárható, hogy megértse a különböző végrehajtható formátumokat (ELF, PE, COFF, alap bináris stb.), És megértse, hogy az exkluzív Windows formátum, a PE (.exe) szerzői jogvédelem alatt áll

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

8. lépés. Határozza meg az alkalmazásprogramozási felületét (API)

Az egyik jó API közül választhat a POSIX, mivel jól dokumentált. Minden Unix rendszer legalább részben támogatja a POSIX -t. Tehát a Unix programok egyszerű csatlakoztatása az operációs rendszerhez.

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

9. lépés. Döntse el a tervezést

Van olyan dolog, mint a monolit kernel és a mikro kernel. A monolitikus rendszermagok minden szolgáltatást megvalósítanak a kernelben, míg a mikromagok kicsi kernellel rendelkeznek, amelyek felhasználói démon telepítési szolgáltatásokkal vannak ellátva. Á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 10. lépés
Készítsen számítógépes operációs rendszert 10. lépés

10. lépés: Fontolja meg a csapatban való fejlődést és a munkát

Így kevesebb időbe telik több probléma megoldása, ami valószínűleg felgyorsítja a jobb operációs rendszer felépítését.

Számítógép -operációs rendszer létrehozása 11. lépés
Számítógép -operációs rendszer létrehozása 11. lépés

11. lépés. Ne törölje le teljesen a merevlemezt

Ne feledje, hogy a meghajtó törlése visszaállíthatatlanul törli a rajta található adatokat! A GRUB vagy más rendszerindító segítségével kétszer indítsa el a rendszert egy másik operációs rendszerrel, amíg az operációs rendszer teljesen működőképes nem lesz.

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

12. lépés: Kezdje kicsivel

Kezdjen olyan apró dolgokkal, mint a szöveg megjelenítése, és szüneteltesse, mielőtt továbblépne a memóriakezelésre és az összetett munkára. Győződjön meg arról is, hogy a 32 és 64 bites verziókat készíti el.

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

13. lépés. Tartson biztonsági másolatot az utolsó működő forráskódról

Ez a lépés védelmet nyújt arra az esetre, ha valami baj történne a SO vagy fejlesztés jelenlegi verziójával. Ha a számítógép összeomlik, és nem indul el, akkor érdemes egy második példányt is használni, hogy megoldhassa a problémát.

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

14. lépés: Fontolja meg az új operációs rendszer tesztelését virtuális géppel

Ahelyett, hogy a számítógépet minden egyes módosításkor újraindítaná, vagy miután fájlokat küldött a fejlesztő számítógépről a tesztgépre, használhat virtuális gépi alkalmazást az operációs rendszer futtatására, miközben az aktuális operációs rendszer fut. A jelenlegi virtuálisgép -alkalmazások a következők: VMWare (amely ingyenesen elérhető szervertermékkel is rendelkezik), nyílt forráskódú alternatívák, Bochs, Microsoft Virtual PC (nem kompatibilis a Linux -szal) és Oracle VirtualBox.

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

15. lépés. Indítsa el a "kiadási jelöltet" vagy a béta verziót

Ez a lépés lehetővé teszi a felhasználó számára, hogy értesítse Önt az operációs rendszerével kapcsolatos lehetséges problémákról.

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

16. lépés. Az operációs rendszernek felhasználóbarátnak is kell lennie

Győződjön meg róla, hogy felhasználóbarát funkciókat ad hozzá, és tegye ezeket a tervezés szerves részévé.

Tippek

  • Ellenőrizze a lehetséges patthelyzeteket és egyéb hibákat. A hibák, a patthelyzetek és más problémák befolyásolják az operációs rendszer -építési projektet.
  • Győződjön meg arról, hogy a biztonsági funkciókat elsődleges prioritásként alkalmazza, ha azt szeretné, hogy a rendszer megfelelően működjön.
  • Használja az OSDev és az OSDever webhelyeket saját operációs rendszerének fejlesztéséhez. Kérjük, vegye figyelembe, hogy a legtöbb célra az OSDev.org közösség örülni fog, ha használja a wiki -jét, és nem csatlakozik a fórumhoz. Ha úgy dönt, hogy csatlakozik egy fórumhoz, annak egy előfeltétele van: valóban tudnia kell a C vagy a C ++ nyelvről és az x86 összeszerelési nyelvről. Meg kell értenie az általános és összetett programozási koncepciókat is, például a linkelt listákat, a várólistákat stb. Az OSDev közösség a szabályzatában kifejezetten kimondja, hogy közössége nem új programozók nevelésére jött létre.
  • Ne csatlakozz az OSDev.org fórummal, majd tegye fel a nyilvánvaló kérdést. Csak akkor kéri, hogy olvassa el az útmutatót. Olvassa el a Wikipédiát és a használni kívánt berendezés használati utasítását.
  • Ha operációs rendszert szeretne fejleszteni, akkor határozottan a programozás "istene".
  • El kellett volna olvasnia a processzor kézikönyvét is a kiválasztott processzor architektúrához; hogy x86 (Intel), ARM, MIPS, PPC stb. A processzor architektúrákra vonatkozó kézikönyvek könnyen megtalálhatók a Google kereső használatával ("Intel kézikönyv", "ARM kézikönyv" stb.).
  • Miután minden fejlesztési munka befejeződött, döntse el, hogy nyílt kódként, vagy szerzői jog alapján szeretné kiadni a kódot.
  • Ne kezdd el egy operációs rendszer projekt a programozás tanulásának megkezdéséhez. Ha kívül-belül nem ismeri 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 nyelveket stb., Akkor nem áll készen az operációs rendszerre fejlődés.
  • Egy teljesen új partíció létrehozása a SO kibővítésére jó megoldás lehet.
  • Ha egyszerű módszert szeretne, fontolja meg a Linux disztribúciókat, mint a Fedora Revisor, az Custom Nimble X, a Puppy Remaster, a PCLinuxOS Mk LiveCD vagy a SUSE Studio és a SUSE KIWI. Az Ön által létrehozott operációs rendszer azonban ahhoz a vállalathoz tartozik, amely először indította el a szolgáltatást (bár joga van szabadon terjeszteni, módosítani és tetszés szerint futtatni a GPL alapján).

Figyelem

  • Két héten belül nem kap teljes operációs rendszert. Kezdje a rendszerindító SO -val, majd folytassa a hűvösebb dolgokkal.
  • Az operációs rendszer óvatlan írása merevlemezre teljesen károsíthatja azt. Légy óvatos.
  • Ha nem ajánlott dolgokat hajt végre, például véletlenszerű bájtokat ír véletlenszerű I/O portokra, akkor összeomlik az operációs rendszere, és (elméletileg) megperzselheti a hardvert.
  • Ne számítson arra, hogy az operációs rendszer könnyen felépíthető. Sok bonyolult kölcsönös függőség létezik. Például egy több processzor kezelésére alkalmas operációs rendszer létrehozásához a Memóriakezelőnek rendelkeznie kell "záró" mechanizmussal, amely megakadályozza, hogy több processzor egyszerre férhessen hozzá ugyanahhoz az erőforráshoz. Az ehhez használt "zár" megkövetelné az ütemezőt, hogy biztosítsa, hogy csak egy processzor férjen hozzá a kritikus erőforrásokhoz, és a többieknek várniuk kell. Valójában az ütemező a Memóriakezelő jelenlététől függ. Ez egy példa a zsákutca -függőségre. Nincs szabványos módja ennek a problémának a megoldására; minden operációs rendszer programozótól elvárják, hogy legyen elég jártas ahhoz, hogy tudja, hogyan kell kezelni.

További források

  • Irányelvek: Linux a semmiből
  • Bootloader: GRUB
  • Virtuális gép alkalmazások: Bochs, VM Ware, XM Virtual Box.
  • Processzor kézikönyv: Intel kézikönyv
  • SO fejlesztő oldalak: OSDev, OSDever

Ajánlott: