Cara Membuat Sistem Operasi Komputer: 13 Langkah (dengan Gambar)

Isi kandungan:

Cara Membuat Sistem Operasi Komputer: 13 Langkah (dengan Gambar)
Cara Membuat Sistem Operasi Komputer: 13 Langkah (dengan Gambar)

Video: Cara Membuat Sistem Operasi Komputer: 13 Langkah (dengan Gambar)

Video: Cara Membuat Sistem Operasi Komputer: 13 Langkah (dengan Gambar)
Video: CARA INSTALL UBUNTU 20.04.1 DI VIRTUALBOX || IT TUTORIAL 2024, April
Anonim

WikiHow ini mengajar anda bagaimana merancang dan mengembangkan sistem operasi jika anda tidak tahu bagaimana membuat kod dalam C, atau C ++. Sistem operasi menguruskan perkakasan komputer dan menyediakan sumber yang perlu dijalankan oleh aplikasi. Menulis sistem operasi dari awal memerlukan perintah sains komputer yang kuat, bahasa pengaturcaraan seperti C atau C ++, pemasangan, dan amalan pengurusan kod.

Langkah-langkah

Bahagian 1 dari 2: Mempelajari Asas

Buat Sistem Operasi Komputer Langkah 1
Buat Sistem Operasi Komputer Langkah 1

Langkah 1. Ikuti beberapa kursus asas Sains Komputer

Tidak seperti mengembangkan untuk web, membuat sistem operasi memerlukan pemahaman yang kuat mengenai algoritma, struktur data, perkakasan komputer, dan pengurusan sumber. Orang mendapat ijazah dalam perkara ini, jadi jangan berharap untuk menulis keseluruhan sistem operasi setelah membaca tutorial dalam talian! Kursus Pengenalan Harvard Ilmu Komputer boleh didapati dalam talian melalui EDX tanpa sebarang kos.

Buat Sistem Operasi Komputer Langkah 2
Buat Sistem Operasi Komputer Langkah 2

Langkah 2. Pelajari bahasa pengaturcaraan peringkat tinggi seperti Python

Setelah anda mendapat pemahaman asas yang kuat mengenai sains komputer, langkah seterusnya adalah menguasai C dan / atau C ++. Seperti belajar tentang sains komputer, menguasai bahasa bukanlah pilihan - anda tidak akan dapat membuat kod sistem operasi jika anda tidak dapat menulis aplikasi yang kukuh.

Sekiranya anda baru dalam bidang C, lihat kursus Pengaturcaraan Dartmouth's C: Permulaan, yang percuma melalui EDX. Sebaik sahaja anda menyelesaikan kursus itu, anda boleh mengikuti kursus seterusnya dalam siri: Pengaturcaraan C: Asas Bahasa. Kemudian, beralih ke kursus seterusnya seperti Pengaturcaraan Modular dan Pengurusan Memori dan Penunjuk dan Pengurusan Memori

Buat Sistem Operasi Komputer Langkah 4
Buat Sistem Operasi Komputer Langkah 4

Langkah 3. Belajar bahasa perhimpunan

Bahasa pemasangan adalah bahasa peringkat rendah yang direka untuk berkomunikasi dengan pemproses yang berbeza. Oleh kerana pemasangan berbeza untuk jenis pemproses yang berbeza (mis., Bahasa pemasangan x86 untuk pemproses Intel, AMD, VIA, dan lain-lain), anda perlu mempelajari versi untuk jenis pemproses yang anda kodkan.

  • Buku sumber terbuka ini, jika dibaca secara keseluruhan, dapat memberi anda pemahaman yang cukup kukuh untuk membina sistem operasi.
  • Art of Assembly Language adalah buku yang sangat disyorkan mengenai pemasangan yang tersedia di dalam dan di luar talian.
  • Anda juga harus banyak membuat kajian mengenai jenis pemproses yang seharusnya dijalankan oleh sistem operasi anda. Manual untuk senibina pemproses boleh didapati dengan mudah menggunakan carian Google ("Manual Intel," "Manual ARM," dll.).
Buat Sistem Operasi Komputer Langkah 5
Buat Sistem Operasi Komputer Langkah 5

Langkah 4. Lengkapkan tutorial sistem operasi

Tutorial OS akan memandu anda melalui proses membuat sistem operasi asas. Ini membuat anda terbiasa dengan proses ini dan membantu anda mengetahui apakah ada potongan yang anda hilang. Setelah anda menyelesaikan satu atau dua tutorial, anda akan dapat mencipta sistem operasi anda sendiri.

  • Bare Bones adalah tutorial yang membantu anda menulis kernel 32-bit sederhana pertama anda. Setelah menyelesaikan tutorial, langkah seterusnya adalah menggunakan Meaty Skeleton untuk menyusun sistem operasi anda sendiri.
  • Linux dari Scratch adalah buku dalam talian yang memandu anda dalam membuat sistem operasi Linux anda sendiri.
  • Sistem operasi dari 0 hingga 1 adalah buku percuma mengenai pembuatan pelbagai sistem operasi dari awal hingga akhir.
Buat Sistem Operasi Komputer Langkah 3
Buat Sistem Operasi Komputer Langkah 3

Langkah 5. Ketahui matlamat sistem operasi anda

Apa yang anda mahu sistem operasi anda lakukan? Bagaimana ia kelihatan? Adakah anda benar-benar perlu menulis keseluruhan sistem operasi atau adakah anda hanya ingin membuat paparan tertentu untuk desktop anda? Ini semua perkara yang perlu dipertimbangkan sebelum mula membuat kod.

  • Pertimbangkan untuk berkembang dengan pasukan pengaturcara lain. Mempunyai pasukan pemaju yang mengerjakan projek ini akan mengurangkan masa pembangunan dengan ketara.
  • Tambahkan matlamat, rancangan, dan soalan projek anda ke repositori awam anda supaya orang lain dapat membantu anda.

Bahagian 2 dari 2: Membangunkan Sistem Operasi Anda

Selamat Menyeronokkan Komputer Langkah 16
Selamat Menyeronokkan Komputer Langkah 16

Langkah 1. Pilih persekitaran pembangunan

Ini adalah platform yang akan anda gunakan untuk membuat kod sistem operasi baru anda. Ini adalah masalah pilihan peribadi, tetapi kebanyakan orang menggunakan Windows atau rasa UNIX. Sekiranya anda menggunakan Windows, ada baiknya anda memasang persekitaran UNIX seperti Cygwin atau MinGW. Anda biasanya ingin memastikan persekitaran apa pun yang anda gunakan merangkumi yang berikut:

  • GCC (penyusun Gnu). Sekiranya anda menggunakan Windows, anda boleh memasangnya di Cygwin atau MinGW.
  • Binutils adalah kumpulan alat yang digunakan untuk memanipulasi fail objek. Sekali lagi, jika anda menggunakan Windows, anda boleh memasangnya di Cygwin.
  • Penyunting teks yang baik. Vim dan emac biasanya digunakan di persekitaran UNIX. Pengguna Windows boleh menggunakan Notepad, atau melihat Notepad ++ untuk peningkatan multi-tab.
  • Perl dan / atau Python. Satu atau kedua-duanya disyorkan untuk manipulasi tali.
Buat Sistem Operasi Komputer Langkah 13
Buat Sistem Operasi Komputer Langkah 13

Langkah 2. Sediakan sistem kawalan versi anda

Menulis sistem operasi bermaksud anda mungkin akan membuat ratusan (atau ribuan!) Baris kod. Apabila anda sedang membuat semakan, ini boleh membingungkan. Beberapa pilihan untuk diperiksa adalah CVS, Mercurial, dan Subversion.

Buat Sistem Operasi Komputer Langkah 6
Buat Sistem Operasi Komputer Langkah 6

Langkah 3. Tentukan pemuat but

Sekiranya anda tidak mahu membuat sendiri, anda boleh menggunakan yang sedia ada seperti Grand Unified Bootloader (GRUB). Sekiranya anda merasa cukup berani untuk membuat kod bootloader, lihat Rolling Your Own Bootloader di OSDev.org.

Buat Sistem Operasi Komputer Langkah 9
Buat Sistem Operasi Komputer Langkah 9

Langkah 4. Pilih reka bentuk kernel

Kernel adalah teras sistem operasi anda, menyediakan antara muka antara pengguna dan perkakasan komputer. Terdapat kernel monolitik dan kernel mikro. Kernel monolitik menerapkan semua layanan di kernel, sementara mikrokernel memiliki kernel kecil yang digabungkan dengan daemon pengguna yang melaksanakan perkhidmatan. Secara umum, kernel monolitik lebih cepat, tetapi mikrokernel mempunyai pengasingan dan kebolehpercayaan kesalahan yang lebih baik.

Buat Sistem Operasi Komputer Langkah 12
Buat Sistem Operasi Komputer Langkah 12

Langkah 5. Mulakan kecil

Mulakan dengan perkara kecil seperti memaparkan teks dan gangguan sebelum beralih ke perkara seperti pengurusan memori dan berbilang tugas. Anda juga boleh mencuba membuat Sistem Operasi 16-bit yang sederhana, bukannya mengambil langkah besar.

Anda tidak akan mempunyai sistem yang lengkap dalam dua minggu. Mulakan dengan OS yang boot, kemudian beralih ke perkara yang menarik

Buat Sistem Operasi Komputer Langkah 14
Buat Sistem Operasi Komputer Langkah 14

Langkah 6. Uji sistem operasi baru anda dengan mesin maya

Daripada reboot komputer anda setiap kali anda membuat perubahan atau perlu memindahkan fail dari komputer pengembangan ke mesin uji anda, gunakan aplikasi mesin maya. VMWare adalah pilihan biasa yang berfungsi dengan Windows dan Linux, begitu juga dengan Bochs. Periksa kemungkinan kebuntuan dan bug lain dan perbaiki mengikut keperluan.

Buat Sistem Operasi Komputer Langkah 15
Buat Sistem Operasi Komputer Langkah 15

Langkah 7. Lepaskan calon pelepas

Anda boleh melakukan ini dengan memuat naik kod yang diuji ke repositori awam anda. Ini akan membolehkan orang menguji sistem operasi anda dan melaporkan kembali masalah yang mereka hadapi.

Selamat Menyeronokkan Komputer Langkah 28
Selamat Menyeronokkan Komputer Langkah 28

Langkah 8. Rangkaian dengan pembangun sistem operasi lain

Terdapat seluruh komuniti pembangun sistem operasi yang berkumpul di pelbagai forum, termasuk / r / osdev di Reddit dan Software Engineering Stack Exchange. Setelah anda memahami tentang mengembangkan sistem operasi asas, baca catatan yang ada untuk melihat perkara seperti apa yang muncul semasa proses pembangunan.

Video - Dengan menggunakan perkhidmatan ini, beberapa maklumat dapat dikongsi dengan YouTube

Petua

  • Pastikan untuk melaksanakan ciri keselamatan sebagai keutamaan anda sekiranya anda mahu sistem anda dapat dilaksanakan.
  • Setelah semua pembangunan selesai, tentukan sama ada anda ingin melepaskan kod tersebut sebagai sumber terbuka, atau hak milik.
  • Untuk menjadikan sistem operasi dapat menangani beberapa pemproses, Pengurus Memori anda mesti mempunyai mekanisme "penguncian" untuk mengelakkan beberapa pemproses mengakses sumber yang sama pada masa yang sama. "Kunci" yang digunakan untuk ini memerlukan kehadiran penjadual untuk memastikan bahawa hanya satu pemproses yang mengakses sumber kritikal pada waktu tertentu dan semua yang lain ditunggu. Namun penjadual bergantung pada kehadiran Pengurus Memori. Ini adalah kes ketergantungan yang buntu. Tidak ada kaedah standard untuk menyelesaikan masalah seperti ini; sebagai pengaturcara, anda diharapkan cukup mahir untuk mengetahui cara sendiri untuk menanganinya.
  • Sistem operasi juga mesra pengguna. Pastikan untuk menambahkan ciri mesra pengguna, menjadikannya bahagian penting dalam reka bentuk anda.
  • Jangan sertai forum OSDev.org dan mula mengemukakan soalan yang jelas. Ia hanya akan menghasilkan "Baca Manual" jawapan. Anda harus membaca Wikipedia, dan buku panduan untuk pelbagai alat yang ingin anda gunakan.
  • Jangan mulakan projek sistem operasi untuk memulakan pembelajaran pengaturcaraan. Sekiranya anda belum mengetahui bahasa C, C ++, Pascal, atau beberapa bahasa lain yang sesuai, termasuk manipulasi penunjuk, manipulasi bit tahap rendah, pergeseran bit, bahasa pemasangan sebaris, dll., Anda tidak bersedia untuk pembangunan sistem operasi.
  • Sekiranya anda melakukan sesuatu yang tidak disarankan, seperti menulis bait rawak ke port I / O rawak, anda akan merosakkan OS anda, dan boleh (secara teori) menggoreng perkakasan anda.

Disyorkan: