Panggilan sistem yang lambat adalah sesuatu seperti TCP socket read () - jika Anda tidak memiliki O_ASYNC (atau apa pun) yang diset, itu bisa menunggu selamanya.
Panggilan sistem yang cepat adalah sesuatu seperti gettimeofday () atau getpid (), yang keduanya mengembalikan informasi ke proses yang segera tersedia kernel.
Disk membaca termasuk dalam kategori panggilan sistem lambat. Jika suatu proses membaca () pada file disk yang benar, deskriptor file, kernel mungkin harus membaca dalam satu atau lebih blok disk untuk memenuhi pembacaan. Bergantung pada struktur di-disk sistem file yang mendasarinya, ini mungkin berarti membaca di-disk-inode untuk mendapatkan nomor blok disk dari "blok tidak langsung", membaca blok tidak langsung untuk mendapatkan blok data dan kemudian membaca blok data itu sendiri . Cukup memakan waktu, setidaknya dalam hal siklus CPU per akses disk, hari ini mungkin lebih buruk daripada di Hari Tua yang Baik.
Saya sudah lama tidak melihat ini, tetapi "bagian bawah" dari kode driver perangkat drive disk Unix lama akan memblokir sinyal / interupsi sehingga lebih mudah untuk mempertahankan integritas sistem file pada disk. Kadang-kadang, driver buggy atau disk yang gagal tidak akan pernah memberikan blok disk proses yang diminta, dan proses tidur selamanya. Bahkan kill -9 tidak melakukan apa-apa untuk itu.