Cara Membedakan garpu dan exec

Perbedaan yang menonjol antara fork dan exec adalah fork membuat proses baru sambil mempertahankan proses induk, tetapi exec membuat proses baru tanpa mempertahankan proses induk.

Komputer beroperasi dalam dua mode: mode kernel dan mode pengguna. Dalam mode kernel, sebuah program dapat mengakses sumber daya memori atau perangkat keras secara langsung. Dalam mode pengguna, program tidak dapat secara langsung mengakses sumber daya memori atau perangkat keras. Maka dari itu, mode kernel adalah mode istimewa daripada mode pengguna. Ketika sebuah program perlu mengakses memori atau sumber daya, ia mengirimkan permintaan ke kernel melalui panggilan sistem . Kemudian mode berubah dari mode pengguna ke mode kernel. Setelah menyelesaikan tugas, mode berubah kembali ke mode pengguna. Sistem UNIX memiliki berbagai panggilan sistem. Dua di antaranya adalah fork dan exec.

Topik bahasan kami tentang:

  1. Apa itu garpu? – Definisi, Fungsi 2. Apa itu exec – Definisi, Fungsi 3. Perbedaan Antara fork dan exec – Perbandingan Perbedaan Kunci

Istilah Utama

exec, garpu, mode Kernel, Panggilan Sistem, UNIX

Yang perlu anda ketahui tentang garpu?

Proses adalah program yang sedang dieksekusi . Fork () adalah panggilan sistem yang membantu membuat proses. Ketika sebuah proses membuat panggilan fork(), salinan proses dibuat. Proses yang ada adalah proses induk, sedangkan proses baru adalah proses anak. Namun, proses anak ini mirip dengan proses induk.

Saat membuat proses anak, status induk seperti variabel, file terbuka, dan ruang alamat disalin ke proses anak. Dengan kata lain, proses induk dan anak berada di ruang alamat fisik yang berbeda. Maka dari itu, perubahan yang dilakukan dalam proses induk tidak tercermin dalam proses anak dan sebaliknya.

Yang perlu anda ketahui tentang eksekutif

Panggilan sistem exec() juga digunakan untuk membuat proses. Ketika exec() dipanggil, proses yang sedang berjalan berakhir dan diganti dengan proses yang baru dibuat. Dengan kata lain, setelah melakukan panggilan exec(), hanya proses baru yang ada. Proses induk dihentikan. Selanjutnya, panggilan sistem ini menggantikan ruang alamat, segmen teks dan segmen data dari proses induk dengan proses anak.

Perbedaan Antara fork dan exec

Definisi

fork adalah operasi dalam sistem operasi UNIX yang memungkinkan suatu proses untuk membuat salinan dirinya sendiri. Namun, exec adalah operasi dalam sistem operasi UNIX yang menciptakan suatu proses dengan mengganti proses sebelumnya. Jadi, ini menjelaskan Perbedaan yang menonjol antara fork dan exec.

Proses induk

Setelah memanggil fork(), ada proses induk dan proses anak. Di sisi lain, setelah memanggil exec(), hanya ada proses anak, dan tidak ada proses induk. Maka dari itu, ini adalah perbedaan lain antara fork dan exec.

Hasil

Selain itu, fork membuat proses anak yang mirip dengan proses induk, sedangkan exec membuat proses anak dan menggantinya dengan proses induk.

Ruang Alamat

Selanjutnya, satu perbedaan lain antara fork dan exec adalah pada ruang alamatnya. Di fork(), proses induk dan anak berada di ruang alamat yang berbeda sedangkan, di exec(), ruang alamat anak menggantikan ruang alamat induk.

Kata terakhir

Singkatnya, ada berbagai panggilan sistem yang tersedia di sistem operasi UNIX, dan dua di antaranya adalah fork dan exec. Perbedaan yang menonjol antara fork dan exec adalah fork membuat proses baru sambil mempertahankan proses induk sementara exec membuat proses baru tanpa mempertahankan proses induk.

Sumber bacaan:
  1. “Pengantar Panggilan Sistem.” Belajar malam ini, Tersedia di sini . 2. “Fork (Panggilan Sistem).” Wikipedia, Wikimedia Foundation, 16 Maret 2019, Tersedia di sini .
Sumber gambar:
  1. “Versi 7 Unix” Oleh Huihermit – Karya sendiri (CC0) melalui Commons Wikimedia

Related Posts