Modul 4 — Modul 4 — Proses, Sinyal, dan Pipa: Membangun Cangkang Mini
- Menerapkan fork(), keluarga exec(), dan waitpid() untuk menjalankan perintah luar dari dalam program C sendiri, serta membedakan proses yang keluar normal dari proses yang dihentikan sinyal lewat makro WIFEXITED, WEXITSTATUS, WIFSIGNALED, dan WTERMSIG.
- Merancang pengalihan masukan-keluaran dengan open() dan dup2() dan merangkai dua sampai tiga proses lewat pipe() tanpa berkas sementara, dengan tabel deskriptor sebagai alat rancang yang disusun sebelum kode ditulis.
- Menganalisis perilaku proses saat menerima sinyal dan membedakan proses zombi dari proses yatim berdasarkan siapa yang mati lebih dulu dan sumber daya apa yang masih dipegang.
- Merumuskan dan memasang di dalam cangkang buatan sendiri dua mekanisme penertiban: penangan SIGCHLD yang memanen pekerjaan latar sehingga zombi tidak menumpuk, dan rutin keluar yang menghentikan setiap pekerjaan latar yang tercatat sehingga tidak ada proses yatim yang lepas dari kendali cangkang.
- Mengevaluasi rancangan cangkang orang lain dengan menunjuk deskriptor yang lupa ditutup, pengalihan yang dipasang di proses yang salah, dan panen anak yang tidak lengkap.
Siklus hidup proses anak: lahir, berganti rupa, mati, dipanen
minish versi pertama: menjalankan, melaporkan, mengalihkan
Dikerjakan langkah demi langkah: merangkai `grep TERTUNDA ... | wc -l`
Praktik bersama: pekerjaan latar, penangan SIGCHLD, dan penertiban saat keluar
Latihan mandiri: lima soal dengan hasil yang bisa dicocokkan
Kuis: empat keputusan di depan layar
Kuis terbuka setelah kelas ini dimiliki.
Rangkuman dan daftar periksa sebelum lanjut
Isi modul ini belum terbuka
Modul 1 kelas ini bisa dicicipi tanpa membeli. Untuk modul lainnya, buka aksesnya dulu.
Lihat pilihan akses