Anda di halaman 1dari 17

LAPORAN PRAKTIKUM SISTEM OPERASI

MODUL V

Disusun oleh:
DEWA AYU PUTRI DIAH PRAMESTI
NIM. 1908561035

Dosen Pengampu :
Luh Arida Ayu Rahning Putri, S.Kom., M.Cs

PROGRAM STUDI INFORMATIKA


FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN
ALAM
UNIVERSITAS UDAYANA
2020
KATA PENGANTAR
Puji syukur kami panjatkan ke hadirat Tuhan Yang Maha Esa karena rahmat
dan karunia-Nya saya dapat menyelesaikan makalah yang berjudul Laporan
Praktikum Sistem Operasi Modul V ini sebatas pengetahuan dan kemampuan yang
saya miliki. Saya juga berterima kasih kepada Ibu Luh Arida Ayu Rahning Putri,
S.Kom., M.Cs. selaku dosen mata kuliah praktikum sistem operasi yang telah
membina dan memberikan tugas ini kepada saya.
Saya sangat berharap makalah ini dapat berguna dalam rangka menambah
wawasan dan pengetahuan masyarakat khususnya mahasiswa mengenai konsep
proses pada sistem operasi Linux. Saya juga menyadari sepenuhnya bahwa di dalam
tugas ini terdapat banyak kekurangan dan jauh dari apa yang saya harapkan. Untuk
itu, saya berharap adanya kritik, saran, dan usulan demi perbaikan di masa yang akan
datang, mengingat tidak ada sesuatu yang sempurna tanpa sarana yang membangun.
Akhir kata, semoga makalah ini dapat dipahami bagi siapapun yang
membacanya. Sekiranya laporan yang telah disusun ini dapat berguna bagi saya
sendiri maupun orang yang membacanya. Saya mohon maaf apabila terdapat
pemakaian kata yang kurang berkenan.

Denpasar, 25 November 2020

Dewa Ayu Putri Diah Pramesti

ii
DAFTAR ISI

KATA PENGANTAR ............................................................................................. ii

DAFTAR ISI .......................................................................................................... iii

BAB I PENDAHULUAN ....................................................................................... 4

1.1 Latar belakang ................................................................................................. 4

1.2 Rumusan Masalah ........................................................................................... 4

1.3 Tujuan dan Manfaat ........................................................................................ 4

BAB II ISI ............................................................................................................... 6

2.1 Konsep Proses pada Sistem Operasi Linux ...................................................... 6


2.1.1 Definisi Proses ......................................................................................... 6
2.1.2 Tipe Proses ............................................................................................... 6
2.1.3 Keadaan atau Status Proses ....................................................................... 7
2.1.4 Konsep Pembuatan Proses ........................................................................ 9
2.2 Sistem Kerja Proses pada Sistem Operasi Linux .............................................. 9
2.2.1 Identifikasi Proses .................................................................................... 9
2.2.2 Membuat Proses Sederhana .................................................................... 10
2.2.3 Inter Process Communication ................................................................. 11
BAB III HASIL PRAKTIKUM............................................................................ 13

3.1 Kode Program, Screenshot, Beserta Penjelasan ............................................. 13

3.2 Output yang Dihasilkan Program ................................................................... 14

BAB IV PENUTUP ............................................................................................... 16

4.1 Kesimpulan ................................................................................................... 16

4.2 Saran ............................................................................................................. 16

DAFTAR PUSTAKA ............................................................................................ 17

iii
BAB I
PENDAHULUAN

1.1 Latar belakang


Sistem operasi merupakan sebuah penghubung antara pengguna dari
komputer dengan perangkat keras komputer. Sebelum ada sistem operasi, orang
hanya menggunakan komputer dengan menggunakan sinyal analog dan sinyal
digital. Seiring dengan berkembangnya pengetahuan dan teknologi, pada saat ini
terdapat berbagai sistem operasi dengan keunggulan masing masing.
Pengertian sistem operasi secara umum ialah pegelola seluruh sumber
daya yang terdapat pada sistem komputer dan menyediakan sekumpulan layanan
(systemcalls) ke pemakai sehingga memudahkan dan menyamakan penggunaan
serta pemanfaatan sumber daya sistem komputer.
Keberadaan sistem operasi dalam sistem komputer adalah sebagai
perangkat lunak yang mempunyai tugas mengendalikan dan mengkoordinasikan
seluruh hardware dan software sebagai sumber daya komputer sekaligus
memberikan pelayanan kepada program aplikasi dan pemrograman untuk
memudahkan pemanfaatan sumber dayanya. Proses sebagai suatu entitas yang
dinamis mengandung sejumlah intruksi, data, program counter, kumpulan register
serta stack yang berisi alamat memori. Process juga dapat dikatakan sebagai
program yang secara individu memiliki sumber daya-sumber daya dan
dijadwalkan oleh sistem operasi.
1.2 Rumusan Masalah
1.2.1 Bagaimana konsep proses pada sistem operasi Linux?
1.2.2 Bagaimana sistem kerja proses pada sistem operasi Linux?
1.3 Tujuan dan Manfaat

4
5

1.3.1.1 Untuk mengetahui konsep proses pada sistem operasi Linux.


1.3.1.2 Untuk mengetahui sistem kerja proses pada sistem operasi Linux.
1.3.2 Manfaat Penulisan
Penulis berharap bahwa tulisan ini dapat memberikan informasi serta
pengetahuan mengenai proses pada sistem operasi Linux kepada semua
pihak yang membacanya. Selain itu, penulis juga berharap agar tulisan ini
dapat dijadikan referensi bagi pembaca untuk mengetahui proses
pemrograman bahasa C pada Linux dalam perangkat yang mereka gunakan.
BAB II
ISI

2.1 Konsep Proses pada Sistem Operasi Linux


2.1.1 Definisi Proses
Proses merupakan konsep pokok pada sistem operasi, karena salah
satu tugas utama sistem operasi adalah bagaimana mengatur proses –
proses yang berjalan di sistem. Sebenarnya apakah proses itu? Berikut
beberapa definisi proses pada sistem operasi adalah:
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.
Sistem operasi mengolah seluruh proses yang ada di sistem dan
bertugas mengalokasikan sumber daya–sumber daya ke proses yang
membutuhkan sesuai dengan kebijaksanaan tertentu. Sumber daya yang
dibutuhkan proses diantaranya CPU, memori, fileserta I/O device.
2.1.2 Tipe Proses
Beberapa tipe proses di antaranya:
a. Foreground: proses yang diciptakan oleh pemakai langsung pada
terminal (interaktif, dialog).
b. Batch: proses yang dikumpulkan dan dijalankan secara sekuensial
(satu persatu). Proses batch tidak diasosiasikan (berinteraksi)
dengan terminal.
c. Daemo: proses yang menunggu permintaan (request) dari proses
lainnya dan menjalankan tugas sesuai dengan permintaan tersebut.
Bila tidak ada request, maka program ini akan berada dalam

6
7

kondisi “idle” dan tidak menggunakan waktu hitung CPU.


Umumnya nama proses daemon di UNIX berakhiran d, misalnya
inetd, named, popd dll.
2.1.3 Keadaan atau Status Proses
Proses – proses yang dikelola oleh sistem operasi akan melalui
serangkaian keadaan yang merupakan bagian dari aktivitasnya. Keadaan
proses ini disebut sebagai status proses yang terdiri dari:
 Status New yaitu status dimana proses sedang dibuat.
 Status Ready yaitu status dimana proses siap dieksekusi tetapi CPU
belum tersediakarena sedang mengerjakan proses lain.
 Status Waiting yaitu status di mana proses sedang menunggu suatu
kejadian tertentu. Misalnya sedang menunggu operasi I/O selesai,
menunggu signal dari proses lain, tersedianya memori, dsb.
 Status Running yaitu status dimana proses dieksekusi. Pada status
ini CPU sedang mengeksekusi instruksi – instruksi pada proses.
 Status Terminated yaitu status dimana proses diakhiri.
Berikut ini merupakan penjelasan proses dari kelima status proses
di atas:
a. New ke Ready: setelah status dibuat, status akan memasuki proses
ready untuk siap memasuki proses selanjutnya.
b. Ready ke Running: pada saat memilih proses untuk dioperasikan,
sistem operasi memilih salah satu proses yang berada di dalam
keadaan ready.
c. Running ke Waiting: suatu proses ditaruh dalam keadaan waiting
apabila proses itu meminta sesuatu yang akan menyebabkannya
harus menunggu. Sebuah request ke sistem operasi umumnya
merupakan bentuk panggilan layanan sistem (panggilan dari
program yang sedang beroperasi ke prosedur yang sedang
beroperasi ke prosedur yang merupakan bagian kode sistem
operasi) misalnya sebuah proses dapat meminta suatu layanan dari
8

sistem operasi yang tidak siap dilakukan sistem operasi dengan


segera. Atau proses dapat menginisiasi suatu aksi, misalnya operasi
I/O, yang harus diselesaikan sebelum proses itu melanjutkan
operasinya. Pada saat proses saling berkomunikasi dengan proses
lainnya, suatu proses dapat diblokir apabila sedang menunggu
proses lainnya untuk menyediakan input atau sedang menunggu
pesan dari proses lainnya.
d. Running ke Ready: umumnya alasan transisi ini adalah di mana
proses yang sedang berjalan telah mencapai waktu maksimum yang
diizinkan bagi instruksi yang tidak diinterupsi. Terdapat beberapa
alasan lainnya yang menyebabkan transisi ini, yang tidak
diimplementasikan di setiap sistem operasi. Misalnya apabila sistem
operasi meng-assign tingkat prioritas yang berbeda pada proses
yang berlainan, suatu proses dapat diambil terlebih dahulu.
e. Waiting ke Ready: apabila proses dalam keadaan waiting sudah
selesai mendapatkan sumber daya, seperti file atau bagian virtual
memori bagi pakai atau juga sudah selesai setelah menunggu proses
lainnya untuk menyediakan input atau sudah selesai menunggu
pesan lainnya.
f. Running ke Terminated: proses yang sedang berjalan akan
dihentikan oleh sistem operasi apabila proses itu telah selesai atau
dibatalkan. Hal ini terjadi karena proses induknya sendiri telah
berhenti.
9

2.1.4 Konsep Pembuatan Proses


Konsep pembuatan proses pada sistem operasi Linux adalah sebagai berikut:
a. Setiap proses diberi nomor khusus sebagai identifikasi yang disebut
process identification atau PID berupa angka integer unik.
b. Jika proses selesai maka semua sumber daya yang digunakan
termasuk PID dibebaskan kembali.
c. Proses dibuat menggunakan sistem call fork() yang sering disebut
forking proses.
d. System call fork() mengkopi proses pemanggil sehingga akan
terdapat 2 proses yaitu:
Proses pemanggil disebut PARENT
Proses hasil kopian disebut CHILD
e. Proses CHILD identik dengan proses PARENT-nya tetapi memiliki
PID yang berbeda.
f. Setelah proses baru berhasil dibuat eksekusi dilanjutkan secara
normal di masing-masing proses pada baris setelah pemanggilan call
fork().
g. Proses pemanggil dapat melakukan forking proses lebih dari satu kali
sehingga memnugkinkan terdapat banyak proses CHILD yang
dieksekusi.
h. Proses CHILD dapat melakukan forking proses seperti halnya
PARENT sehingga dapat terbentuk struktur pohon proses.
2.2 Sistem Kerja Proses pada Sistem Operasi Linux
2.2.1 Identifikasi Proses
Untuk melihat PID setiap proses di sistem, dapat digunakan perintah
ps. Pustaka GNU C telah menyediakan beberapa tipe dan fungsi untuk
membaca ID proses, di antaranya:
 Tipe Data: pid_t
Tipe yang merepresentasikan ID proses, tipe data pid_t merupakan
signed integer, dalam pustaka GNU tipe ini adalah int.
10

 Fungsi: pid_t getpid (void)


Fungsi ‘getpid’ mengembalikan ID proses aktif dan tidak
membutuhkan argumen
 Fungsi: pid_t getppid (void)
Fungsi `getppid’ (get parent pid) mengembalikan ID parent proses
aktif dan tidak membutuhkan argumen
Untuk menggunakan tipe data dan fungsi diatas perlu disertakan file
header types.h dan unistd.h Berikut contoh program yang yang membaca ID
proses aktif dan ID proses parent-nya.
2.2.2 Membuat Proses Sederhana
Untuk membuat proses baru di suatu sistem, GNU C menyediakan
system call fork() yang disertakan pada pustaka unistd.h dengan bentuk
sebagai berikut :
pid_t fork(void);
fork() mengembalikan suatu besaran bertipe pid_t yang dapat bernilai :
1. -1 menandakan pembuatan proses baru (child) gagal, dan
2. 0 yang menandakan proses child sudah dibuat
Apabila operasi sukses akan terdapat 2 proses yang dieksekusi yaitu
proses parent dan proses child. Eksekusi akan dilanjutkan pada kedua proses
setelah fork() sampai selesai.
Proses parent dan child bisa membuat proses – proses baru yang
lainnya sehingga terdapat banyak proses baru yang lain sehingga terdapat
banyak proses yang berjalan pada saat waktu yang bersamaan
(multitasking).
Contoh program:
/* contoh2.c */
#include <stdio.h> /* standard I/O */
#include <unistd.h> /* fork() */
#include <sys/types.h> /* pid_t */
int main()
11

{
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

Perintah kill membutuhkan argumen berupa nomor PID proses. Pada


contoh berikut, proses dengan PID 773, secara default jika tidak
dispesifikasikan maka digunakan SIGTERM dengan signal kill membuat
proses tersebut dihentikan.
Untuk menjalankan signal kill ini maka pada terminal bisa dituliskan
dengan perintah: kill –s SIGTERM 773 atau kill –s 15 773.
Ini berarti bahwa signal kill diperintahkan untuk mematikan proses
komputasi yang memiliki PID 773. Perintah ini juga bisa diimplementasikan
kedalam program c melalui GNU C. GNU C menyediakan beberapa system
call untuk pengelolaan proses yang sedang berjalan pada suatu sistem.
#include<signal.h> /* kill() */
#include<sys/tyoes.h> /* pid_t */
int main()
{
pid_t PID=773;
kill(PID,SIGTERM);
}
Program di atas jika dijalankan akan memiliki fungsi yang sama
mematikan proses komputasi yang memiliki PID 773.
BAB III
HASIL PRAKTIKUM
3.1 Kode Program, Screenshot, Beserta Penjelasan

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

Anda mungkin juga menyukai