Apakah proses tidur mendapatkan waktu CPU yang sama?

11

Beberapa proses menghabiskan sebagian besar "kehidupan" mereka dalam suatu sleepstatus. Daemon, server, dan pendengar umum muncul di pikiran. Saya bertanya-tanya apakah mereka mendapatkan waktu CPU yang sama di negara itu? Pada sesuatu seperti laptop saya, itu tidak akan sangat optimal!

Samar-samar saya ingat dari kursus sistem operasi saya bahwa ada pendekatan yang berbeda untuk penjadwalan. Saya tertarik untuk mengetahui lebih lanjut tentang kotak Linux (Debian) saya saat ini.

Bagaimana saya bisa mengetahui tentang kebijakan penjadwalan saya saat ini? Bisakah saya mengubahnya secara dinamis? Dengan aplikasi userland yang cantik?

rahmu
sumber

Jawaban:

15

Proses tidak mengkonsumsi sumber daya CPU saat mereka tidur. Mereka mungkin menambahkan beberapa overhead karena Kernel harus menyulapnya, tetapi itu sangat tidak signifikan.

Namun, karena cara pertanyaannya diucapkan, saya harus menyebutkan bahwa ketika menggunakan CFS Linux (Penjadwal Sepenuhnya Adil), ia mencoba untuk memberikan program peningkatan waktu CPU secara proporsional dengan waktu tidurnya - yaitu, jika suatu proses banyak tidur , ketika dilanjutkan, itu mendapat prioritas yang lebih tinggi.

Lihat http://www.ibm.com/developerworks/linux/library/l-completely-fair-scheduler/ untuk deskripsi CFS.

Shawn J. Goff
sumber
2
Saya ingin memilih jawaban ini tetapi skor rep Anda saat ini (6.666) terlalu cantik untuk diubah. Ah well, toh aku tetap melakukannya ...
rahmu
2
@rahmu noooo! Enam lurus yang indah! Aku harus pergi ke tujuh sekarang.
Shawn J. Goff
4

Menurut definisi, proses tidur tidak mengeksekusi pada cpu, jadi jelas jumlah waktu cpu yang digunakan adalah nol.

psusi
sumber
Jika itu benar, bagaimana mesin tahu kapan waktu tidur selesai dan harus memulai kembali eksekusi?
Dave Goldsmith