Rumah >Operasi dan penyelenggaraan >operasi dan penyelenggaraan linux >Apakah perbezaan dan hubungan antara proses linux dan benang
Proses dan utas Linux: 1. Perbezaannya ialah kaedah pengurusan sumber sistem pengendalian yang berbeza mempunyai ruang alamat bebas, tetapi tiada ruang alamat yang berasingan antara utas dibuat dan dibatalkan Satu lagi utas, berbilang utas dalam proses yang sama boleh dilaksanakan secara serentak, dan utas hanyalah laluan pelaksanaan yang berbeza dalam sesuatu proses.
Persekitaran pengendalian tutorial ini: sistem linux7.3, komputer Dell G3.
Berbanding dengan proses, utas ialah konsep yang lebih dekat dengan badan pelaksanaan Ia boleh berkongsi data dengan urutan lain dalam proses yang sama ruang tindanannya sendiri dan urutan pelaksanaan bebas. Perbezaan:
Perbezaan utama antara proses dan urutan ialah ia adalah cara yang berbeza untuk mengurus sumber sistem pengendalian. Proses ini mempunyai ruang alamat bebas Selepas ranap proses, proses itu tidak akan menjejaskan proses lain dalam mod dilindungi, dan utas hanyalah laluan pelaksanaan yang berbeza dalam sesuatu proses. Benang mempunyai tindanan sendiri dan pembolehubah setempat, tetapi tiada ruang alamat yang berasingan antara utas Kematian satu utas adalah bersamaan dengan kematian keseluruhan proses Oleh itu, program berbilang proses lebih mantap daripada program berbilang benang, tetapi apabila menukar proses, ia memakan banyak masa Sumbernya lebih besar dan kecekapannya lebih rendah. Tetapi untuk beberapa operasi serentak yang memerlukan pelaksanaan serentak dan perkongsian pembolehubah tertentu, hanya benang, bukan proses, boleh digunakan.
Ringkasnya, program mempunyai sekurang-kurangnya satu proses dan proses mempunyai sekurang-kurangnya satu utas.
Skala pembahagian utas ialah lebih kecil daripada proses ini membolehkan keselarasan tinggi program berbilang benang.
Selain itu, proses ini mempunyai unit memori bebas semasa pelaksanaan, dan berbilang benang berkongsi memori, sekali gus meningkatkan kecekapan berjalan program.
Benang masih berbeza daripada proses semasa pelaksanaan. Setiap urutan bebas mempunyai titik masuk untuk pelaksanaan program, urutan pelaksanaan berurutan dan titik keluar untuk program. Walau bagaimanapun, benang tidak boleh dilaksanakan secara bebas dan mesti wujud dalam program aplikasi, dan program aplikasi menyediakan kawalan pelaksanaan berbilang benang.
Dari sudut pandangan logik, maksud multi-threading ialah dalam aplikasi, berbilang bahagian pelaksanaan boleh dilaksanakan pada masa yang sama. Walau bagaimanapun, sistem pengendalian tidak menganggap berbilang benang sebagai berbilang aplikasi bebas untuk melaksanakan penjadualan proses dan pengurusan dan peruntukan sumber. Ini adalah perbezaan penting antara proses dan benang.
Untuk proses menyelesaikan jumlah kerja tertentu, proses itu mesti mengandungi sekurang-kurangnya satu utas.
Proses, secara intuitif, selepas program yang disimpan pada cakera keras dijalankan, badan memori bebas akan terbentuk dalam ruang memori ini mempunyai alamatnya sendiri space. , mempunyai timbunan sendiri, dan unit gabungan peringkat atas ialah sistem pengendalian. Benang wujud dalam proses dan merupakan unit terkecil untuk penjadualan dan pelaksanaan oleh sistem pengendalian. Ringkasnya, benang berfungsi. color{red}{Threads hanya untuk kerja. }Benang adalah perkara yang berkesan. Proses ialah program dengan fungsi bebas tertentu yang menjalankan aktiviti berjalan pada set data tertentu Proses ialah unit bebas untuk peruntukan sumber dan penjadualan dalam sistem. Benang ialah entiti proses dan unit asas penjadualan dan penghantaran CPU Ia adalah unit asas yang lebih kecil daripada proses dan boleh berjalan secara bebas. Benang itu sendiri pada dasarnya tidak memiliki sumber sistem, hanya beberapa sumber yang penting untuk dijalankan (seperti pembilang program, satu set daftar dan timbunan), tetapi ia boleh berkongsi semua sumber yang dimiliki oleh proses dengan utas lain yang tergolong dalam proses yang sama.Sekiranya proses itu adalah pengurus sumber, bertanggungjawab untuk meminta sumber daripada pemilik, maka benang itu adalah pekerja keras. Jika proses itu adalah pengurus sumber, bertanggungjawab untuk meminta sumber daripada pemilik, maka benang itu adalah pekerja keras. Seorang pembantu rumah mesti menyelesaikan kerja, yang memerlukan sekurang-kurangnya satu kuli, maksudnya, proses mengandungi sekurang-kurangnya satu utas dan juga boleh mengandungi berbilang utas. Untuk bekerja, kuli perlu bergantung pada pembantu rumah, jadi benang mesti tergolong dalam proses tertentu. Proses ini mempunyai ruang alamatnya sendiri, dan utas menggunakan ruang alamat proses Dalam erti kata lain, utas mempunyai akses kepada sumber dalam proses, seperti timbunan, timbunan, kawasan storan statik, dll.
Benang adalah proletariat, tetapi untuk bekerja, proletariat mesti mempunyai alat buruh sendiri. Benang ini mempunyai timbunan sendiri, tetapi ruang ini digunakan Benang ditandakan sebagai tindanan. Setiap utas akan mempunyai tindanan peribadinya sendiri, yang tidak boleh diakses oleh utas lain.
Apa yang dikekalkan oleh proses ialah sumber (sumber statik) yang terkandung dalam program, seperti: ruang alamat, set pemegang fail terbuka, status sistem fail, pengendali pemprosesan isyarat, dll.; Benang mengekalkan sumber berkaitan operasi yang dikekalkan (sumber dinamik), seperti: timbunan berjalan, maklumat kawalan berkaitan penjadualan, set isyarat untuk diproses, dsb.
Benang dan proses mempunyai kelebihan dan keburukan tersendiri dalam penggunaan; : overhed pelaksanaan benang Kecil, tetapi tidak kondusif untuk pengurusan dan perlindungan sumber dan prosesnya adalah sebaliknya.
Pembelajaran yang disyorkan:
Tutorial video LinuxAtas ialah kandungan terperinci Apakah perbezaan dan hubungan antara proses linux dan benang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!