2 poin oleh GN⁺ 2025-02-21 | 1 komentar | Bagikan ke WhatsApp
  • Dengan menganalisis forensik s1/s2 dari tape DMR, berhasil disusun sistem UNIX yang dapat dijalankan; s1 adalah UNIX INIT DECtape yang berisi kernel, dan s2 memuat sebagian besar file distribusi
  • Kernel s1 adalah kernel UNIX paling awal yang dapat dibaca mesin yang sejauh ini telah teridentifikasi; posisinya berada di antara V1 dan V2, dan dapat menjalankan a.out V1 maupun V2
  • Ukuran core pengguna ditingkatkan menjadi 16 KiB (8K words) seperti V2, tetapi syscall table sama dengan V1 dan kernel unix-jun72 sehingga syscall V2 tidak disertakan
  • Karena syarat booting yang rumit, hanya emulator PDP-11/20 milik aap yang berhasil mem-boot kernel; SIMH dan Ersatz-11 berhenti sebelum login prompt
  • Image disk RF yang dirilis hanya berisi file s1/s2, dapat di-boot di emulator aap, dan dari perilaku init(7) tampaknya /usr berada di RF

UNIX V2 “Beta” yang dipulihkan dari tape s1/s2

  • Hasil analisis forensik tape DMR menunjukkan bahwa sistem yang berfungsi dapat dibuat dari tape s1/s2
    • DMR tapes adalah kumpulan tape yang menjadi objek analisis
    • Tape s1 adalah UNIX INIT DECtape yang berisi kernel
    • Tape s2 mencakup sebagian besar file distribusi
  • Kernel s1 adalah kernel UNIX paling awal yang dapat dibaca mesin yang sejauh ini telah teridentifikasi, dan berada di antara V1 dan V2
    • Kernel unix-jun72 yang tidak dimodifikasi hanya mendukung a.out V1
    • Kernel s1 secara bawaan dapat menjalankan a.out V1 dan V2
    • Ukuran core pengguna meningkat dari 8 KiB (4K words) menjadi 16 KiB (8K words)
  • Syscall table sama dengan kernel V1 dan unix-jun72
    • Tidak mencakup syscall V2
    • Dari sisi syscall lebih dekat ke V1, tetapi dari sisi ukuran core dan kemampuan menjalankan biner V2 memiliki karakteristik V2, sehingga dianggap sebagai “V2 beta”
  • Sistem dapat menjalankan ed, cc, dan a.out
    • Dalam sesi contoh, program hello world! ditulis, dikompilasi, dan dijalankan

Batasan booting dan image disk RF

  • Lingkungan yang dapat melakukan boot sangat terbatas
  • Proses instalasi aslinya adalah boot dari s1 lalu memulihkan file dari s2
    • Emulator aap tidak mendukung TC11, sehingga sulit melakukan instalasi langsung dari tape s1/s2
  • Konfigurasi aktual dilakukan dengan cara memutar melalui pembuatan image disk RF
    • File dari tape s1 diekstrak dan ditempatkan ke disk RF kosong
    • Kernel unix-jun72 dipasang lalu RF di-boot di SIMH
    • Sisa file dari s2 diekstrak
    • Terakhir, kernel unix-jun72 diganti dengan kernel s1 menggunakan hex editor
  • Image RF yang dihasilkan hanya berisi file yang berasal dari s1/s2
  • Program init(7) tidak me-mount RK ke /usr
    • Perilaku ini mengindikasikan bahwa /usr disimpan di RF

1 komentar

 
GN⁺ 2025-02-21
Komentar Hacker News
  • Saya teringat lelucon yang saya dengar dalam ceramah Brian Kernighan. Ceritanya Ken Thompson membuat editor teks, compiler B, dan kerangka pengelolaan file input/output dalam 3 minggu, dan itu pada akhirnya menjadi UNIX
    Inti leluconnya adalah sekarang kita sedikit kurang efisien dibandingkan masa itu

    • Ken jelas seorang programmer kelas atas, dan kalau orang seperti itu bisa fokus selama 3 minggu, ia benar-benar bisa menghasilkan banyak hal
      Seingat saya, istrinya membawa anak-anak ke Inggris, jadi Ken bisa melakukan apa pun yang ia inginkan. Tentu saja, bahkan sebelum menulis UNIX pertama, ia sudah punya pengalaman yang sangat banyak
      Kalau ada programmer yang sudah punya proyek di kepalanya, ini layak dicoba. Selama 3 minggu, menjauh dari pekerjaan dan keluarga di tempat seperti kabin, membawa buku dan dokumen yang diperlukan, lalu memutus internet. Kalau bisa pakai feature phone, dan lihat sejauh apa bisa melangkah
      Namun proyeknya harus sudah dipikirkan cukup matang dan sebagian kodenya juga sudah ditulis. Setelah dipikir lagi, proyek level rendah yang hampir tidak bergantung pada library eksternal paling cocok untuk eksperimen seperti ini. Kalau proyeknya bertumpu pada tumpukan library pihak ketiga, saat ada masalah tanpa internet akan mudah mentok, dan Ken juga bisa dibilang memilih proyek yang tepat
    • Wawancaranya ada di sini: https://www.youtube.com/watch?v=EY6q5dv_B-o
      Durasinya satu jam, dan Thompson banyak bercerita hal menarik. Kernighan menjalankan perannya dengan sangat baik dalam membiarkan Thompson berbicara
    • Ada lelucon versi zaman sekarang bahwa Ken Thompson, bersama Rob Pike dan Robert Griesemer, merancang Go sambil menunggu kompilasi C / C++
    • Saya penasaran bagaimana para pengembang UNIX awal bisa mencapai tingkat produktivitas seperti ini
      Ingin tahu apakah mereka bekerja seperti jam 9 sampai 5, atau masuk ke goblin mode dengan mengesampingkan bagian hidup lain demi menyelesaikannya
    • 80% pertama dari fitur proyek kadang memang berjalan sangat cepat. Terutama ketika menarik dan motivasinya kuat
      Tapi 20% sisanya memanjang seperti ekor panjang, dan biasanya berubah menjadi kerja berat yang luar biasa sampai mematahkan semangat
  • Menarik sampai-sampai Spock pun akan terkesan. Saya ingin belajar cara mengompilasi emulator PDP-11 di Mac

    • Mengompilasi emulator cukup mudah. Lihat simh. Portabilitasnya bagus, jadi hampir pasti langsung jalan
      Setelah itu, ada baiknya mencoba memasang distribusi 2.11BSD. Dokumentasinya bagus dan dirilis setelah banyak kekacauan awal Unix berlalu. Setelah itu, bermain-main dengan RT-11 juga sangat menyenangkan, dan saya bahkan menulis beberapa aplikasi kecil
    • https://opensimh.org/
      Berjalan baik juga di Apple Silicon
    • Rasanya seperti momen menemukan artefak religius dengan detektor logam
    • Terlalu mudah! Saya akan membuatnya sendiri dari gerbang NAND
  • Bagus sekali
    Ini pertama kalinya saya melihat orang memakai ed untuk pekerjaan nyata
    Saya juga penasaran siapa lagi yang pernah harus berurusan dengan ed. Baru-baru ini saya harus masuk ke sistem yang sangat tua tanpa vi, jadi saya membuat editor sendiri, dan kalau ada yang butuh editor untuk sistem kuno, boleh menghubungi saya. Tidak terlalu mewah
    Karya orang-orang yang membuat software ini dan para penelitinya luar biasa, hormat untuk para insinyur sejati

    • Saya ingat memakai editor mirip ed pada 1960-an di sistem time-sharing Honeywell melalui Teletype ASR-33
      Saya tidak ingat detailnya, tetapi untuk membuat file baru dijalankan dengan make . Kalau mengetik make love, sebelum masuk ke editor ia mencetak not war
    • Bukan ed, tetapi jelas dipengaruhi olehnya: saya sudah cukup tua sampai pernah mengikuti ujian sekolah mengetik dengan edlin di MS-DOS 3.3
      Setelah itu saya tidak pernah memakainya lagi, dan beberapa tahun kemudian ketika bisa memakai Xenix pun saya tidak memakai ed. vi adalah alternatif yang jauh lebih waras
    • Pada Agustus, saya menulis http://canonical.org/~kragen/sw/dev3/justhash.c memakai ed di Termux pada ponsel
      Seseorang bilang keyboard layar Android terlalu mengerikan untuk vi sehingga ia memakai ed di ponsel, dan karena itu memang benar, saya mencobanya. Di ponsel, ed sedikit lebih buruk daripada vi, tetapi keduanya buruk dengan cara yang berbeda
      Dengan HeliBoard, mengetik perintah ed di keyboard jauh lebih mudah daripada vi, tetapi beberapa kali saya bingung karena status buffer yang tidak akan membingungkan kalau memakai vi. Mungkin akan membaik dengan latihan, tetapi akhirnya saya kembali ke vi
    • Pada pertengahan 90-an saya punya AT&T 3B2, dan di sana hanya ada ed; saya menggunakannya dengan terminal DEC VT-102
      ed memang berfungsi, tetapi menurut standar modern tidak menyenangkan. Meski begitu, dibandingkan keluaran teletype, memakainya di layar pasti terasa luar biasa
      Sebagai tambahan, 3B2 sekitar 1 MIP mampu menangani sekitar 20 pengguna bersamaan
    • Salah satu pekerjaan konsultasi awal saya adalah menulis tutorial ed untuk sistem Coherent
      Saya sering memakai ed, bahkan kemarin juga. Karena saya perlu mengedit sesuatu tanpa membersihkan layar
      Sebelumnya lagi, saya juga membuat editor untuk image kartu yang tersimpan di disk, dan itu sangat primitif
  • Kadang saya suka melihat-lihat mailing list tuhs. Menyenangkan melihat nama-nama seperti Ken Thompson, Rob Pike, serta banyak nama lain yang kurang dikenal tetapi ikut terlibat dalam UNIX awal dan dunia komputasi

  • Rasanya seperti arkeologi perangkat lunak

    • Salah satu dari banyak alasan saya tidak suka era SaaS adalah hal seperti ini tidak akan pernah terjadi lagi. Pada tahun 2075, tidak akan ada orang yang mem-boot Notion atau Figma lama untuk riset atau nostalgia.
      Sama seperti budaya yang diproduksi dan dikonsumsi di media sosial, atau banyak wujud lain dari budaya internet, semuanya sepenuhnya sementara dan sekali pakai. Tidak ada sejarah, tidak ada masa depan.
      SaaS bukan sekadar tertutup; dalam banyak kasus, secara efektif ia benar-benar terikat pada satu instalasi tunggal. Mungkin saja bisa diarsipkan lalu di-boot di tempat lain, tetapi melakukannya bertahun-tahun kemudian tanpa tim aslinya akan menjadi pekerjaan yang jauh lebih besar daripada mem-boot Unix 1972 di emulator pada PC modern.
      Unix itu punya manual, dan dirancang untuk dipasang serta dijalankan di berbagai lingkungan distribusi. SaaS lebih mirip campur aduk yang hanya bisa di-deploy oleh pembuatnya; bukan selalu karena disengaja, melainkan karena tidak ada tekanan evolusioner yang memaksa mereka membuatnya seperti itu.
      Secara internal, sering kali ia juga saling terkait dengan SaaS lain, sehingga mungkin perlu mengarsipkan dan memulihkan seluruh status cloud, seolah-olah itu satu komputer global tempat perangkat lunak proprietari sedang diedit langsung di tempatnya.
    • Tidak sekeren kedengarannya.
  • Ada yang bisa memberi referensi tentang arti permission file itu? Saya bisa menebak secara kasar, tetapi ketika dicari, saya tidak menemukan apa pun tentang permission Unix v2.
    Output ls terlihat familier, tetapi bagian sdrwrw saja yang asing.

    • Di thread mailing list, seseorang menautkan halaman manual yang diekstrak.
      https://gitlab.com/segaloco/v1man/-/blob/master/man1/stat.1?...
      Pada sdrwrw, kolom pertama adalah s atau l, yang berarti small atau large. Kolom kedua adalah d, x, u, -, yang berarti direktori, executable, setuid, atau tidak ada. Sisanya adalah bit baca/tulis untuk pemilik dan non-pemilik.
  • Hello world 1328 byte? Sudah bloat!

    • Saya teringat compiler yang dulu, sekadar bercanda, memasukkan puisi panjang ke semua binary. Anda mungkin pernah dengar magic number, tetapi ini seperti punya magic sonnet.
      Saya kira itu compiler Rust awal, tetapi tidak bisa menemukan referensinya. Mungkin Go.
      Edit: ketemu. 'rust-lang/rust#13871: "hello world" contains Lovecraft quotes' https://github.com/rust-lang/rust/issues/13871
    • https://github.com/pts/minilibc686 milik saya bisa membuat hello world dengan printf di i386 dalam kurang dari 1 KiB. Hello world dengan write kurang dari 170 byte.
    • Saatnya men-tuning Unix saya!
  • Keren. Bisakah saya masuk ke portal waktu itu dan hidup di realitas alternatif?

    • Maksudnya masa ketika bensin bertimbal dipakai, asap rokok dianggap wajar di mana-mana, dan asbes digunakan pada segala hal yang bisa dibayangkan? Memang dekade yang memikat, tetapi kemungkinan besar kualitas hidup telah meningkat luar biasa sejak itu.
    • Bisa saja. Beli saja satu terminal VT sungguhan. Misalnya yang seperti ini: https://www.ebay.com/itm/176698465415?_skw=vt+terminal&itmme...
      Cari adaptor untuk menyambungkannya ke komputer, lalu jalankan *nix pilihan Anda di simh. Sebagai referensi, saya merekomendasikan https://jstn.tumblr.com/post/8692501831.
      Setelah berhasil berjalan, dorong mesin host ke belakang meja atau tempat yang tidak terlihat, dan Anda bisa hidup seperti tahun 1980.
  • Kalau memulihkan tape RF, bahkan hanya dengan melihat file teks sederhana pun akan terlihat ruang buffer yang tidak digunakan oleh DOS atau file .iso.
    Pada distribusi 2.11 BSD pun, tiling dasar dan window manager harus dipasang di OS native. Jadi pada akhirnya Anda akan memakai KDE atau window manager X11.