Apa gunanya prioritas "realtime" untuk suatu proses?

12

Dalam pengalaman saya, mengatur proses apa pun menjadi waktu nyata akan membuat komputer Anda melambat menjadi lambat. Apa gunanya pengaturan ini, jika itu membuat komputer Anda tidak dapat digunakan?

Koen027
sumber
2
Jika Anda memiliki prosesor multi-core atau sistem multi-prosesor, Anda dapat menetapkan afinitas hanya untuk satu inti. Dengan begitu, sisa sistem akan tetap responsif dan Anda dapat menikmati sisa manfaat dari proses waktu nyata. Ini tentu saja hanya berfungsi dengan baik untuk proses yang hanya membutuhkan satu inti untuk bekerja.
AndrejaKo

Jawaban:

7

Persis seperti yang Anda jelaskan, dengan biaya memperlambat komputer Anda hingga perayapan, ia menjalankan proses secara waktu nyata sehingga memberikan prioritas yang lebih tinggi daripada yang lainnya. Ini hanya diperlukan untuk aplikasi yang kritis terhadap waktu, kebanyakan orang tidak melihatnya dalam kehidupan sehari-hari ...

Tamara Wijsman
sumber
Beberapa program yang sangat umum, seperti server suara (PulseAudio dan JACK sebagai dua contoh Linux), menggunakan utas prioritas waktu nyata.
user1686
@grawity: JACK bukan server, tetapi hanya kit pengembangan. Keduanya cross-platform. Poin baiknya adalah bahwa hal-hal audio memerlukan prioritas waktu nyata, tetapi saya berbicara dari sudut pandang Windows 7 di mana proses yang Anda tentukan tidak mendapatkan prioritas waktu nyata. Windows memiliki sesuatu yang disebut Penjadwal Kelas Multimedia untuk proses semacam ini ...
Tamara Wijsman
Apa jackditu, jika bukan server suara? (Dari apa yang saya mengerti sejauh ini, baik PA dan JACK bekerja dengan cara yang sama karena mereka menyediakan server suara dan perpustakaan / kit untuk mengaksesnya ...)
user1686
Itu tidak membuat kit tiba-tiba menjadi server. Kita berbicara tentang proses di sini, bukan utas ...
Tamara Wijsman
1
Contoh lain dari aplikasi real-time adalah aplikasi medis dan robotika yang dikendalikan langsung. Hal-hal di mana 10μs adalah perbedaan antara operasi yang benar dan kegagalan (di mana kegagalan mungkin melibatkan beberapa robot yang mengemudi dari tebing atau pasien yang terkena radiasi terlalu banyak).
ligos
2

Ini mungkin tampak tidak perlu tetapi ketika suatu proses dimulai, parameter dapat dilewati yang mengatur proses untuk dijalankan pada berbagai tingkat prioritas. Manajer Tugas menunjukkan ini sebagai pengaturan opsional karena ini merupakan opsi yang dapat diatur untuk proses oleh perangkat lunak yang memulai eksekusi itu. Sebagian besar perangkat lunak berjalan di bawah level "Normal", tetapi kadang-kadang Anda mungkin melihat beberapa yang berjalan pada level yang lebih rendah secara default. Saya belum pernah melihat perangkat lunak yang dimulai dalam keadaan normal di atas.

Perlu juga disebutkan bahwa ada kasus ketika suatu proses dapat berjalan pada pengaturan prioritas tertinggi dan tampaknya tidak terlalu mempengaruhi kinerja sistem Anda. Misalnya, jika suatu proses dimulai dan ditugaskan untuk bekerja hanya pada 1 dari, katakanlah, 8 inti CPU, menetapkan prioritas proses untuk "waktu nyata" akan berarti bahwa ia akan mengkonsumsi satu prosesor, meninggalkan 7 untuk digunakan oleh OS dan perangkat lunak lainnya. Dalam hal ini, eksekusi waktu nyata hampir tidak berpengaruh pada sistem tetapi memberikan tonjolan kinerja yang wajar untuk proses prioritas tinggi.

Saya hampir tidak akan merekomendasikan pengaturan proses untuk dijalankan secara "real time" secara manual dari dalam System Manager. Ini karena Anda mengubah pengaturan eksekusi untuk proses yang mungkin telah dirancang untuk beroperasi di bawah satu kondisi eksekusi tertentu. Mengubah prioritas eksekusi dapat, dalam beberapa kasus, merusak aplikasi dan jika ini merupakan operasi penulisan data, mungkin merusak data Anda!

Namun, ada beberapa kasus di mana menggunakan pengaturan prioritas eksekusi maksimum untuk suatu proses dapat menjadi hal yang benar untuk dilakukan, tetapi meskipun demikian, pengaturan prioritas tersebut harus ditetapkan oleh aplikasi pengendali dan bukan oleh pengguna akhir melalui dialog manajemen sistem.

Saya, secara pribadi, akan merekomendasikan TIDAK PERNAH mengubah prioritas tugas kecuali Anda benar-benar tidak peduli jika itu crash dan tugas sama sekali tidak kritis. Jika dokumentasi perangkat lunak secara eksplisit menyatakan bahwa Anda dapat meningkatkan proses untuk berjalan pada kecepatan yang lebih cepat untuk mempercepat beban kerja prosesor yang sangat besar, maka itu dapat diterima juga, namun, saya akan sedikit skeptis jika suatu mekanisme dari dalam aplikasi tidak disediakan.

Sebagai anekdot pribadi, hanya ada satu proses yang kadang-kadang saya ubah secara manual - aplikasi kompresi perangkat lunak. Saya tidak perlu membuka zip file besar dalam waktu yang lama, tetapi saya telah menemukan bahwa jika saya terburu-buru ( ahem tidak sabar) saya dapat memutar prioritas proses dan mendapatkan performa yang moderat. Karena aplikasi ini memulai tugas kerja, dan kemudian menutup ketika mereka selesai, saya tidak perlu khawatir tentang pengaturan pengaturan prosesor saya karena ketika aplikasi selesai mengekstraksi data, itu akan berhenti sendiri. Ini adalah satu-satunya waktu yang menurut saya bermanfaat secara pribadi untuk mengontrol kecepatan prosesor melalui manajemen sistem.

RLH
sumber
1
Sebagai seorang programmer saya tidak mungkin memikirkan sebuah situasi di mana memberikan sebuah program lebih banyak sumber daya akan
merusaknya
Sebagai seorang programmer, ya, tetapi menetapkan proses untuk dijalankan pada tingkat tertentu dapat menyebabkan masalah, terutama jika perangkat lunak itu ditulis (mungkin bahkan buruk) untuk berjalan bersamaan dengan proses lainnya. Saran saya berasal dari pengalaman dan dengan pemahaman bahwa tidak semua pengguna adalah pengembang. Menetapkan prioritas proses yang sedang berjalan, yang belum Anda kembangkan tentu bisa mendatangkan perilaku tak terduga. Saya tidak ingin menakut-nakuti siapa pun, namun, saya juga tidak ingin mendorong pengguna lain untuk mengacaukan pengaturan proses jika ada kemungkinan bahwa perubahan mereka dapat merusak.
RLH
0

Saya menggunakan prioritas Real Time untuk mempercepat game di laptop non-gaming saya. Saya tidak peduli tentang proses latar belakang ketika saya dalam permainan dan saya mendapatkan pengalaman yang jauh lebih menyenangkan dari mengalokasikan kekuatan pemrosesan saya dengan cara ini.

Keith R.
sumber