Cara Memprogram Sistem Operasi (OS) Anda Sendiri – Tidak ada bidang pengembangan yang lebih menantang daripada pengembangan sistem operasi (OS). Ini adalah puncak pemrograman yang hebat.
Cara Memprogram Sistem Operasi (OS) Anda Sendiri
freewarepalm – Beberapa programmer pernah mencoba untuk membangun sebuah OS dan banyak dari mereka yang melakukan upaya tersebut tidak pernah menghasilkan sistem yang berfungsi.
Namun, jika Anda berhasil mencapai garis akhir dan menghasilkan sistem operasi yang berfungsi, Anda akan bergabung dengan kelompok elit pemrogram papan atas.
Apa itu Sistem Operasi?
Komputer paling awal tidak memiliki sistem operasi. Setiap program yang berjalan pada sistem awal ini harus menyertakan semua kode yang diperlukan untuk menjalankan komputer, berkomunikasi dengan perangkat keras yang terhubung, dan melakukan perhitungan yang sebenarnya dimaksudkan untuk dilakukan oleh program tersebut. Situasi ini berarti bahwa bahkan program sederhana pun kompleks.
Ketika sistem komputer terdiversifikasi dan menjadi lebih kompleks dan kuat, menjadi semakin tidak praktis untuk menulis program yang berfungsi baik sebagai sistem operasi dan aplikasi yang berguna.
Baca Juga : Definisi Sistem Operasi Untuk Pemula
Sebagai tanggapan, pemilik komputer mainframe individu mulai mengembangkan perangkat lunak sistem yang membuatnya lebih mudah untuk menulis dan menjalankan program dan sistem operasi lahir.
Sistem operasi ( OS ) adalah perangkat lunak yang mengelola perangkat keras komputer dan sumber daya sistem dan menyediakan alat yang dibutuhkan aplikasi untuk beroperasi. Kelahiran sistem operasi berarti bahwa program tidak lagi harus ditulis untuk mengontrol seluruh ruang lingkup operasi komputer.
Sebagai gantinya, aplikasi komputer dapat ditulis untuk dijalankan oleh sistem operasi sementara sistem operasi mengkhawatirkan sumber daya komputer dan peralatan periferal yang terhubung seperti printer dan pembaca kartu kertas berlubang.
Seperti yang dapat Anda bayangkan, sistem operasi paling awal sangat bervariasi dari satu komputer ke komputer berikutnya, dan meskipun mereka membuatnya lebih mudah untuk menulis program, mereka tidak mengizinkan program untuk digunakan di lebih dari satu mainframe tanpa penulisan ulang yang lengkap.
Pada 1960-an, IBM adalah produsen komputer pertama yang mengambil tugas pengembangan sistem operasi dan mulai mendistribusikan sistem operasi dengan komputer mereka.
Namun, IBM bukan satu-satunya vendor yang membuat sistem operasi selama ini. Control Data Corporation, Computer Sciences Corporation, Burroughs Corporation, GE, Digital Equipment Corporation, dan Xerox semuanya merilis sistem operasi mainframe pada 1960-an juga.
Pada akhir 1960-an, versi pertama dari sistem operasi Unix dikembangkan. Ditulis dalam C, dan tersedia secara bebas selama tahun-tahun awal, Unix dengan mudah dipindahkan ke sistem baru dan dengan cepat mencapai penerimaan luas.
Banyak sistem operasi modern, termasuk Apple OS X dan semua rasa Linux , menelusuri akarnya kembali ke Unix.
Microsoft Windows dikembangkan sebagai tanggapan atas permintaan dari IBM untuk sistem operasi untuk menjalankan jangkauan komputer pribadinya.
OS pertama yang dibuat oleh Microsoft tidak disebut Windows , itu disebut MS-DOS dan dibangun pada tahun 1981 dengan membeli sistem operasi 86-DOS dari Seattle Computer Products dan memodifikasinya untuk memenuhi persyaratan IBM.
Nama Windows pertama kali digunakan pada tahun 1985 ketika antarmuka pengguna grafis dibuat dan dipasangkan dengan MS-DOS.
Apple OS X, Microsoft Windows, dan berbagai bentuk Linux (termasuk Android) sekarang menguasai sebagian besar pasar sistem operasi modern.
Kernel adalah jantung dari sistem operasi . Ini adalah program pertama yang dimuat saat komputer dinyalakan, mengelola sumber daya komputer, dan menangani permintaan dari program dan aplikasi sistem.
Program sistem berjalan di atas kernel. Mereka tidak digunakan untuk melakukan pekerjaan yang berguna, sebaliknya, mereka adalah program yang diperlukan untuk menghubungkan kernel ke aplikasi pengguna dan perangkat periferal. Driver perangkat, sistem file, program jaringan, dan utilitas sistem seperti defragmeter disk adalah contoh program sistem .
Baca Juga : 5 Ponsel Smartphone Dengan Kamera Terbaik 2021
Program aplikasi bukan bagian dari sistem operasi dan merupakan program yang digunakan untuk melakukan pekerjaan yang bermanfaat. Aplikasi pengolah kata, browser, dan pemutar media adalah jenis program aplikasi yang umum. Program aplikasi dikelola dan diaktifkan oleh kernel, dan menggunakan program sistem untuk mengakses perangkat periferal komputer dan perangkat keras.
Daftar hal-hal yang perlu Anda ketahui sebelum Anda mencoba melakukan pengembangan sistem operasi sangat panjang . Tiga hal terpenting yang perlu Anda kuasai sebelum terjun ke pengembangan OS adalah:
- Pengetahuan dasar ilmu komputer
- Teori pemrograman komputer dan praktik terbaik;
- Bahasa pemrograman tingkat rendah dan tingkat tinggi.
Belajar Ilmu Komputer
Pengembangan OS tidak seperti pengembangan web. Ini bukan sesuatu yang bisa Anda lompati dan pelajari sambil jalan. Anda perlu mengembangkan dasar yang kuat dalam ilmu komputer sebelum beralih ke topik lain.
Berikut adalah beberapa sumber daya untuk Anda mulai:
Kursus: Ilmu Komputer 101 adalah kursus yang harus Anda ambil pertama jika Anda baru di bidang pemrograman komputer dan ilmu komputer.
Jika Anda memiliki sedikit pengetahuan dan pengalaman, lewati kursus ini demi opsi Udacity of edX. Namun, jika Anda baru di bidang ini, kursus ini menggunakan pendekatan tanpa pengalaman sebelumnya untuk memperkenalkan ilmu komputer dan topik pemrograman.
Udacity: Pengantar Ilmu Komputer mengambil pendekatan pengembangan web untuk mengajar ilmu komputer. Meskipun tidak secara langsung dapat diterapkan pada prospek membangun sistem operasi, ini adalah kursus yang solid yang memberikan informasi yang berguna dan memberikan gambaran yang baik tentang dasar-dasar pemrograman komputer.
edX: Pengantar Ilmu Komputer adalah kursus ilmu komputer paling lengkap dan mendalam dalam daftar ini. Kursus mandiri dan gratis ini dirancang oleh Universitas Harvard dan mencerminkan konten yang disajikan dalam kursus dengan nama yang sama yang ditawarkan di kampus Universitas Harvard.
Dalam kursus yang luas ini, Anda akan belajar tentang algoritme, struktur data, manajemen sumber daya, rekayasa perangkat lunak, dan mempelajari bahasa pemrograman seperti C, PHP , dan JavaScript .
Pelajari Pemrograman Komputer
Dengan pemahaman yang kuat tentang ilmu komputer di bawah ikat pinggang Anda dan beberapa pengalaman terbatas dengan bahasa pemrograman, langkah selanjutnya adalah mempelajari cara menangani proyek pemrograman skala besar.
Udacity: Proses Pengembangan Perangkat Lunak adalah kursus luar biasa yang harus diambil semua orang jika mereka belum pernah melakukan proyek pemrograman yang menantang dan berskala besar sebelumnya. Dalam kursus ini Anda akan mempelajari alur kerja dan alat serta teknik manajemen seperti Git dan cara menyiapkan lingkungan pengembangan terintegrasi.
Pelajari Bahasa Pemrograman
Untuk mengembangkan sistem operasi, Anda harus menguasai setidaknya dua bahasa pemrograman:
- Bahasa rakitan tingkat rendah
- Sebuah bahasa pemrograman tingkat tinggi.
Bahasa assembly digunakan untuk berkomunikasi langsung dengan CPU. Setiap jenis CPU berbicara bahasa mesin dan hanya ada satu bahasa rakitan yang sesuai untuk setiap jenis CPU. Arsitektur komputer yang paling umum adalah x86, pada awalnya dikembangkan oleh Intel dan sekarang digunakan oleh berbagai produsen chip komputer termasuk AMD, VIA, dan banyak lainnya. Dalam panduan ini kami akan mengarahkan Anda ke arah belajar bahasa rakitan x86.
Bahasa pemrograman tingkat tinggi bekerja dengan banyak arsitektur komputer. C adalah bahasa pemrograman yang paling umum digunakan dan direkomendasikan untuk menulis sistem operasi. Untuk alasan ini, kami akan merekomendasikan belajar dan menggunakan C untuk pengembangan OS. Namun, bahasa lain seperti C++ dan Python juga dapat digunakan.
x86 Bahasa Perakitan
The x86 Majelis Panduan adalah tempat yang tepat untuk mulai belajar bahasa assembly. Dokumen singkat ini memberikan gambaran singkat tentang bahasa rakitan x86 dan akan mengatur tahap untuk sumber daya yang lebih maju yang akan Anda lanjutkan ke berikutnya.
Pemrograman dari Bawah ke Atas oleh Jonathan Bartlett adalah salah satu buku yang menentukan lanskap bahasa assembly. Buku ini menggunakan bahasa assembly sebagai dasar untuk mempelajari ilmu komputer dan pemrograman. Sumber daya ini juga tersedia dari Internet Archive .
Art of Assembly Language oleh Randy Hyde adalah teks ikonik lainnya dalam dunia pendidikan bahasa assembly. Awalnya ditulis khusus untuk kursus pemrograman Hyde di Cal Poly dan UC Riverside, teks ini dirilis sebagai ebook HTML pada pertengahan 1990-an dan diakui sebagai karya yang menentukan dalam bidang ini. Teks juga di-host sebagai serangkaian file PDF oleh Yale FLINT Group.