Saya bertanya-tanya apakah ada alasan historis atau praktis mengapa umount
perintah itu tidak unmount
.
sumber
Saya bertanya-tanya apakah ada alasan historis atau praktis mengapa umount
perintah itu tidak unmount
.
Ini tanggal semua jalan kembali ke edisi pertama Unix , di mana semua nama file standar hanya sepanjang 6 karakter (berpikir passwd
), meskipun versi ini mendukung 8 karakter rejan dalam nama file . Sebagian besar perintah memiliki file sumber terkait yang diakhiri dengan .c
(misalnya umount.c
), yang hanya menyisakan 6 karakter untuk nama dasar.
Batasan 6 karakter mungkin juga merupakan peninggalan dari versi pengembangan sebelumnya, atau diwarisi dari sistem IBM saat itu yang memang memiliki batasan 6 karakter. (Implementasi C awal memiliki batas 6 karakter pada pengidentifikasi - pengidentifikasi yang lebih lama diterima tetapi kompiler hanya melihat 6 karakter pertama, jadi foobar1
dan foobar2
merupakan variabel yang sama.)
(Saya pikir saya ingat umount
halaman manual yang mencantumkan ejaan sebagai bug yang tidak diketahui asalnya, tetapi saya tidak dapat menemukannya sekarang.)
.c
(atau.s
) ekstensi = batas nama file 8 karakter.directory
, yang belum cocok). Jadi saya bertanya-tanya mengapapasswd
dipotong menjadi 6 karakter (belum adapasswd
perintah juga, hanya/etc/passwd
).urandom
Sepertinya ada beberapa informasi salah yang duduk di sini untuk sementara waktu sekarang.
Alasan yang paling mungkin untuk
umount
perintah memiliki nama disingkat adalah karena mengikuti dari nama panggilan sistem yang menggunakan:umount()
.Kemungkinan alasan pemanggilan sistem "unmount" yang memiliki nama itu
umount()
adalah karena penghubung awal membatasi panjang pengidentifikasi eksternal hingga sedikitnya 6 karakter (hanya satu kasus) pada beberapa jenis sistem (dan masuk akal untuk mempertahankan kompatibilitas dengan alat tersebut) pada saat itu), dan "umount" adalah bentuk logis dari singkatan untuk "unmount". Lihat halaman 179 edisi pertama Bahasa Pemrograman C untuk daftar karakteristik pengidentifikasi eksternal dari berbagai sistem yang menarik pada saat publikasi.Perhatikan juga bahwa kompiler C awal memperlakukan 8 karakter pertama dari pengidentifikasi sebagai signifikan, tetapi memungkinkan pengidentifikasi lebih lama. (K&R halaman 33)
Perhatikan bahwa panjang pengidentifikasi dalam tabel simbol tidak ada hubungannya sama sekali dengan panjang nama file, setidaknya tidak di dalam Unix (tabel simbol Unix, karena V1, memiliki 8 karakter untuk pengidentifikasi, meskipun dicatat dalam manual V1 bahwa assembler " menghasilkan simbol paling banyak 7 byte " ).
sumber
Untuk alasan yang sama
creat
panggilan sistem tidak diejacreate
?https://stackoverflow.com/questions/1713457/what-did-ken-thompson-mean-when-he-said-id-spell-create-with-an-e
sumber