Tugas Praktikum 9 - 1908561035
Tugas Praktikum 9 - 1908561035
MODUL V
Disusun oleh:
DEWA AYU PUTRI DIAH PRAMESTI
NIM. 1908561035
Dosen Pengampu :
Luh Arida Ayu Rahning Putri, S.Kom., M.Cs
ii
DAFTAR ISI
iii
BAB I
PENDAHULUAN
4
5
6
7
{
printf("Hello\n"); /* tampilkan Hello */
fork(); /* buat proses child */
printf("Bye-Bye\n"); /* dieksekusi oleh parent dan child */
}
Penjelasan:
String “Hello” di tampilkan oleh parent sedangkan “Bye-Bye”
masing- masing dieksekusi oleh parent dan child. Biar lebih jelas lagi sobat-
sobat semua, ini dia ilustrasi forking proses pada program contoh2.c di atas.
Setelah menampilkan string “Hello” kelayar, eksekusi berikutnya
adalah statement fork() yang akan membuat proses child, jika statement ini
sukses dieksekusi maka akan terdapat 2 proses yang identik dengan PID
yang berbeda. Seperti gambar berikut.
Eksekusi proses PARENT dan proses CHILD dilanjutkan di baris
sesudah statement fork(), yaitu masing – masing parent dan child
menampilkan string “Bye-Bye “. Demikian seterusnya sampai seluruh
statement pada parent dan child dieksekusi dan kedua proses berakhir.
Berikut contoh program pembuatan proses baru yang melakukan
pemeriksaan nilai kembalian dari fork().
2.2.3 Inter Process Communication
Proses – proses yang berjalan di sistem dapat berupa proses yang
independent atau proses yang saling bekerjasama. Jika 2 atau lebih proses
saling bekerjasama berarti keduanya saling berkomunikasi, terdapat
beberapa mekanisme komunikasi yang dapat dilakukan seperti komunikasi
menggunakan socket di jaringan dengan protokol tertentu, komunikasi
melalui mekanisme pipe atau komunikasi melalui pengiriman signal.
Bagi pemakai sistem operasi linux ataupun unix tentunya sudah
sering menggunakan perintah sistem kill untuk mengirim signal tertentu
kesebuah proses, biasanya perintah kill ini digunakan untuk menghentikan
eksekusi suatu proses (termination).
12
Code:
#include<signal.h>
#include<sys/types.h>
#include<stdio.h>
#include<stdlib.h>
int main(){
system(“ps -ax”);
pid_t PID;
printf(“Masukkan PID: ”);
scanf(“%d”, &PID);
kill(PID,SIGTERM);
}
Penjelasan:
Pada awal program, terdapat C standard library dalam bahasa C, yaitu
#include<stdio.h>, #include<stdlib.h>, #include<signal.h> untuk menggunakan
perintah kill, dan #include<sys/types.h> untuk menggunakan tipe data pid_t.
13
14
Selanjutnya terdapat fungsi main yang bertipe integer. Dalam fungsi ini,
terdapat command ps –ax untuk menampilkan ID proses yang sedang berjalan.
Lalu, dideklarasikan variabel PID dengan tipe data pid_t yang merupakan tipe
data integer dalam pustaka GNU. Untuk menginput ID proses yang akan
dihentikan, digunakan perintah printf, dan perintah scanf untuk mengisi nilai pada
variabel PID. Terakhir, terdapat perintah kill(PID,SIGTERM) yang berfungsi
untuk menghentikan proses yang sedang berjalan.
3.2 Output yang Dihasilkan Program
15
ID proses yang saya inputkan adalah 1969. 1969 merupakan ID proses untuk
update notifier. Setelah menginputkan ID proses 1969, maka proses update notifier
akan dihentikan.
BAB IV
PENUTUP
4.1 Kesimpulan
Adapun kesimpulan yang dapat diambil dari melakukan praktikum di atas
adalah sebagai berikut:
1. Proses merupakan konsep pokok pada sistem operasi, karena salah satu
tugas utama sistem operasi adalah bagaimana mengatur proses – proses
yang berjalan di sistem. Terdapat beberapa definisi dari proses yaitu:
a. Merupakan konsep pokok dalam sistem operasi, sehingga masalah
manajemen proses adalah masalah utama dalam perancangan sistem
operasi.
b. Proses adalah program yang sedang dieksekusi.
c. Proses adalah unit kerja terkecil yang secara individu memiliki sumber
daya dan dijadwalkan oleh sistem operasi.
2. Sebelum membuat proses sederhana, kita terlebih dahulu melakukan
identifikasi proses dan mempelajari apa itu inter process communication
agar bisa mengimplementasikannya.
4.2 Saran
Adapun saran yang dapat diberikan penulis adalah sebaiknya para pembaca
khususnya pemula mempelajari proses menggunakan bahasa pemrograman C karena
bahasa ini sangat populer dan mudah dipelajari sehingga dapat mengimplementasikan
proses dalam sistem operasi Linux dengan mudah.
16
DAFTAR PUSTAKA
Depriansah. 2020. Tugas Makalah Sistem Operasi Process dan Manajemen Proses.
https://www.academia.edu/42679455/TUGAS_MAKALAH_SISTEM_OPERASI_P
ROCESS_DAN_MANAJEMEN_PROSES. Diakses pada 24 November 2020.
Hanatahan. 2011. Konsep Proses pada Sistem Operasi Linux. http://shorturl.at/jzKL8.
Diakses pada 24 November 2020.
Sendi, Gita Purnama, Sarah Sri Vauziah, dan Umami, Rizal M. Sistem Operasi.
https://www.academia.edu/18745198/MAKALAH_SISTEM_OPERASI. Diakses
pada 24 November 2020.
Tim Pengajar. Modul 5 (Konsep Proses). Udayana University
17