GNU Hurd
GNU Hurd adalah sebuah kernel sistem operasi yang dirancang sebagai pengganti Unix, dirilis sebagai perangkat lunak bebas dibawah Lisensi Publik Umum GNU (GPL). Telah dalam pengembangan sejak tahun 1990 oleh Proyek GNU dari Yayasan Perangkat Lunak Bebas.
GNU Hurd terdiri dari satu set protokol dan proses server (atau jurik, di dalam terminologi Unix) yang berjalan pada GNU Mach mikrokernel; bersama-sama mereka dimaksudkan untuk membentuk kernel dari sistem operasi GNU. Hurd bertujuan untuk melampaui sistem operasi Unix dalam fungsi, keamanan, dan stabilitas, sedangkan sisanya sebagian besar agar kompatibel dengan Unix. Proyek GNU memilih mikrokernel, arsitektur Server-kilen untuk sistem operasi mereka, karena memiliki keuntungan dibanding arsitektur kernel monolitik tradisional Unix.
Pada Desember 1991, arsitek utama dari Hurd, menjelaskan arti akronim berulang dari nama Hurd: Karena kedua " hurd" dan "hird" hanya ejaan alternatif untuk "kawanan" dalam bahasa inggris, nama lengkap" GNU Hurd" juga merupakan plesetan dari kata "kawanan dari gnu atau herd of gnus", yang mencerminkan bagaimana kernel bekerja. Logo Hurd disebut juga "Hurd kotak" dan juga
mencerminkan arsitekturnya. Logo Hurd adalah grafik dimana node mewakili server Hurd kernel dan tepi yang diarahkan adalah pesan IPC.
Karena keadaan teknologi mikrokernel, singkatan rekursif ganda kadang-kadang disebut oleh para ahli sebagai fitur yang paling menarik dari GNU Hurd.
Richard Stallman mendirikan Proyek GNU pada September 1983 dengan tujuan membuat sebuah sistem operasi GNU yang bebas. Awalnya komponen yang diperlukan untuk kernel dan pengembangan adalah: penyunting, shell, kompilator dan lain-lain. Pada tahun 1989, GPL dibentuk dan satu-satunya komponen utama yang hilang adalah kernel.
Pembangunan di Hurd dimulai pada tahun 1990 setelah upaya penulisan kernel ditinggalkan pada tahun 1986, berdasarkan penelitian sistem operasi TRIX yang dikembangkan oleh Profesor Steve Ward dan kelompoknya di Laboratorium Komputer MIT. Menurut Thomas Bushnell, arsitek utama Hurd, Rencana awal mereka adalah untuk mengadaptasi kernel 4.4BSD-Lite dan belakangan ia berpendapat, "Sekarang sangat jelas bagi saya bahwa
proyek ini akan berhasil dan dunia akan menjadi tempat yang sangat berbeda hari ini". Pada tahun 1987 Richard Stallman mengusulkan untuk menggunakan Mach mikrokernel yang dikembangkan di Carnegie Mellon University. Usaha ini telah tertunda selama tiga tahun karena ketidakpastian mengenai apakah CMU akan merilis kode Mach bawah lisensi yang sesuai.
Dengan dirilisnya kernel Linux pada tahun 1991, komponen utama ruang pengguna GNU segera menjadi sistem operasi berbasis kernel Linux (distribusi Linux s), hal ini mendorong kontroversi penamaan " GNU/Linux".
Pengembangan Hurd berjalan dengan lambat. Meskipun pengumuman optimis oleh Stallman pada tahun 2002 memprediksi rilis GNU/Hurd akhir tahun itu, Hurd masih belum dianggap cocok untuk lingkungan produksi. Pembangunan pada umumnya belum memenuhi harapan, dan masih ada bug dan fitur yang hilang. Hal ini telah menghasilkan produk yang lebih buruk daripada yang banyak orang
(termasuk Stallman) harapkan. Pada tahun 2010, setelah dua puluh tahun dalam pengembangan, Stallman mengatakan bahwa ia "tidak terlalu optimis" tentang GNU Hurd. Telah ada beberapa kemajuan, tetapi harus benar-benar unggul untuk pemecahan banyak masalah", tetapi ia menambahkan bahwa "penyelesaiannya tidak penting" untuk sistem GNU karena kernel bebas sudah
ada di Linux, dan menyelesaikan Hurd tidak akan mengatasi masalah utama yang tersisa untuk sistem operasi bebas yaitu dukungan perangkat.
Proyek Debian, di antara yang lain, telah bekerja pada proyek Hurd untuk menghasilkan distribusi Hurd berbasis sistem operasi GNU untuk sistem yang kompatibel dengan IBM PC.
Tidak seperti kebanyakan kernel Unix lain, Hurd menggunakan arsitektur client-server, dibangun di atas Mikrokernel yang bertanggung jawab untuk menyediakan layanan kernel yang paling dasar- akses koordinasi ke perangkat keras: CPU (melalui manajemen proses dan penjadwalan), RAM (melalui manajemen memori), dan berbagai input/output perangkat (via penjadwalan I/O) untuk suara, grafis, penyimpanan massal, dll. Dalam teori desain
Mikrokernel akan memungkinkan untuk semua driver perangkat dibuat sebagai server yang bekerja di ruang pengguna, tapi sekarang sebagian besar driver semacam ini masih terdapat di dalam ruang kernel GNU Mach.
Menurut para pengembang Hurd keuntungan utama dari desain berbasis mikrokernel adalah kemampuan untuk memperluas sistem: membuat modul baru tidak membutuhkan pengetahuan yang dalam tentang seluruh kernel dan sebuah bug di dalam modul tidak akan merusak seluruh sistem. Hurd menyediakan sebuah kosep "penerjemah", yaitu sebuah kerangka dari modul untuk memperluas fungsi sebuah file system.
Dari awal, Hurd dikembangkan dengan GNU Mach sebagai Mikrokernel. Ini adalah sebuah keputusan teknis yang dibuat oleh Richard Stallman, yang mengira akan mempercepat pengerjaan. Dia mengakui bahwa ia salah tentang hal itu. Sistem bertipe-Unix yang juga mengerjakan mikrokernel Mach adalah OSF/1, Lites, dan MkLinux. Mac OS X dan NeXTSTEP menggunakan kernel hibrida berdasarkan Mach.
Mulai tahun 2004, berbagai usaha telah dilakukan untuk memindahkan Hurd ke mikrokernel yang lebih modern. mikrokernel L4 adalah pilihan sebenarnya pada tahun 2004, namun kemajuannya lambat dan akhirnya berhenti. Namun, selama tahun 2005, pengembang Hurd Neal Walfield menyelesaikan kerangka manajemen memori awal L4 untuk Hurd, dan Marcus Brinkmann memindahkan bagian penting dari
glibc; yaitu, membuat proses kode startup bekerja, yang memungkinkan program berjalan, sehingga memungkinkan program pertama pengguna (contohnya seperti program hallo dunia dalam bahasa C) untuk berjalan.
Sejak tahun 2005 Brinkmann dan Walfield mulai meneliti Coyotos sebagai baru untuk HURD. Pada tahun 2006, Brinkmann bertemu dengan Jonathan Shapiro (seorang arsitek utama Sistem Operasi Coyotos) untuk membantu dan mendiskusikan penggunaan kernel Coyotos untuk GNU/Hurd. Dalam diskusi lebih lanjut pengembang HURD menyadari bahwa Coyotos (serta kernel lain yang serupa) tidak cocok untuk HURD.
Pada tahun 2007, pengembang Hurd Neal Walfield dan Marcus Brinkmann memberikan kritik tentang arsitektur Hurd, yang dikenal sebagai "kritik", dan proposal untuk bagaimana sistem masa depan dapat dirancang, dikenal sebagai "kertas posisi". Pada tahun 2008, Neal Walfield mulai bekerja pada mikrokernel Viengoos sebagai kernel modern asli untuk HURD., perkembangan Viengoos karena Walfield tidak punya waktu untuk mengerjakannya.
Di dalam Unix, setiap program yang berjalan memiliki asosiasi id pengguna, yang biasanya sesuai dengan pengguna yang memulai proses. Id ini sebagian besar menentukan tindakan yang diizinkan untuk program. Tidak ada proses luar dapat mengubah id pengguna dari program berjalan. Sebuah proses Hurd, di sisi lain, berjalan dibawah beberapa "pasang" id pengguna, yang dapat berisi beberapa
id, satu, atau tidak ada. Sebuah proses yang cukup istimewa dapat menambah dan menghapus id ke proses lain. Misalnya ada server password yang akan memberikan id dengan memasukan password login yang benar.
Mengenai sistem berkas, program yang sesuai dapat ditunjuk sebagai "penerjemah" untuk satu berkas atau seluruh bagan direktori. Setiap akses ke berkas yang telah diterjemahkan, atau file dibawah bagan direktor dalam kasus lain, sebenarnya ditangani oleh program. untuk contoh berkas penerjemah mungkin mengarahkan operasi membaca dan menulis ke file lain, tidak seperti tautan simbolis Unix.