Perbezaan antara linux dan vxworks: 1. Struktur kernel adalah berbeza vxworks adalah mikrokernel yang hanya menyediakan perkhidmatan asas, manakala linux adalah makrokernel Selain perkhidmatan asas, kernel juga termasuk sistem fail. protokol rangkaian, dsb.; 2. Mod berjalan adalah berbeza Aplikasi vxworks berada dalam "mod sebenar" dan tidak ada perbezaan antara mod pengguna dan mod kernel, manakala Linux menggunakan "mod terlindung dan rangkaian dijalankan dalam pengguna mod, dan benang kernel dijalankan dalam mod kernel.
Persekitaran pengendalian tutorial ini: sistem linux7.3, komputer Dell G3.
Sistem pengendalian yang saya gunakan untuk pembangunan terbenam ialah VxWorks Semasa saya di kolej, saya paling banyak menggunakan sistem pengendalian linux, tetapi untuk Apa adakah perbezaan antara kedua-dua sistem pengendalian ini? Saya tidak pernah benar-benar meringkaskannya dengan teliti Apabila ditanya oleh orang lain, tidak dapat dielakkan untuk merasa sedikit malu tidak akan mendalam, tetapi hari ini saya akan mengambil sedikit masa untuk meringkaskannya dengan teliti. Apakah perbezaan antara kedua-duanya?
|
VxWorks | linux | |||||||||||||||||||||
Struktur kernel | Mikrokernel, kernel hanya menyediakan perkhidmatan asas, seperti: pengurusan tugas, dalaman Pengurusan memori, pengendalian gangguan, dsb. | Inti makro, sebagai tambahan kepada perkhidmatan asas, kernel juga termasuk sistem fail, protokol rangkaian dsb. | |||||||||||||||||||||
Mod berjalan | Aplikasi berjalan dalam "mod sebenar ", tiada perbezaan antara mod pengguna dan mod kernel | menggunakan "mod dilindungi", dan pengguna memasuki Program dan benang dijalankan dalam mod pengguna, benang kernel dijalankan dalam mod kernel | |||||||||||||||||||||
Memori perlindungan akses dan ingatan | Inti menggunakan kaedah pengurusan storan sebenar Semua tugas dijalankan di tempat fizikal yang sama, dan program pengguna secara langsung mengendalikan tempat fizikal alamat tidak dapat memberikan perlindungan memori secara langsung, tidak dapat menghalang penyebaran ralat | <.>Inti menggunakan kaedah pengurusan storan maya , pengguna mempunyai ruang alamat bebas, dan proses pengguna hanya boleh mengakses ruang maya proses ini Ia menyediakan perlindungan memori untuk mengelakkan ralat daripada merebak | |||||||||||||||||||||
Unit pelaksanaan | Tugas | Proses, benang | |||||||||||||||||||||
Mod perkhidmatan kernel minta | Panggilan fungsi, lebih pantas | Panggilan sistem, lebih selamat | |||||||||||||||||||||
Masa Nyata strong> | Masa nyata yang sukar | Masa nyata yang lembut |
VxWorks digunakan terutamanya dalam komunikasi data peringkat telekomunikasi dan produk lain, manakala Linux digunakan terutamanya dalam produk pengguna, kawalan industri, dll.
Mikrokernel, makrokernel
kernel Hubungan klien/pelayan terbentuk antara komponen yang menyediakan pelbagai perkhidmatan dan proses yang menggunakan perkhidmatan tersebut tidak semestinya perlu berada dalam kernel Ia juga boleh direka dan dilaksanakan sebagai "proses perkhidmatan". , di mana Satu-satunya bahagian yang mesti kekal dalam kernel ialah komunikasi antara proses Jika perkhidmatan ini dipindahkan dari kernel ke tahap proses, maka struktur kernel itu sendiri boleh dikurangkan dan dipermudahkan, dan setiap proses perkhidmatan juga boleh. direka bentuk dan dilaksanakan secara bebas dan penyahpepijatan.
Microkernel ialah mod kernel yang memindahkan perkhidmatan kepada proses Ia digunakan terutamanya dalam sistem masa nyata dan sistem terbenam, terutamanya kerana sistem ini biasanya tidak mempunyai cakera, dan keseluruhan sistem mesti diletakkan pada EPROM. selalunya dihadkan oleh ruang storan, dan perkhidmatan yang diperlukan agak mudah, seperti PSOS, VxWorks, dsb.
Inti makro ialah struktur kernel tradisional yang meletakkan pengurusan proses, pengurusan memori dan fungsi perkhidmatan lain ke dalam kernel Ia biasanya digunakan dalam kernel tujuan umum, seperti UNIX, linux, dll.
Perbandingan dan analisis bahagian pemacu peranti
Disebabkan pemisahan struktur sistem pengendalian Linux dan pemuat but Linux, pemacu peranti di antara mereka tidak boleh Universal, sudah tentu, kita boleh belajar daripada satu sama lain tentang beberapa kod berkaitan perkakasan untuk permulaan perkakasan cip. Pemacu peranti BOOTROM dan versi berjalan VxWorks adalah sama, kerana struktur versi berjalan dan BOOTROM adalah konsisten dan menggunakan kernel sistem pengendalian yang sama. Pemacu peranti sistem pengendalian Linux berjalan dalam ruang kernel, dan proses pengguna berjalan dalam ruang pengguna. Dalam sistem pengendalian Linux, kaedah pengurusan memori dan pemetaan ruang kernel dan ruang pengguna adalah berbeza. Aplikasi dan pemacu peranti akan melibatkan ruang memori yang berbeza semasa pertukaran data, yang akan menjejaskan kecekapan tertentu konfigurasi ruang memori dan kaedah lain untuk diselesaikan. Sistem pengendalian VxWorks tidak memisahkan ruang kernel dan ruang pengguna semuanya berjalan dalam ruang yang sama, dan memori antara satu sama lain boleh diakses dengan sangat mudah, tetapi kestabilan struktur ini tidak sebaik itu sistem operasi Linux menyediakan banyak sumber pemacu peranti dan templat. Walau bagaimanapun, disebabkan sifat sumber terbuka Linux, jenis dan bilangan pemacu peranti yang disediakannya jauh melebihi VxWorks.
Pembelajaran yang disyorkan: Tutorial video Linux
Atas ialah kandungan terperinci Apakah perbezaan antara linux dan vxworks. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!