3 poin oleh GN⁺ 2024-06-09 | 1 komentar | Bagikan ke WhatsApp
  • Xv6 adalah OS pendidikan sederhana mirip Unix yang dibuat untuk mempelajari struktur sistem operasi, dan digunakan dalam mata kuliah sarjana MIT 6.1810
  • Setelah dikembangkan pada musim panas 2006, Xv6 di-port ke RISC-V untuk kelas 6.1810 agar sesuai dengan lingkungan pendidikan modern
  • Kode sumber dan dokumentasi tersedia melalui repositori Git xv6-riscv dan xv6-riscv-book, sehingga dapat dibangun dan dipelajari langsung
  • Desain dan konteks pembelajarannya berakar pada Unix V6 dan Commentary on UNIX' 6th Edition karya John Lions
  • Jika ingin membaca kode asli Unix V6 juga, referensi seperti komentar Lions, kode sumber V6, dan PDP11/40 Processor Handbook akan sangat membantu

Xv6 dan 6.1810

  • Xv6 adalah sistem operasi pendidikan sederhana mirip Unix
  • Dikembangkan pada musim panas 2006, lalu di-port ke RISC-V untuk mata kuliah sarjana MIT 6.1810

Kode sumber dan materi pembelajaran

Referensi untuk membaca Unix V6 asli

  • The PDP11/40 Processor Handbook adalah referensi yang berguna untuk memahami kode asli Unix V6
    • PDF berbasis gambar hasil pindaian tidak mendukung pencarian teks
    • Versi web yang diindeks berdasarkan nama instruksi juga tersedia

Permintaan masukan

  • Mereka menerima masukan tentang pengalaman menggunakan Xv6, pengalaman memperkenalkannya di kelas, perbaikan agar adopsinya lebih mudah, serta hal-hal yang berjalan baik maupun tidak
    • Kontaknya adalah 61810-staff@lists.csail.mit.edu

1 komentar

 
GN⁺ 2024-06-09
Komentar Hacker News
  • Saya mengambil kelas ini di MIT dan merekomendasikannya 20/10, terutama untuk orang yang tidak punya latar belakang sistem
    Materinya cukup mudah dipahami, dan praktikumnya sangat bagus untuk mengecek pemahaman. Namun, untuk percobaan pertama mungkin lebih baik melewati driver jaringan

    • Saya penasaran apakah kuliah ini tersedia secara online. Saya tidak menemukan rekaman kuliah di OpenCourseWare, dan meskipun bukan dari MIT, saya menemukan playlist YouTube tentang xv6 yang kelihatannya cukup bagus: https://www.youtube.com/playlist?list=PLbtzT1TYeoMhTPzyTZboW...
    • Saya mengambil kelas di UCI yang mengambil banyak bagian dari kelas MIT lalu membuatnya jauh lebih mudah, dan tetap layak direkomendasikan
  • Saya mengambil kelas di MIT yang menggunakan OS ini dan itu benar-benar luar biasa
    Hari ini saya melihat-lihat situs web kelasnya, dan sebenarnya kursus itu pada dasarnya bisa diikuti sendiri. Catatan kuliah, praktikum, repositori xv6 dengan branch untuk tiap praktikum, bahkan cara menjalankannya sendiri semuanya tersedia, jadi keterbukaannya benar-benar mengejutkan
    Praktikum pertama: https://pdos.csail.mit.edu/6.1810/2023/labs/util.html
    Dalam waktu dekat saya berencana menyelesaikan seluruh rangkaian kursus itu lagi sendiri dari awal sampai akhir

  • Banyak proyek di kelas sistem operasi kampus saya berupa membangun sesuatu di atas sistem operasi xv6
    Salah satunya adalah proyek membuat scheduler untuk xv, dan itu jelas merupakan cara yang bagus untuk mempelajari berbagai komponen sistem operasi

  • Di sebuah universitas di Spanyol, Plan 9 pernah atau sedang digunakan untuk pengajaran

  • Saat pertama melihat judulnya, saya kira ini rilisan baru dari image viewer xv yang lama: http://www.trilon.com/xv/

  • Sudah lama saya ingin memahami kernel Windows NT. Mungkin versi-versi awal lebih sederhana jadi lebih cocok
    Saya pernah dengar versi pertamanya dekat dengan VMS, dan saya penasaran apakah itu benar. Saya juga penasaran apakah ada materi tentang VMS; saya dengar OpenVMS itu open source, tapi versinya terasa terlalu baru

    • Kalau ingin melihat proses pengembangan kernel NT dengan baik, buku tahun 1996 Show Stopper layak dibaca
      Memang benar Dave Cutler memimpin sejumlah proyek di dalam DEC, termasuk proyek terkait VMS, tetapi yang diwarisi kernel Microsoft New Technology dari VMS paling-paling hanya warisan konseptual di tingkat desain dan arsitektur
      Di DEC, bahkan sebelum timnya disingkirkan, Dave sudah mengerjakan perombakan besar VMS atau penerusnya, dan banyak dari visi itu berpindah ke Windows, meski dengan pengorbanan beberapa pola desain kokoh dari dunia minicomputer
      Cutler menganggap tim MSDOS sebagai programmer pemula yang menumpuk solusi spaghetti untuk masalah yang salah, tetapi karena Bill Gates sudah menguasai pasar lewat kontrak OEM, Bill pada dasarnya memberi dia cek kosong untuk menghadirkan kernel sungguhan yang bisa bersaing dengan apa yang sedang Steve bangun di NeXT
      Jadi dari segi fitur maupun bentuk, NT sama sekali tidak sama dengan VMS, dan dari sisi implementasi juga benar-benar berbeda. VMS punya pustaka standar C yang rapi dan rangkaian produk kompilernya sendiri. Namun, bisa dibilang ini adalah arus orang-orang minicomputer yang turun ke dunia mikrokomputer untuk bersaing
      Untuk nuansa yang lebih jelas, wawancara Dave Plummer dan Cutler di YouTube layak ditonton
    • Lihat seri buku Windows Internals, edisi lama MSTech Journal dan DDJ, serta manual VMS di arsip Digital
    • Kode sumber Windows 2000 bocor di internet, dan kemungkinan versi yang lebih baru juga pernah bocor. Bahkan itu pernah benar-benar dipakai sebagai alat pembelajaran
    • Bukan berarti versi NT pertama itu dekat dengan VMS
      Materi VMS sangat banyak; dulu bahkan datang dengan dokumentasi setinggi beberapa meter. Sampai sekarang masih dijual, dan image VM gratis untuk hobi juga bisa diunduh
      OpenVMS bukan open source, dan anggapan bahwa versinya terlalu baru juga tidak benar
      Sebelum bertanya, asumsi dasar sebaiknya selalu diperiksa. Kalau ingin bertanya, “karena A maka B mungkin dilakukan?”, pastikan dulu apakah A itu benar
    • OpenVMS itu open source?
  • Saya penasaran kenapa Unix v6. Saya tidak paham kenapa mengajarkan dengan desain berusia 50 tahun
    Kalau ingin mengajarkan dasar-dasar sistem operasi seperti scheduling, komunikasi antarproses, dan manajemen ruang alamat, menurut saya desain microkernel akan lebih baik

    • Mempelajari pendahulu dari teknologi yang banyak dipakai saat ini adalah cara yang bagus untuk memahami bagaimana kita sampai di titik ini, kompromi apa yang dibuat dan kenapa, serta apa yang mungkin hilang di sepanjang jalan
      Saat nanti menemui teknologi baru, pemahamannya bisa lebih dalam, dan itu juga memperluas wawasan untuk karier ke depan
      Sebagai orang yang melewatkan bagian sejarah itu, saya rasa akan sangat bagus kalau saya mempelajarinya di kampus
    • Sebelum bisa berlari, kita harus belajar berjalan. Xv6 memang mendasar, tetapi bagi mahasiswa yang baru pertama kali melihat konsep-konsep ini, ini adalah pengantar yang sangat baik untuk mempelajari dasar sistem operasi dalam satu semester
    • Saya rasa banyak profesor memilih Xv6 untuk kelas sistem operasi bukan semata-mata karena desainnya hebat
      Kemungkinan besar karena sistem ini cukup bagus, sederhana, dan mudah diajarkan dalam satu semester sambil mahasiswa tetap mengambil mata kuliah lain. Saya penasaran apakah maksudnya desain microkernel bukan hanya lebih baik, tetapi juga lebih mudah diajarkan
    • Arsitektur von Neumann sudah berusia 80 tahun. Saya tidak paham kenapa usia desain itu penting, kalau memang masih yang paling relevan dan paling luas dipakai
      Abstraksi dasar Unix v6 masih tetap berlaku sampai sekarang
      Perbedaan inti antara microkernel dan kernel monolitik adalah bagaimana ruang alamat dibagi antara ruang pengguna dan kernel, dan saya tidak terlalu paham kenapa desain microkernel dianggap lebih baik. Saya juga ragu kenapa harus mengajarkan desain yang tidak banyak dipakai
    • Microkernel memang punya peran penting dalam ekosistem perangkat lunak, tetapi sebagian besar perangkat lunak yang kita jumpai tidak diorkestrasi oleh microkernel
      Sebagian besar perangkat lunak yang berjalan di internet juga tidak berjalan di atas microkernel, dan sebagian besar perangkat lunak yang bisa ditemukan di internet juga sama. Kelas seperti itu tampaknya kurang memadai untuk benar-benar menyiapkan pemahaman tentang kernel yang akan ditangani atau ditemui secara profesional
  • Saya penasaran cara terbaik bagi orang yang belajar mandiri untuk benar-benar mencoba ini sendiri

  • Plan 9 juga punya codebase yang cukup sederhana untuk dipahami

    • Beberapa keputusan desain Plan 9 patut dihargai
      Namespace per-proses, bind, dan pendekatan memperlakukan semuanya sebagai file memberi tingkat keanggunan yang sulit ditemukan di OS turunan Unix lain
  • Semester lalu saya memakai PintOS di kelas sistem operasi, dan saya berharap ada kelas lanjutan bagian dua yang bisa masuk lebih dalam