Cara Memprogram Sistem Operasi (OS) Anda Sendiri

Pendedahan: Sokongan anda membantu mengekalkan laman web ini! Kami memperoleh bayaran rujukan untuk beberapa perkhidmatan yang kami cadangkan di halaman ini.


Tidak ada bidang pembangunan yang lebih mencabar daripada pembangunan sistem operasi (OS). Ini adalah “puncak pengaturcaraan yang hebat.”

Hanya sedikit pengaturcara yang berusaha untuk membina OS dan banyak dari mereka yang melakukan percubaan tidak pernah menghasilkan sistem yang berfungsi.

Namun, jika anda berjaya sampai ke garisan penamat dan menghasilkan sistem operasi yang berfungsi, anda akan menyertai kumpulan elit programmer penerbangan teratas.

Apa itu Sistem Operasi?

Komputer yang paling awal tidak mempunyai sistem operasi.

Setiap program yang dijalankan pada sistem awal ini harus memasukkan semua kod yang diperlukan untuk menjalankan komputer, berkomunikasi dengan perkakasan yang disambungkan, dan melakukan pengiraan yang sebenarnya ingin dilakukan oleh program. Keadaan ini bermaksud bahawa program sederhana bahkan kompleks.

Oleh kerana sistem komputer dipelbagaikan dan menjadi lebih kompleks dan kuat, menjadi tidak praktikal untuk menulis program yang berfungsi sebagai sistem operasi dan aplikasi yang berguna.

Sebagai tindak balas, pemilik komputer kerangka utama individu mula mengembangkan perisian sistem yang memudahkan menulis dan menjalankan program dan sistem operasi dilahirkan.

Sistem operasi (OS) adalah perisian yang menguruskan perkakasan komputer dan sumber sistem dan menyediakan alat yang perlu dikendalikan oleh aplikasi. Kelahiran sistem operasi bermaksud bahawa program tidak lagi perlu ditulis untuk mengawal keseluruhan skop operasi komputer.

Sebaliknya, aplikasi komputer boleh ditulis untuk dijalankan oleh sistem operasi sementara sistem operasi bimbang tentang sumber komputer dan peralatan periferal yang disambungkan seperti pencetak dan pembaca kad kertas yang ditebuk.

Sejarah Ringkas Sistem Operasi

Sistem operasi pertama dibuat oleh General Motors pada tahun 1956 untuk menjalankan satu komputer kerangka utama IBM. Pemilik kerangka utama IBM yang lain mengikutinya dan membuat sistem operasi mereka sendiri.

Seperti yang anda bayangkan, sistem operasi paling awal sangat berbeza dari satu komputer ke komputer yang lain, dan walaupun mereka lebih senang menulis program, mereka tidak membenarkan program digunakan pada lebih dari satu mainframe tanpa menulis semula sepenuhnya..

Pada tahun 1960-an, IBM adalah pengeluar komputer pertama yang mengambil tugas pengembangan sistem operasi dan mula menyebarkan sistem operasi dengan komputer mereka.

Walau bagaimanapun, 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 melepaskan sistem operasi kerangka utama pada tahun 1960-an juga.

Pada akhir 1960-an, versi pertama sistem operasi Unix dikembangkan. Ditulis dalam C, dan tersedia secara bebas pada tahun-tahun terawal, Unix dengan mudah dibawa ke sistem baru dan dengan cepat mendapat penerimaan yang luas.

Banyak sistem operasi moden, termasuk Apple OS X dan semua perisa Linux, menelusuri akarnya kembali ke Unix.

Microsoft Windows dikembangkan sebagai tindak balas kepada permintaan dari IBM untuk sistem operasi untuk menjalankan rangkaian komputer peribadinya.

OS pertama yang dibina oleh Microsoft tidak dipanggil Windows, ia dipanggil MS-DOS dan dibina pada tahun 1981 dengan membeli sistem operasi 86-DOS dari Seattle Computer Products dan mengubahnya untuk memenuhi kehendak IBM.

Nama Windows pertama kali digunakan pada tahun 1985 ketika antara muka pengguna grafik dibuat dan dipasangkan dengan MS-DOS.

Apple OS X, Microsoft Windows, dan berbagai bentuk Linux (termasuk Android) kini menguasai sebahagian besar pasaran sistem operasi moden.

Bahagian Sistem Operasi

Sistem operasi dibina daripada dua bahagian utama:

  • Kernel;
  • Program sistem.

The kernel adalah nadi sistem operasi. Ini adalah program pertama yang dimuat ketika komputer dimulakan, mengendalikan sumber komputer, dan menangani permintaan dari program sistem dan aplikasi.

Program sistem jalankan di atas kernel. Mereka tidak digunakan untuk melakukan kerja yang bermanfaat, sebaliknya, mereka adalah program yang diperlukan untuk menghubungkan kernel ke aplikasi pengguna dan peranti periferal. Pemacu peranti, sistem fail, program rangkaian, dan utiliti sistem seperti defragmeters cakera adalah semua contoh program sistem.

Program permohonan bukan sebahagian daripada sistem operasi dan merupakan program yang digunakan untuk melakukan kerja yang bermanfaat. Aplikasi pemproses kata, penyemak imbas, dan media player adalah jenis program aplikasi yang biasa. Program aplikasi dikendalikan dan diaktifkan oleh kernel, dan menggunakan program sistem untuk mengakses peranti dan perkakasan pinggiran komputer.

Yang Perlu Anda Ketahui

Senarai perkara yang perlu anda ketahui sebelum anda berusaha melakukan pembangunan sistem operasi sangat panjang. Tiga perkara paling penting yang perlu anda kuasai sebelum melompat ke pengembangan OS adalah:

  • Pengetahuan asas sains komputer;
  • Teori pengaturcaraan komputer dan amalan terbaik;
  • Bahasa pengaturcaraan peringkat rendah dan tahap tinggi.

Belajar Sains Komputer

Pembangunan OS tidak seperti pembangunan web. Bukan sesuatu yang boleh anda lalui dan pelajari semasa anda pergi. Anda perlu mengembangkan asas yang kukuh dalam sains komputer sebelum beralih ke topik lain.

Berikut adalah beberapa sumber untuk memulakan anda:

Coursera: Sains Komputer 101 adalah kursus yang harus anda ikuti terlebih dahulu jika anda baru dalam bidang pengaturcaraan komputer dan sains komputer.

Sekiranya anda mempunyai sedikit pengetahuan dan pengalaman di bawah kendali anda, langkau kursus ini untuk memilih pilihan Udacity of edX. Walau bagaimanapun, jika anda baru dalam bidang ini, kursus ini memerlukan pendekatan tanpa pengalaman sebelum memperkenalkan sains komputer dan topik pengaturcaraan.

Udacity: Pengantar Sains Komputer mengambil pendekatan pengembangan web untuk mengajar sains komputer. Walaupun tidak berlaku langsung untuk prospek membangun sistem operasi, ini adalah jalan yang kuat yang memberikan maklumat yang berguna dan memberikan gambaran umum asas-asas pengaturcaraan komputer yang baik.

edX: Pengenalan Sains Komputer adalah kursus sains komputer yang paling lengkap dan mendalam dalam senarai ini. Kursus percuma dan pantas ini dirancang oleh Universiti Harvard dan mencerminkan kandungan yang disampaikan dalam kursus dengan nama yang sama yang ditawarkan di kampus Universiti Harvard.

Dalam kursus yang luas ini, anda akan mempelajari algoritma, struktur data, pengurusan sumber, kejuruteraan perisian, dan melihat bahasa pengaturcaraan seperti C, PHP, dan JavaScript.

Belajar Pengaturcaraan Komputer

Dengan pengetahuan sains komputer yang kukuh dan pengalaman terhad dengan bahasa pengaturcaraan, langkah seterusnya adalah belajar bagaimana menangani projek pengaturcaraan berskala besar.

Udacity: Proses Pembangunan Perisian adalah kursus terbaik yang harus diambil oleh semua orang sekiranya mereka tidak pernah melaksanakan projek pengaturcaraan berskala besar sebelum ini. Dalam kursus ini, anda akan mempelajari alur kerja dan alat dan teknik pengurusan seperti Git dan cara mengatur persekitaran pembangunan bersepadu.

Belajar Bahasa Pengaturcaraan

Untuk mengembangkan sistem operasi, anda perlu menguasai sekurang-kurangnya dua bahasa pengaturcaraan:

  • Bahasa perhimpunan peringkat rendah;
  • Bahasa pengaturcaraan peringkat tinggi.

Bahasa pemasangan digunakan untuk berkomunikasi secara langsung dengan CPU. Setiap jenis CPU menggunakan bahasa mesin dan hanya ada satu bahasa pemasangan yang sesuai untuk setiap jenis CPU. Senibina komputer yang paling biasa adalah x86, ia pada awalnya dikembangkan oleh Intel dan kini digunakan oleh pelbagai pengeluar cip komputer termasuk AMD, VIA, dan banyak lagi yang lain. Dalam panduan ini, kami akan menunjukkan anda ke arah belajar bahasa perhimpunan x86.

Bahasa pengaturcaraan peringkat tinggi berfungsi dengan pelbagai seni bina komputer. C adalah bahasa pengaturcaraan yang paling sering digunakan dan disyorkan untuk menulis sistem operasi. Atas sebab ini, kami akan mengesyorkan belajar dan menggunakan C untuk pengembangan OS. Walau bagaimanapun, bahasa lain seperti C ++ dan Python juga boleh digunakan.

x86 Bahasa Perhimpunan

The x86 Panduan Perhimpunan adalah tempat yang bagus untuk mula belajar bahasa perhimpunan. Dokumen ringkas ini memberikan gambaran ringkas mengenai bahasa perhimpunan x86 dan akan menentukan tahap sumber yang lebih maju yang akan anda teruskan seterusnya.

Pengaturcaraan dari Ground Up oleh Jonathan Bartlett adalah salah satu buku penentu lanskap bahasa perhimpunan. Buku ini menggunakan bahasa pemasangan sebagai asas untuk mempelajari sains komputer dan pengaturcaraan. Sumber ini juga tersedia dari Arkib Internet.

Seni Bahasa Perhimpunan oleh Randy Hyde adalah teks ikonik lain dalam dunia pendidikan bahasa perhimpunan. Awalnya ditulis khusus untuk kursus pengaturcaraan Hyde di Cal Poly dan UC Riverside, teks tersebut dikeluarkan sebagai ebook HTML pada pertengahan 1990-an dan diakui sebagai karya yang menentukan di lapangan. Teks ini juga dihoskan sebagai rangkaian fail PDF oleh Yale FLINT Group.

Sekiranya anda ingin menggunakan buku teks tradisional untuk mempelajari bahasa perhimpunan x86 dua teks yang paling biasa digunakan dan sangat disyorkan adalah:

  • Assembly Assembly Step-by-Step: Pengaturcaraan dengan Linux oleh Jeff Duntemann;
  • Pengaturcaraan Bahasa Perhimpunan X86 Moden oleh Daniel Kusswurm.

C

Terdapat banyak bahasa pengaturcaraan peringkat tinggi yang dapat anda pelajari dan banyak sumber yang boleh anda gunakan untuk mempelajarinya. Cadangan kami, dan saranan yang paling sering disuarakan oleh komuniti pengembangan OS, adalah untuk belajar C, dan kami telah menemui beberapa sumber yang sangat baik yang akan menjadikan anda seorang programmer C yang kompeten.

Dapatkan gambaran ringkas bahasa pengaturcaraan C dengan menyelesaikannya Tutorial C. Sumber ini tidak akan menjadikan anda pakar, tetapi akan memberi anda pemahaman asas yang baik tentang bahasa dan mempersiapkan anda untuk menangani topik dan sumber yang lebih mencabar.

Belajar C dengan Jalan Keras adalah ebook HTML percuma yang merangkumi banyak latihan latihan. Teks ini memandu anda melalui bahasa pengaturcaraan C, dan jika anda membuat kerja, luangkan masa anda, dan selesaikan semua latihan, anda akan berada dalam perjalanan untuk menjadi pengaturcara C yang kompeten pada masa anda selesaikan tutorial ini.

Sekiranya buku teks tradisional adalah sesuatu yang kemungkinan besar anda jalani, kedua-dua teks ini adalah yang paling popular untuk menguasai bahasa pengaturcaraan C.

  • Bahasa Pengaturcaraan C oleh Kernighan dan Ritchie;
  • Panduan Pemula Pengaturcaraan C oleh Perry dan Miller.

Tutorial Pembangunan OS

Setelah anda memahami konsep asas sains komputer dan pengaturcaraan, dan menguasai bahasa pemasangan dan C, langkah seterusnya adalah menyelesaikan satu atau dua tutorial pengembangan OS yang melalui seluruh proses pengembangan OS sederhana dari awal. Kami menjumpai tiga sumber yang sangat baik yang dapat melakukannya.

Linux Dari Awal akan memandu anda melalui proses membina sistem operasi Linux yang lengkap. Sepenuhnya tutorial ini tidak akan menghasilkan sistem operasi yang lengkap, tetapi ia akan memberi anda asas kod yang kukuh untuk membina sistem operasi yang lengkap. Mengatasi tutorial lanjutan seperti Beyond Linux dari Scratch, Automated Linux dari Scratch, Cross Linux dari Scratch, atau Hardened Linux dari Scratch untuk membina OS asas anda menjadi perisian yang berguna.

Buku kecil mengenai pembangunan OS oleh Erik Helin dan Adam Renberg dikembangkan sebagai sebahagian daripada kursus sains komputer lanjutan yang diselesaikan oleh para penulis sementara pelajar sebagai Institut Teknologi Diraja di Stockholm. Kursus ini melalui proses lengkap untuk mengembangkan sistem operasi x86 dengan memulai dengan mengatur lingkungan pengaturcaraan, memuncak dalam pengaturcaraan untuk multitasking, dan memukul topik seperti menguruskan memori sistem dan mengembangkan sistem file di sepanjang jalan..

Siri Pembangunan Sistem Operasi dari Broken Thorn Entertainment adalah satu siri 25 tutorial yang memandu anda melalui proses membuat OS dari bawah ke atas. Pemula berhati-hati: siri ini menganggap anda sudah mengetahui jalan keluarnya IDE dan merupakan pengaturcara bahasa C dan perhimpunan yang kompeten.

Ada banyak teks yang dapat anda gunakan untuk belajar mengenai disiplin pengembangan OS. Tiga perkara yang paling kerap disyorkan adalah:

  • Sistem Operasi Moden oleh Tanenbaum dan Bos;
  • Reka Bentuk Sistem Operasi UNIX oleh Maurice Bach;
  • Konsep Sistem Operasi oleh Silberschatz, Galvin, dan Gagne.

Komuniti Pembangunan OS

Semasa anda memulakan perjalanan untuk menjadi pembangun OS, terdapat beberapa tempat di mana anda dapat mencari pembangun OS lain untuk belajar dan berurusan dengan:

  • OSDev.org adalah wiki dengan banyak maklumat mengenai pembangunan OS dan juga forum di mana anda boleh bertemu dan mendapatkan maklum balas daripada pengaturcara yang berpikiran serupa.
  • Saluran Pembangunan OS di reddit adalah komuniti yang hebat di mana anda dapat belajar tentang pengembangan OS dan menikmati momen kelonggaran apabila tugas pengembangan OS menjadi sedikit sukar..
  • Sains Komputer, Pengaturcara, dan StackOverflow dari StackExchange adalah tempat yang boleh anda ajukan soalan teknikal kepada pengaturcara lain apabila anda menghadapi masalah yang tidak dapat anda fahami sendiri.

Ringkasan

Pembangunan OS Pembelajaran adalah salah satu tugas pengaturcaraan yang paling mencabar yang dapat anda laksanakan. Walau bagaimanapun, kejayaan dalam usaha anda untuk membina OS yang berfungsi akan menandakan anda sebagai pengaturcara yang kompeten dan orang yang sangat memahami bagaimana pemproses, perkakasan, dan program komputer bekerjasama untuk mencipta apa yang dianggap oleh dunia lain sebagai komputer yang berfungsi.

Langkah seterusnya – Mencari hos web? Lihat panduan kami untuk hosting web & hos kami yang disyorkan.

Lihat juga panduan lain mengenai bahasa pengaturcaraan.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map