Rumah  >  Artikel  >  Apakah antara muka yang disediakan oleh sistem pengendalian kepada program aplikasi?

Apakah antara muka yang disediakan oleh sistem pengendalian kepada program aplikasi?

青灯夜游
青灯夜游asal
2022-06-30 18:02:2410698semak imbas

Antara muka yang disediakan oleh sistem pengendalian kepada program aplikasi ialah "panggilan sistem". Antara muka sistem pengendalian terutamanya termasuk antara muka perintah dan antara muka program Antara muka program, juga dipanggil panggilan sistem, terdiri daripada satu set perintah panggilan sistem dan menyediakan satu set perintah panggilan sistem untuk digunakan oleh program pengguna. Panggilan sistem ialah antara muka antara program aplikasi dan sistem ia menghantar permintaan program aplikasi kepada kernel, memanggil fungsi kernel yang sepadan untuk menyelesaikan pemprosesan yang diperlukan, dan mengembalikan hasil pemprosesan kepada program aplikasi.

Apakah antara muka yang disediakan oleh sistem pengendalian kepada program aplikasi?

Persekitaran pengendalian tutorial ini: sistem Windows 7, komputer Dell G3.

Antara muka yang disediakan oleh sistem pengendalian kepada program aplikasi ialah "panggilan sistem".

Antara muka sistem pengendalian terutamanya termasuk antara muka arahan dan antara muka program, yang antara muka program juga dipanggil panggilan sistem.

Antara muka program (panggilan sistem) terdiri daripada satu set perintah panggilan sistem dan menyediakan satu set perintah panggilan sistem untuk digunakan oleh atur cara pengguna.

Panggilan sistem dalam sistem pengendalian

Set semua panggilan sistem yang disediakan oleh pelaksanaan sistem pengendalian ialah antara muka program atau antara muka pengaturcaraan aplikasi (Antara Muka Pengaturcaraan Aplikasi, API). Ia adalah antara muka antara program aplikasi dan sistem.

Fungsi utama sistem pengendalian adalah untuk mengurus sumber perkakasan dan menyediakan persekitaran yang baik untuk pembangun aplikasi untuk menjadikan aplikasi lebih serasi Untuk mencapai tujuan ini, kernel menyediakan satu siri fungsi multi-kernel dipersembahkan kepada pengguna melalui satu set antara muka yang dipanggil panggilan sistem. Panggilan sistem menghantar permintaan aplikasi kepada kernel, memanggil fungsi kernel yang sepadan untuk menyelesaikan pemprosesan yang diperlukan, dan mengembalikan hasil pemprosesan kepada program aplikasi.

Sistem pengendalian moden biasanya mempunyai keupayaan berbilang tugas, yang biasanya dilaksanakan oleh proses. Kerana sistem pengendalian dengan cepat menukar pelaksanaan antara setiap proses, semuanya akan kelihatan serentak. Pada masa yang sama, ini juga membawa banyak isu keselamatan Contohnya, sesuatu proses boleh mengubah suai data dalam ruang memori proses dengan mudah untuk menyebabkan proses lain menjadi anomali atau mencapai beberapa tujuan laksanakan dengan selamat. Penyelesaian kepada masalah ini ialah menambah daftar alamat asas dan had daftar kepada pemproses. Kandungan kedua-dua daftar ini menggunakan perkakasan untuk mengehadkan alamat memori yang diakses oleh arahan capaian memori. Dengan cara ini, apabila sistem menukar proses, kandungan kedua-dua daftar ini boleh ditulis ke julat alamat yang diberikan kepada proses, dengan itu mengelakkan perisian hasad.

Untuk mengelakkan program pengguna mengubah suai kandungan daftar asas dan daftar had untuk mengakses ruang memori lain, kedua-dua daftar ini mesti diakses melalui beberapa arahan khas. Biasanya, pemproses mempunyai dua mod: "mod pengguna" dan "mod kernel", dan bit tag digunakan untuk mengenal pasti mod mana ia berada pada masa ini. Beberapa arahan seperti mengubah suai kandungan daftar alamat asas hanya boleh dilaksanakan dalam mod kernel Apabila dalam mod pengguna, perkakasan akan terus melangkau arahan ini dan terus melaksanakan arahan seterusnya.

Begitu juga, atas sebab keselamatan, beberapa arahan operasi I/O dihadkan kepada hanya pelaksanaan mod kernel, jadi sistem pengendalian perlu menyediakan antara muka untuk menyediakan aplikasi dengan fungsi seperti membaca data dari lokasi tertentu pada cakera antara muka, antara muka ini dipanggil panggilan sistem.

Apabila sistem pengendalian menerima permintaan panggilan sistem, ia akan menyebabkan pemproses memasuki mod kernel untuk melaksanakan arahan seperti operasi I/O dan mengubah suai kandungan daftar alamat asas Selepas memproses kandungan panggilan sistem , operasi Sistem akan mengembalikan pemproses kepada mod pengguna untuk melaksanakan kod pengguna.

Perbezaan antara panggilan sistem dan panggilan biasa

Panggilan sistem pada asasnya ialah panggilan prosedur, tetapi ia adalah panggilan prosedur khas yang berbeza daripada panggilan pada pengguna umum program Terdapat perbezaan yang jelas antara panggilan prosedur.

  • Status larian berbeza

    Status larian berbeza. Proses panggilan dan proses panggilan bagi panggilan sistem dijalankan dalam keadaan yang berbeza, manakala panggilan prosedur biasa biasanya dijalankan dalam keadaan yang sama.

  • Kaedah panggilan berbeza

    Kaedah panggilan berbeza. Panggilan sistem mesti terlebih dahulu memasuki teras sistem melalui mekanisme gangguan lembut sebelum diarahkan kepada pengendali arahan yang sepadan. Panggilan prosedur biasa boleh terus dipindahkan dari proses panggilan ke proses yang dipanggil.

  • Kembali ke soalan

    Kembali ke soalan. Dalam sistem yang menggunakan penjadualan awalan, apabila panggilan sistem kembali, analisis penjadualan mesti dianalisis semula—sama ada tugas keutamaan yang lebih tinggi sudah sedia. Panggilan prosedur biasa terus kembali ke proses panggilan untuk meneruskan pelaksanaan.

Untuk pengetahuan lanjut berkaitan, sila lawati ruangan Soalan Lazim!

Atas ialah kandungan terperinci Apakah antara muka yang disediakan oleh sistem pengendalian kepada program aplikasi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn