mengembangkan sistem operasi sendiri

Sebuah sistem operasi memungkinkan pengguna untuk berinteraksi dengan perangkat keras komputer. Ini terdiri dari beberapa ratus ribu baris kode, dan umumnya dikembangkan dengan bahasa pemrograman seperti C, C ++ atau assembler.

metode

  1. Judul Membuat Langkah Sistem Operasi Komputer 1
    1
    Sebelum Anda mulai, Anda harus dengan pemrograman membiasakan. Tahu perakitan sangat diperlukan dan sebagai tambahan, lebih mesin-bahasa pemrograman berorientasi seperti C sangat dianjurkan.
  2. Judul Membuat Langkah Sistem Operasi Komputer 2
    2
    Tentukan media sistem operasi untuk memuat. Untuk ini, Anda dapat menggunakan CD / DVD / flash drive, hard drive atau komputer lain.
  3. Judul Membuat Langkah Sistem Operasi Komputer 3
    3
    Tentukan tugas-tugas harus melakukan sistem operasi Anda. Sebelum memulai, Anda harus merumuskan perencanaan kasar jika Anda ingin mengembangkan sebuah sistem operasi yang berfungsi penuh dengan antarmuka sendiri pengguna grafis (GUI) atau lebih tepatnya sesuatu Simpleres.
  4. Judul Membuat Langkah Sistem Operasi Komputer 4
    4
    Tentukan arsitektur prosesor harus didukung oleh sistem operasi Anda. AI-32 dan arsitektur x86_64 adalah yang paling umum digunakan pada komputer biasa dan dengan demikian mungkin pilihan terbaik Anda.
  5. Judul Membuat Langkah Sistem Operasi Komputer 5
    5
    Memenuhi keputusan tentang apakah Anda memulai sistem operasi Anda dari nol ingin atau jika Anda ingin membangun sebuah kernel yang ada.Linux dari Scratch , misalnya, proyek yang menarik bagi mereka yang ingin mengembangkan distribusi Linux mereka sendiri.
  6. Judul Membuat Langkah Sistem Operasi Komputer 6
    6
    Putuskan apakah Anda menggunakan bootloader Anda sendiri ingin atau sudah dikembangkan dengan Grand Unified Bootloader (GRUB). Karena pemrograman bootloader sendiri membutuhkan pengetahuan luas tentang hardware dan BIOS, mungkin menunda jadwal untuk pengembangan kernel yang sebenarnya.
  7. Judul Membuat Langkah Sistem Operasi Komputer 7
    7
    Memutuskan untuk bahasa pemrograman. Meskipun sangat mungkin untuk mengembangkan sebuah sistem operasi dalam bahasa seperti Pascal atau BASIC, Anda akan lebih baik dengan C atau Assembler. Assembler mutlak diperlukan, karena beberapa bagian penting dari OS membangun di atasnya. Sebaliknya, menggunakan C ++ beberapa kata kunci yang memerlukan sistem operasi yang ada untuk eksekusi.
    • Menyusun suatu sistem operasi dari C atau C ++ kode, Anda tentu membutuhkan compiler apapun. Oleh karena itu, Anda harus membimbing / manual / dokumentasi yang dipilih C / C ++ compiler untuk membaca, terlepas dari apakah ini termasuk dalam paket perangkat lunak atau tersedia di situs pengembang. Anda perlu pengetahuan yang sangat komprehensif dari compiler Anda. akrab ketika mengembangkan di C ++ kami sarankan bahwa Anda juga dengan nama mangling dan ABI compiler. Diharapkan bahwa Anda memahami format executable yang berbeda (ELF, PE, COFF, biner, dll) dan juga mengetahui komunikasi bahwa Windows format (.exe) dilindungi oleh hak cipta.
  8. Judul Membuat Langkah Sistem Operasi Komputer 8
    8
    Lie pada API (Application Programming Interface) dengan tegas. Pilihan yang bagus adalah POSIX, seperti yang sangat baik didokumentasikan. Semua Unix dukungan sistem POSIX setidaknya sebagian, dengan demikian program Unix dapat dengan mudah porting ke sistem operasi Anda.
  9. Judul Membuat Langkah Sistem Operasi Komputer 9
    9
    Pesawat membangun sistem operasi Anda. Ada kernel monolitik dan mikrokernel. Sementara kernel monolitik semua layanan akan diintegrasikan ke dalam kernel, microkernel hanya memiliki fungsi dasar dan semua layanan lain yang terintegrasi sebagai proses dalam mode pengguna. Umumnya kernel monolitik lebih cepat tetapi microkernel memiliki isolasi kesalahan lebih baik dan kehandalan.
  10. Judul Membuat Langkah Sistem Operasi Komputer 10
    10
    Drag ke pertimbangan, melaksanakan pembangunan di tim. . Itu lebih sedikit waktu yang dibutuhkan untuk menyelesaikan lebih banyak masalah, yang dapat menyebabkan sistem operasi yang lebih baik dapat diproduksi dalam waktu kurang
  11. Judul Membuat Langkah Sistem Operasi Komputer 11
    11
    Hapus hard disk Anda tidak pernah lengkap. Ingat bahwa memformat drive Anda secara permanen menghapus data. Gunakan GRUB atau boot loader lain untuk mengoperasikan sistem anda dengan sistem operasi lain dalam mode dual boot sampai sistem operasi Anda sendiri sepenuhnya dikembangkan.
  12. Judul Membuat Langkah Sistem Operasi Komputer 12
    12
    Mulai kecil. Mulailah dengan hal-hal sederhana seperti tampilan teks atau interupsi sebelum mencoba hal-hal seperti manajemen memori dan multitasking.
  13. Judul Membuat Langkah Sistem Operasi Komputer 13
    13
    Masukan cadangan dari kode sumber kerja terakhir. Ini adalah fitur keamanan dalam hal sesuatu yang sangat salah dengan versi saat ini dari sistem operasi atau pengembangan Anda. Jika crash komputer Anda, itu ide yang baik untuk memiliki salinan kedua untuk pemecahan masalah yang tersedia.
  14. Judul Membuat Langkah Sistem Operasi Komputer 14
    14
    Memikirkan untuk melakukan tes sistem operasi Anda dalam mesin virtual. Daripada harus me-restart komputer setelah setiap perubahan atau setelah setiap transfer data dari komputer pembangunan untuk tes komputer Anda harus, Anda dapat membuat sebuah mesin virtual yang menampilkan sistem operasi dalam sistem operasi Anda . Aplikasi ini VM termasuk VMWare (menawarkan produk server yang erhältiches gratis), aplikasi open source Bochs, Microsoft Virtual PC (bukan Linux-kompatibel) dan xVM VirtualBox.
  15. Judul Membuat Langkah Sistem Operasi Komputer 15
    15
    Mempublikasikan sidang akhir (Release Candidate). Hal ini memungkinkan pengguna untuk memberitahu Anda tentang potensi masalah dengan sistem operasi Anda.
  16. Judul Membuat Langkah Sistem Operasi Komputer 16
    16
    Memperhatikan kegunaan dari sistem Anda dan mencoba untuk membuat fungsi-fungsi ini menjadi bagian integral dari sistem operasi Anda.

Tips

  • Pastikan bahwa mengimplementasikan keamanan adalah prioritas utama, jika sistem operasi Anda pernah menjadi praktis.
  • Setelah pembangunan selesai, Anda harus berpikir tentang apakah Anda melindungi kode sumber atau perbuatan secara terbuka dapat diakses.
  • Jangan mencoba untuk memulai langsung dalam karir pemrograman Anda untuk mengambil pengembangan sistem operasi dalam serangan. Jika Anda belum C, C ++, Pascal, atau pemrograman yang tepat sama dalam tidur menguasai, termasuk manipulasi pointer, manipulasi mesin-bit, bit pergeseran, kode perakitan inline, sehingga Anda tidak siap untuk pengembangan sistem operasi.
  • Gunakan situs seperti pengembangan sistem operasi dan OSDever untuk membantu Anda dalam mengembangkan sistem operasi sendiri. Namun perlu dicatat dicatat, bahwa komunitas OSDev.org lebih suka, jika Anda sedang berjuang Wiki mereka untuk bantuan dan tidak Dengan bergabung forum. Jika Anda memutuskan untuk ingin menjadi bagian dari forum, persyaratan berikut berlaku: Anda perlu pengetahuan yang komprehensif dari C atau C ++ dan pemrograman x86 assembler.Anda juga akan membutuhkan pemahaman umum dari konsep pemrograman yang rumit, seperti daftar link, antrian, dll Masyarakat pengembangan sistem operasi menempatkan prinsip-prinsip jelas menyatakan bahwa masyarakat tidak berputar untuk mengambil programmer baru di tangan. Jika mencoba pada pengembangan sistem operasi, secara otomatis diharapkan dari Anda bahwa Anda adalah "Pemrograman Allah". Selanjutnya Anda memiliki manual untuk arsitektur prosesor yang dipilih telah membaca (Intel x86, ARM, MIPS, PPC, dll) manual ini dapat menggunakan pencarian Google dengan mudah menemukan ( "Intel Manual", "ARM Manual", dll), lihat . Akan tidak forum pengembangan sistem operasi dan mulai dengan mengajukan pertanyaan-pertanyaan yang jelas. Hal ini mengakibatkan jawaban seperti "Baca sialan manual". Untuk sebagian besar pertanyaan dapat membaca tentang alat yang digunakan du Wikipedia atau manual yang terkait.
  • Jika Anda ingin cara mudah Anda berpikir tentang penggunaan distribusi Linux seperti Fedora Revisor, Custom gesit X, Puppy remaster, PCLinuxOS mklivecd, SUSE Studio atau SUSE KIWI. Namun, kemudian sistem operasi merupakan bagian dari perusahaan yang pertama menawarkan layanan ini (meskipun Anda bebas menjualnya di bawah GNU General Public License, memodifikasi dan mengeksekusi bisa).
  • Periksa sumber-sumber kecelakaan dan kesalahan lainnya. Ini dapat dengan seperti proyek yang kompleks biasanya tidak sepenuhnya mengesampingkan.
  • Ini mungkin menjadi pilihan yang baik untuk membuat partisi baru yang lengkap untuk pengembangan sistem operasi Anda.

peringatan

  • Anda tidak akan dapat membuat sistem yang lengkap dalam waktu dua minggu.Mulailah dengan sistem operasi yang dapat boot secara independen, dan membuat diri Anda hanya kemudian untuk fitur keren.
  • Ceroboh menulis sistem operasi pada hard drive dapat membuat ini terbaca. Hati-hati.
  • Jangan berharap sistem operasi yang layak hanya dapat diprogram. Ada sejumlah interaksi yang kompleks. Jika sistem operasi Anda seharusnya, misalnya, dapat mendukung beberapa core, manajer memori Anda memiliki "penguncian" mekanisme sendiri yang mencegah beberapa core daripadanya, pada saat yang sama waktu akses sumber daya yang sama. Akses kunci memerlukan kehadiran program pengendalian yang memastikan bahwa hanya satu prosesor inti pada saat yang sama memiliki akses ke sumber daya penting, sementara semua inti lainnya harus menunggu. program pengendalian ini pada gilirannya memerlukan manajer memori.Kasus ini menggambarkan dependensi buntu. Tidak ada solusi yang jelas untuk masalah ini, oleh programmer dari sistem operasi diharapkan untuk memenuhi syarat cukup untuk mengembangkan solusi sendiri.
  • Ketika Anda melakukan tindakan nekat, misalnya, byte acak mengirim ke random port I / O, sistem operasi akan crash dan Anda merusak (dalam teori) mungkin hardware Anda.

sumber daya tambahan

Apa yang Anda butuhkan

  • komputer
  • Sebuah CPU dengan arsitektur yang Anda sedang mengembangkan sistem operasi
  • memori yang memadai (RAM) untuk mesin virtual Anda
  • Sebuah "host" sistem operasi (untuk pengembangan kode sumber dalam bahasa assembly dan bahasa pemrograman lainnya serta dalam tahap awal penyusunan dan publikasi khusus sampai sistem operasi Anda dapat meng-host itu sendiri).
  • Sebuah kode editor dengan kode warna sintaks (jika Anda tidak memiliki lingkungan pengembangan terpadu)
  • kompilator
  • Sebuah CD / DVD drive.
Sumber: http://de.wikihow.com/Ein-eigenes-Betriebssystem-entwickeln

0 comments:

Post a Comment