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

Daftar Isi:

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: instalasi software di ubuntu dengan file package (APK) 2024, April
Anonim

Artikel wikiHow ini akan mengajarkan kepada Anda cara merencanakan dan mengembangkan sistem operasi jika Anda tidak tahu cara membuat kode dalam C, atau C++. Sistem operasi mengelola perangkat keras komputer dan menyediakan sumber daya yang dibutuhkan aplikasi untuk dijalankan. Menulis sistem operasi dari awal memerlukan penguasaan ilmu komputer yang kuat, bahasa pemrograman seperti C atau C++, perakitan, dan praktik manajemen kode.

Langkah

Bagian 1 dari 2: Mempelajari Dasar-dasarnya

Membuat Sistem Operasi Komputer Langkah 1
Membuat Sistem Operasi Komputer Langkah 1

Langkah 1. Ikuti beberapa kursus dasar Ilmu Komputer

Tidak seperti mengembangkan untuk web, membuat sistem operasi memerlukan pemahaman yang kuat tentang algoritme, struktur data, perangkat keras komputer, dan manajemen sumber daya. Orang-orang mendapatkan gelar dalam hal ini, jadi jangan berharap untuk menulis seluruh sistem operasi setelah membaca tutorial online! Kursus Pengantar Ilmu Komputer Harvard tersedia online melalui EDX tanpa biaya.

Membuat Sistem Operasi Komputer Langkah 2
Membuat Sistem Operasi Komputer Langkah 2

Langkah 2. Pelajari bahasa pemrograman tingkat tinggi seperti Python

Setelah Anda memiliki pemahaman dasar yang kuat tentang ilmu komputer, langkah selanjutnya adalah menguasai C dan/atau C++. Seperti belajar tentang ilmu komputer, menguasai bahasa bukanlah pilihan-Anda tidak akan bisa membuat kode sistem operasi jika Anda tidak bisa menulis aplikasi yang solid.

Jika Anda baru mengenal C, lihat kursus Pemrograman C Dartmouth: Memulai, yang gratis melalui EDX. Setelah Anda menyelesaikan kursus itu, Anda dapat mengikuti kursus berikutnya dalam seri: Pemrograman C: Dasar-dasar Bahasa. Kemudian, lanjutkan ke kursus berikutnya seperti Pemrograman Modular dan Manajemen Memori serta Pointer dan Manajemen Memori

Membuat Sistem Operasi Komputer Langkah 4
Membuat Sistem Operasi Komputer Langkah 4

Langkah 3. Pelajari bahasa assembly

Bahasa assembly adalah bahasa tingkat rendah yang dirancang untuk berkomunikasi dengan prosesor yang berbeda. Karena perakitan berbeda untuk jenis prosesor yang berbeda (mis., Bahasa rakitan x86 untuk Intel, AMD, VIA, dan prosesor lainnya), Anda harus mempelajari versi untuk jenis prosesor yang Anda kodekan.

  • Buku open source ini, jika dibaca secara keseluruhan, dapat memberikan pemahaman yang cukup solid untuk membangun sebuah sistem operasi.
  • The Art of Assembly Language adalah buku yang sangat direkomendasikan tentang assembly yang tersedia baik online maupun offline.
  • Anda juga harus melakukan banyak penelitian tentang jenis prosesor yang harus dijalankan oleh sistem operasi Anda. Manual untuk arsitektur prosesor dapat dengan mudah ditemukan menggunakan pencarian Google ("Manual Intel, " "Manual ARM, " dll.).
Membuat Sistem Operasi Komputer Langkah 5
Membuat Sistem Operasi Komputer Langkah 5

Langkah 4. Selesaikan tutorial sistem operasi

Tutorial OS akan memandu Anda melalui proses pembuatan sistem operasi dasar. Ini membuat Anda terbiasa dengan prosesnya dan membantu Anda mengetahui apakah ada bagian yang Anda lewatkan. Setelah Anda menyelesaikan satu atau dua tutorial, Anda akan siap untuk membuat sistem operasi Anda sendiri.

  • Bare Bones adalah tutorial yang membantu Anda menulis kernel 32-bit sederhana pertama Anda. Setelah menyelesaikan tutorial, langkah selanjutnya adalah menggunakan Meaty Skeleton untuk menyusun sistem operasi Anda sendiri.
  • Linux from Scratch adalah buku online yang memandu Anda membuat sistem operasi Linux Anda sendiri.
  • Sistem operasi dari 0 hingga 1 adalah buku gratis tentang membuat berbagai sistem operasi dari awal hingga akhir.
Membuat Sistem Operasi Komputer Langkah 3
Membuat Sistem Operasi Komputer Langkah 3

Langkah 5. Cari tahu tujuan sistem operasi Anda

Apa yang Anda ingin sistem operasi Anda lakukan? Bagaimana seharusnya? Apakah Anda benar-benar perlu menulis seluruh sistem operasi atau hanya ingin membuat tampilan tertentu untuk desktop Anda? Ini semua adalah hal yang perlu dipertimbangkan sebelum mulai membuat kode.

  • Pertimbangkan untuk mengembangkan dengan tim programmer lain. Memiliki tim pengembang yang mengerjakan proyek akan memangkas waktu pengembangan secara signifikan.
  • Tambahkan tujuan, rencana, dan pertanyaan proyek Anda ke repositori publik Anda sehingga mudah bagi orang lain untuk membantu Anda.

Bagian 2 dari 2: Membangun Sistem Operasi Anda

Bersenang-senang dengan Komputer Langkah 16
Bersenang-senang dengan Komputer Langkah 16

Langkah 1. Pilih lingkungan pengembangan

Ini adalah platform yang akan Anda gunakan untuk mengkodekan sistem operasi baru Anda. Ini masalah preferensi pribadi, tetapi kebanyakan orang menggunakan Windows atau rasa UNIX. Jika Anda menggunakan Windows, sebaiknya instal lingkungan UNIX seperti Cygwin atau MinGW. Anda biasanya ingin memastikan lingkungan apa pun yang Anda gunakan termasuk yang berikut:

  • GCC (kompiler Gnu). Jika Anda menggunakan Windows, Anda dapat menginstalnya di Cygwin atau MinGW.
  • Binutils adalah kumpulan alat yang digunakan untuk memanipulasi file objek. Sekali lagi, jika Anda menggunakan Windows, Anda dapat menginstalnya di Cygwin.
  • Editor teks yang bagus. Vim dan emacs biasanya digunakan di lingkungan UNIX. Pengguna Windows dapat menggunakan Notepad, atau periksa Notepad++ untuk peningkatan multi-tab.
  • Perl dan/atau Python. Satu atau keduanya direkomendasikan untuk manipulasi string.
Membuat Sistem Operasi Komputer Langkah 13
Membuat Sistem Operasi Komputer Langkah 13

Langkah 2. Siapkan sistem kontrol versi Anda

Menulis sistem operasi berarti Anda mungkin akan membuat ratusan (atau ribuan!) baris kode. Saat Anda mengerjakan revisi, ini bisa membingungkan. Beberapa opsi untuk diperiksa adalah CVS, Mercurial, dan Subversion.

Membuat Sistem Operasi Komputer Langkah 6
Membuat Sistem Operasi Komputer Langkah 6

Langkah 3. Tentukan bootloader

Jika Anda tidak ingin membuatnya sendiri, Anda dapat menggunakan yang sudah ada seperti Grand Unified Bootloader (GRUB). Jika Anda merasa cukup berani untuk membuat kode bootloader, lihat Rolling Your Own Bootloader di OSDev.org.

Membuat Sistem Operasi Komputer Langkah 9
Membuat Sistem Operasi Komputer Langkah 9

Langkah 4. Pilih desain kernel

Kernel adalah inti dari sistem operasi Anda, menyediakan antarmuka antara pengguna dan perangkat keras komputer. Ada kernel monolitik dan kernel mikro. Kernel monolitik mengimplementasikan semua layanan di kernel, sedangkan mikrokernel memiliki kernel kecil yang dikombinasikan dengan daemon pengguna yang mengimplementasikan layanan. Secara umum, kernel monolitik lebih cepat, tetapi kernel mikro memiliki isolasi kesalahan dan keandalan yang lebih baik.

Membuat Sistem Operasi Komputer Langkah 12
Membuat Sistem Operasi Komputer Langkah 12

Langkah 5. Mulai dari yang kecil

Mulailah dengan hal-hal kecil seperti menampilkan teks dan interupsi sebelum beralih ke hal-hal seperti manajemen memori dan multitasking. Anda juga dapat mencoba membuat Sistem Operasi 16-bit sederhana, daripada mengambil lompatan besar.

Anda tidak akan memiliki sistem penuh dalam dua minggu. Mulailah dengan OS yang melakukan booting, lalu lanjutkan ke hal-hal keren

Membuat Sistem Operasi Komputer Langkah 14
Membuat Sistem Operasi Komputer Langkah 14

Langkah 6. Uji sistem operasi baru Anda dengan mesin virtual

Daripada me-reboot komputer Anda setiap kali Anda membuat perubahan atau harus mentransfer file dari komputer pengembangan Anda ke mesin uji Anda, gunakan aplikasi mesin virtual. VMWare adalah opsi umum yang bekerja dengan Windows dan Linux, dan begitu juga dengan Bochs. Periksa potensi kebuntuan dan bug lainnya dan perbaiki sesuai kebutuhan.

Membuat Sistem Operasi Komputer Langkah 15
Membuat Sistem Operasi Komputer Langkah 15

Langkah 7. Lepaskan "kandidat rilis

Anda dapat melakukannya dengan mengunggah kode yang telah diuji ke repositori publik Anda. Ini akan memungkinkan orang menguji sistem operasi Anda dan melaporkan kembali masalah apa pun yang mereka hadapi.

Bersenang-senang dengan Komputer Langkah 28
Bersenang-senang dengan Komputer Langkah 28

Langkah 8. Jaringan dengan pengembang sistem operasi lain

Ada seluruh komunitas pengembang sistem operasi yang berkumpul di berbagai forum, termasuk /r/osdev di Reddit dan Software Engineering Stack Exchange. Setelah Anda memahami cara mengembangkan sistem operasi dasar, baca posting yang ada untuk melihat hal-hal apa saja yang muncul selama proses pengembangan.

Video - Dengan menggunakan layanan ini, beberapa informasi dapat dibagikan dengan YouTube

Tips

  • Pastikan untuk menerapkan fitur keamanan sebagai prioritas utama Anda jika Anda ingin sistem Anda dapat berjalan.
  • Setelah semua pengembangan selesai, putuskan apakah Anda ingin merilis kode sebagai open source, atau berpemilik.
  • Untuk membuat sistem operasi dapat menangani banyak prosesor, Manajer Memori Anda harus memiliki mekanisme "penguncian" untuk mencegah beberapa prosesor mengakses sumber daya yang sama pada waktu yang sama. "Kunci" yang digunakan untuk ini akan memerlukan kehadiran penjadwal untuk memastikan bahwa hanya satu prosesor yang mengakses sumber daya penting pada waktu tertentu dan semua prosesor lainnya harus menunggu. Namun penjadwal tergantung pada keberadaan Manajer Memori. Ini adalah kasus ketergantungan yang menemui jalan buntu. Tidak ada cara standar untuk menyelesaikan masalah seperti ini; sebagai seorang programmer, Anda diharapkan cukup terampil untuk mengetahui caranya sendiri dalam menghadapinya.
  • Sistem operasi juga bisa ramah pengguna. Pastikan untuk menambahkan fitur ramah pengguna, menjadikannya bagian integral dari desain Anda.
  • Jangan bergabung forum OSDev.org dan mulailah mengajukan pertanyaan yang jelas. Itu hanya akan menghasilkan "Baca Buku Petunjuk" jawaban. Anda harus mencoba membaca Wikipedia, dan manual untuk berbagai alat yang ingin Anda gunakan.
  • Jangan mulai proyek sistem operasi untuk mulai belajar pemrograman. Jika Anda belum tahu C, C++, Pascal, atau bahasa lain yang sesuai, termasuk manipulasi pointer, manipulasi bit tingkat rendah, pergeseran bit, bahasa rakitan sebaris, dll., Anda belum siap untuk pengembangan sistem operasi.
  • Jika Anda melakukan sesuatu yang keliru, seperti menulis byte acak ke port I/O acak, Anda akan membuat OS Anda crash, dan (secara teori) dapat menggoreng perangkat keras Anda.

Direkomendasikan: