RANGKUMAN MODUL 3


Radnext Digital Indonesia 

RANGKUMAN MODUL 3

Process Attributes

Setiap proses dalam sistem operasi dapat mengambil snapshot dari dirinya sendiri, menangkap status register CPU, lokasi eksekusi program, isi memori, dan informasi lainnya, yang disebut sebagai konteks proses. Konteks ini penting untuk peralihan konteks, di mana sistem operasi menyimpan dan memulihkan konteks saat proses dijadwalkan masuk atau keluar dari CPU.
Proses juga memiliki izin berdasarkan pengguna yang memanggilnya dan pemilik berkas program. Program dengan bit eksekusi "s" memiliki id pengguna "efektif" yang berbeda dari id pengguna "sebenarnya" dan disebut program setuid. Program setuid berjalan dengan izin pemilik program, sementara program non-setuid berjalan dengan izin pengguna yang memulainya. Program setuid yang dimiliki oleh root bisa menjadi masalah keamanan.
Contoh program setuid adalah perintah passwd, yang dapat dijalankan oleh pengguna mana pun dan berjalan dengan izin root untuk memperbarui file yang dibatasi penulisannya, seperti /etc/passwd dan /etc/shadow, tempat kata sandi pengguna disimpan.

Semua proses memiliki atribut tertentu:
  • Program yang sedang dijalankan
  • Konteks (keadaan)
  • Izin
  • Sumber daya terkait.
Process Resource Isolation
Saat suatu proses dimulai, proses tersebut diisolasi di ruang penggunanya sendiri untuk melindunginya dari proses lain. Hal ini meningkatkan keamanan dan menciptakan stabilitas yang lebih baik.
Proses tidak memiliki akses langsung ke perangkat keras. Perangkat keras dikelola oleh kernel, jadi suatu proses harus menggunakan panggilan sistem untuk mengakses perangkat keras secara tidak langsung. Panggilan sistem merupakan antarmuka mendasar antara aplikasi dan kernel.

Creating Processes
Sistem Linux sering membuat proses baru melalui mekanisme yang disebut forking, di mana proses induk tetap berjalan sementara proses anak baru dimulai. Fork sering diikuti oleh exec, di mana proses induk berakhir dan proses anak mewarisi ID proses induk. Fork dan exec sering dianggap sebagai satu kesatuan.
Misalnya, server web yang menangani banyak klien dapat meluncurkan proses baru untuk setiap koneksi baru atau memulai thread baru sebagai bagian dari proses yang sama. Di Linux, membuat proses penuh atau thread baru hampir tidak ada perbedaan teknis, karena keduanya membutuhkan waktu dan sumber daya yang hampir sama.
Proses kernel internal menangani pekerjaan pemeliharaan seperti pengosongan buffer ke disk, penyeimbangan beban CPU, dan pengelolaan pekerjaan driver perangkat. Proses ini berjalan selama sistem aktif dan hanya bangun saat ada pekerjaan yang harus dilakukan.
Proses eksternal adalah proses ruang pengguna seperti aplikasi normal, yang dimulai oleh kernel. Jumlahnya sedikit dan biasanya berumur pendek.

Creating Processes in a Command Shell
Apa yang terjadi ketika pengguna mengeksekusi perintah dalam interpreter shell perintah, seperti bash?
Proses baru dibuat (diambil dari shell login pengguna).
Panggilan sistem wait akan membuat proses shell induk tertidur.
Perintah tersebut dimuat ke ruang proses anak melalui panggilan sistem exec. Dengan kata lain, kode untuk perintah tersebut menggantikan program bash di ruang memori proses anak.
Perintah selesai dieksekusi dan proses anak mati melalui panggilan sistem keluar.
Shell induk dibangunkan kembali oleh kematian proses anak dan mulai mengeluarkan perintah shell baru.
Shell induk kemudian menunggu permintaan perintah berikutnya dari pengguna, dan siklus tersebut akan berulang lagi.
Jika perintah dikeluarkan untuk pemrosesan latar belakang (dengan menambahkan ampersand -&- di akhir baris perintah), shell induk akan melewati permintaan tunggu dan bebas untuk segera mengeluarkan perintah shell baru, yang memungkinkan proses latar belakang untuk dijalankan secara paralel. Jika tidak, untuk permintaan latar depan , shell akan menunggu hingga proses anak selesai atau dihentikan melalui sinyal.
Beberapa perintah shell (seperti echo dan kill) sudah tertanam di dalam shell itu sendiri, dan tidak melibatkan pemuatan berkas program. Untuk perintah-perintah ini, fork maupun exec tidak dikeluarkan untuk eksekusi.

Creating Processes in a Command Shell

Apa yang terjadi ketika pengguna mengeksekusi perintah dalam interpreter shell perintah, seperti bash?
  1. Proses baru dibuat (diambil dari shell login pengguna).
  2. Panggilan sistem wait akan membuat proses shell induk tertidur.
  3. Perintah tersebut dimuat ke ruang proses anak melalui panggilan sistem exec. Dengan kata lain, kode untuk perintah tersebut menggantikan program bash di ruang memori proses anak.
  4. Perintah selesai dieksekusi dan proses anak mati melalui panggilan sistem keluar.
  5. Shell induk dibangunkan kembali oleh kematian proses anak dan mulai mengeluarkan perintah shell baru.
  6. Shell induk kemudian menunggu permintaan perintah berikutnya dari pengguna, dan siklus tersebut akan berulang lagi.
Jika perintah dikeluarkan untuk pemrosesan latar belakang (dengan menambahkan ampersand -&- di akhir baris perintah), shell induk akan melewati permintaan tunggu dan bebas untuk segera mengeluarkan perintah shell baru, yang memungkinkan proses latar belakang untuk dijalankan secara paralel. Jika tidak, untuk permintaan latar depan , shell akan menunggu hingga proses anak selesai atau dihentikan melalui sinyal.
Beberapa perintah shell (seperti echo dan kill) sudah tertanam di dalam shell itu sendiri, dan tidak melibatkan pemuatan berkas program. Untuk perintah-perintah ini, fork maupun exec tidak dikeluarkan untuk eksekusi.

Daemons
Proses daemon adalah proses latar belakang yang tujuan utamanya adalah menyediakan layanan tertentu kepada pengguna sistem. Berikut ini beberapa informasi lebih lanjut tentang daemon:

Mereka bisa sangat efisien karena hanya beroperasi saat dibutuhkan.
Banyak daemon yang dimulai pada waktu boot.
Nama daemon sering (tetapi tidak selalu) diakhiri dengan d, misalnya httpd dan systemd-udevd.
Daemon dapat merespons kejadian eksternal (systemd-udevd) atau waktu yang telah berlalu (crond).
Daemon umumnya tidak memiliki terminal pengendali dan perangkat input/output standar.
Daemon terkadang menyediakan kontrol keamanan yang lebih baik.
Beberapa contohnya termasuk xinetd, httpd, lpd, dan vsftpd.


Comments

Popular posts from this blog

KONFIGURASI DHCP SERVER DEBIAN 12

TOPOLOGI GNS3 ROUTER MIKROTIK CHR 7.11

INSTALL & KONFIGURASI OPENVPN DI DEBIAN 12