DEFINISI SISTEM OPERASI
1.Proses dalam sistem
operasi
beberapa definisi proses pada sistem operasi adalah :
1. Program yang sedang dalam keadaan dieksekusi.
2. Unit kerja terkecil yang secara individu memiliki
sumber daya dan dijadwalkan oleh system 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, file serta I/O
device.
Keadaan Proses
Keadaan 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
mengerjakan proses lain.
- Status Waiting yaitu status dimana proses sedang menunggu suatu
kejadian menunggu operasi I/O selesai, menunggu signal dari proses lain,
tersedianya
- Status Running yaitu status dimana proses dieksekusi. Pada status ini
instruksi – instruksi pada proses.
- Status Terminated yaitu status dimana proses diakhiri. Kelima status
proses tersebut dapat digambarkan pada diagram berikut:
Sebuah proses menjadi Waiting karena proses
tersebut menunggu suatu kejadian tertentu seperti selesainya operasi I/O,
misalnya perekaman data ke disk karena pada saat perekaman dilakukan proses
sedang tidak menggunakan CPU maka scheduler segera mengalokasikan CPU ke proses
lain yang telah Ready. Apabila kejadian yang ditunggu telah selesai maka proses
dipindahkan kembali ke antrian Ready dan siap dijadwalkan.
Sebuah proses dari keadaan Running dapat menjadi
Ready kembali karena diinterupsi oleh proses lain. Interupsi dapat disebabkan
karena jatah waktu yang diberikan CPU ke proses tersebut telah habis sementara
proses masih memerlukan sejumlah waktu untuk selesai. Jatah waktu yang
diberikan sering disebut sebagai quantum time (time slice) yang dapat berkisar
antara 1 hingga 100 milidetik. Interupsi suatu proses terkait erat dengan
strategi penjadwalan proses yang digunakan sistem operasi yaitu strategi
preemptive dimana suatu proses dapat saja disela oleh proses lain pada saat
Running.
-Sebuah proses menjadi Terminated disebabkan oleh
beberapa hal diantaranya:
1. Proses memang sudah sele sai mengerjakan tugasnya,
sehingga diakhiri secara normal
2. Melewati batas waktu yang telah diberikan.New Ready
Running Terminated Waiting
3. Terjadi kesalahan perhitungan misalnya mengerjakan
instruksi pembagian dengan nol (division by zero) , atau menyimpan angka yang
lebih besar daripada yang dapat diakomodasi oleh perangkat keras.
4. Terjadi kegagalan I/O seperti kegagalan pembacaan
dan penulisan file.
5. Proses induknya berakhir, pada kasus ini suatu
proses dibuat oleh proses lain, proses pembuat disebut sebagai parent,
sedangkan proses yang dibuat disebut sebagai child . Sistem dirancang untuk
mengakhiri secara otomatis proses – proses childnya bila proses parent
berakhir.
6. Proses child diakhiri atas permintaan proses
parentnya. Pada kasus ini parent mengirim signal tertentu untuk mengakhiri
childnya misalnya mengirim signal SIGQUIT, SIGKILL atau SIGTERM.
Proses pembuatan
penghentian proses (termasuk switching-nya) pada so Windows
Pembuatan Proses:
– Memberikan suatu pengenal proses unik
– Mengalokasikan ruang bagi proses tersebut
– Menginisialisasi process control block
– Men-setup linkage yang tepat
– Membuat dan meng-expand struktur data lain
Proses Switching :
process switching muncul terkait adanya Event yang
memicu terjadinya process switch yang mebedakan antara swithing modus dan
proses sehingga apa saja yang harus dilakukan SO terhadap berbagai struktur
data di bawah kontrolnya untuk mencapai suatu process switch.
Suatu process switch dapat terjadi kapapun SO
memperoleh kontrol dari proses yang sedang (currently) berjalan. Event yang
mungkin memberikan SO kontrol adalah
Langkah-langkah dalam process switch:
1. Simpan context dari processor termasuk program
counter (PC) & register lain
2. Update process control block (PCB) dari proses yang
saat terkini dalam status Running
3. Pindahkan PCB ke antrian yang tepat ready; blocked;
ready/suspend
4. Pilih proses lain untuk dieksekusi
5. Update PCB dari proses terpilih
6. Update struktur data memory management
7. Restore (kembalikan) context dari proses terpilih
Proses pembuatan
penghentian proses (termasuk switching-nya) pada so Linux
Proses dalam Linux merupakan sekumpulan struktur data
yang menyediakan SO dengan semua informasi yang diperlukan untuk mengelola
& mendispatch proses.Pembuatan proses dilakukan oleh system call kernel
bernama fork( ).
Ini menyebabkan SO, dalam modus kernel, untuk:
1. Mengalokasi suatu slot dalam tabel proses untuk
proses baru tersebut.
2. Memberikan suatu process-ID unik untuk proses anak.
3. Menyalin process image dari proses induk,dengan
pengecualian suatu shared memory.
4. Naikkan counter terhadap file yang dimiliki oleh
induk (parent) untuk mencerminkan bahwa suatu proses tambahan sekarang juga
memiliki file-file tersebut.
5. Lewatkan proses anak dari status Ready ke Run.
6. Kembalikan nomor ID dari anak ke proses induk, dan
nilai 0 ke proses anak.
Setelah membuat proses, Kernel dapat melakukan salah
satu berikut, sebagai bagian dari rutin dispatcher:
– Tetap pada proses induk.
– Mentransfer kontrol ke proses anak
– Mentransfer kontrol ke proses yang lain
Proses
Switching :
process switching muncul terkait adanya Event yang
memicu terjadinya process switch yang membedakan antara swithing modus dan
proses sehingga apa saja yang harus dilakukan SO terhadap berbagai struktur
data di bawah kontrolnya untuk mencapai suatu process switch.
2. Stack adalah salah satu bagian yang digunakan untuk menyimpan
data-data atau variabel yang pengalamatan
memorinya telah dilakukan saat kompilasi (alamat pastinya sudah ditentukan dari
awal).Heap adalah area memori yang
digunakan untuk alokasi secara dinamis. Bagian-bagian memori yang dialokasikan
dilakukan secara sembarang (no pattern).
Lalu apa yang sebenarnya benar-benar
membedakan heap dengan stack?
Dibandingkan
dengan heap, stack terlihat lebih banyak digunakan dalam kaitannya untuk
mengalokasikan memori bagi variabel-variabel yang digunakan dalam fungsi. Stack
digunakan untuk menyimpan data sementara. Sementara heap diperuntukkan bagi
informasi yang menetap dan dialokasikan secara khusus oleh pengguna. Heap
digunakan untuk menyimpan data tambahan sesuai permintaan (request data).
Karena
memori yang dipakai oleh stack bersifat sementara, maka informasi yang terdapat
di alamat stack akan langsung didealokasi secara otomatis ketika scope sebuah
program berakhir (udah kadaluarsa, lihat contoh). Sedangkan memori yang
dialokasikan pada heap akan tetap bertahan sampai program benar-benar
mendealokasikannya.
3. PCB memuat informasi tentang proses,
yaitu: sebuah tanda pengenal proses (Process ID) yang unik dan menjadi nomor
identitas, status proses, prioritas eksekusi proses dan informasi lokasi proses
dalam memori. Prioritas proses merupakan suatu nilai atau besaran yang
menunjukkan seberapa sering proses harus dijalankan oleh prosesor. Proses yang
memiliki prioritas lebih tinggi, akan dijalankan lebih sering atau dieksekusi
lebih dulu dibandingkan dengan proses yang berprioritas lebih rendah.
Thread
Program yang dieksekusi :
1.Proses berat (heavyweight) => proses tradisional
2.Proses ringan (lightweight) => THREAD
Thread terdiri dari ID thread, program counter,himpunan register dan stack. Thread dapat melakukan lebih dari satu
pekerjaan pada waktu yang sama (multithreading). Thread bekerja sama dengan thread lain dalam penggunaan bagian kode, bagian data, dan resource. Dengan penggunaan thread CPU dapat secara ekstensif di antara peer thread tanpa menggunakan manajemen memori.
Keuntungan penggunaan thread :
1.Tanggap
2.Pemberdayaan resorce
3.Ekonomis
4.Pemberdayaan arsitektur multiprocessor
Program yang dieksekusi :
1.Proses berat (heavyweight) => proses tradisional
2.Proses ringan (lightweight) => THREAD
Thread terdiri dari ID thread, program counter,himpunan register dan stack. Thread dapat melakukan lebih dari satu
pekerjaan pada waktu yang sama (multithreading). Thread bekerja sama dengan thread lain dalam penggunaan bagian kode, bagian data, dan resource. Dengan penggunaan thread CPU dapat secara ekstensif di antara peer thread tanpa menggunakan manajemen memori.
Keuntungan penggunaan thread :
1.Tanggap
2.Pemberdayaan resorce
3.Ekonomis
4.Pemberdayaan arsitektur multiprocessor
4. Bounded Buffer adalah suatu
struktur data untuk menampung (buffer) suatu nilai dimana kapasitasnya
tertentu/terbatas (bounded). Masalah bounded buffer merupakan salah satu masalah
yang menerangkan sinkronisasi antara proses-proses yang berjalan secara
konkuren untuk mengakses data yang sama. Unbounded-buffer
adalah suatu struktur data untuk menampung (buffer) suatu nilai dimana
kapasitasnya tertentu/terbatas.
5. Definisi RPC :
RPC (Remote Procedure Call) adalah suatu protokol yang
menyediakan suatu mekanisme komunikasi antar proses yang mengijinkan suatu
program untuk berjalan pada suatu komputer tanpa terasa adanya eksekusi kode
pada sistem yang jauh (remote system). RPC mengasumsi keberadaan dari low-level
protokol transportasi seperti TCP atau UDP untuk membawa pesan data dalam
komunikasi suatu program. Protokol RPC dibangun diatas protokol eXternal Data
Representation (XDR), yang merupakan standar dari representasi data dalam
komunikasi remote. Protokol XDR mengubah parameter dan hasil dari tiap servis
RPC yang disediakan.
6. Batch
adalah sebuah file text yang berisi beberapa seri perintah yang secara
segaja untuk di eksekusi oleh command interpreter. atau dapat didefinisikan
juga batch merupakan kumpulan perintah-perintah command line yang dapat
dijalankan pada Microsoft Windows. System call adalah tata cara pemanggilan di program aplikasi
untuk memperoleh layanan yang disediakan oleh sistem operasi. System call berupa
rutin sistem operasi untuk keperluan tertentu yang spesifik.
System Call untuk manajemen
proses diperlukan untuk mengatur proses-proses yang sedang berjalan. Kita dapat
melihat penggunaan system calls untuk manajemen proses pada Sistem Operasi
Unix. Contoh yang paling baik untuk melihat bagaimana system call bekerja untuk
manajemen proses adalah Fork.
7. shell adalah program (penterjemah perintah) yang menjembatani
user dengan sistem operasi dalam hal ini kernel (inti sistem operasi), umumnya
shell menyediakan prompt sebagai user interface, tempat dimana user mengetikkan
perintah-perintah yang diinginkan baik berupa perintah internal shell (internal
command), ataupun perintah eksekusi suatu file progam (eksternal command),
selain itu shell memungkinkan user menyusun sekumpulan perintah pada sebuah
atau beberapa file untuk dieksekusi sebagai program.
Perbedaan antara shell dan kernel adalah:
·
Shell adalah program (perintah)
yang menjembatani user dan sistem operasi dalam hal ini kernel (inti sistem
operasi)
·
Kernel adalah program
yang selalu berjalan (sepnjang komputer) yang dipakai oleh pengguna (user)
8. Windows tidak mempunyai shell karena shell hanya terdapat
pada linux.
20 perintah shell yang
digunakan linux untuk mengelola sistem operasi linux
1. cat merupakan perintah yang digunakan untuk melihat isi
file
2. uname -a perintah untuk melihat jenis OS serta versi
3. netstat -tnap perintah untuk melihat koneksi keluar/masuk, atau listen
4. rm -rf perintah untuk menghapus file atau direktori
5. cp perintah untuk mengcopy file
6. mv mengganti nama file atau memindah file
7. echo perintah yang digunakan untuk menampilkan kata yang dituliskan setelahnya
8. w perintah yang digunakan untuk menampilkan user yang sedang login
9. whoami perintah yang digunakan untuk menampilkan user kita sendiri
10. id perintah yang digunakan untuk menampilkan user kita sendiri
11. mkdir perintah yang digunakan untuk membuat direktori baru
12. touch perintah untuk membuat file kosong
13. pwd : menampilkan irektori aktif
14. chown : mengganti kepemilikan file
15. last : menampilkan daftar user-user yang pernah login
16. lwp-download : mengambil suatu data dari suatu situs
17. userdel : menghapus user (root)
18. tar -zxvf : mengekstrak file tgz atau tar.gz
19. su : ganti sebagai user lain
20. chmod adalah nama aplikasi yang digunakan untuk merubah hak akses suatu file atau direktori di system operasi Linux.
2. uname -a perintah untuk melihat jenis OS serta versi
3. netstat -tnap perintah untuk melihat koneksi keluar/masuk, atau listen
4. rm -rf perintah untuk menghapus file atau direktori
5. cp perintah untuk mengcopy file
6. mv mengganti nama file atau memindah file
7. echo perintah yang digunakan untuk menampilkan kata yang dituliskan setelahnya
8. w perintah yang digunakan untuk menampilkan user yang sedang login
9. whoami perintah yang digunakan untuk menampilkan user kita sendiri
10. id perintah yang digunakan untuk menampilkan user kita sendiri
11. mkdir perintah yang digunakan untuk membuat direktori baru
12. touch perintah untuk membuat file kosong
13. pwd : menampilkan irektori aktif
14. chown : mengganti kepemilikan file
15. last : menampilkan daftar user-user yang pernah login
16. lwp-download : mengambil suatu data dari suatu situs
17. userdel : menghapus user (root)
18. tar -zxvf : mengekstrak file tgz atau tar.gz
19. su : ganti sebagai user lain
20. chmod adalah nama aplikasi yang digunakan untuk merubah hak akses suatu file atau direktori di system operasi Linux.
9. Mach adalah satuan kecepatan
yang umum untuk mengekspresikan kecepatan suatu pesawat terbang relatif
terhadap kecepatan suara satuan biasanya ditempatkan sebelum angka
pengukurannya seperti mach 1,0 untuk (sistem operasi kernel) pada generasi
pertama. Debugging sebuah
metode yang dilakukan oleh para pemprogram dan pengembang perangkat lunak untuk
mencari dan mengurangi bug, atau kerusakan di dalam sebuah program komputer
atau perangkat keras sehingga perangkat tersebut bekerja sesuai dengan harapan.
10. Boostrap Program merupakan sebuah
program yang terdapat pada ROM yang
dapat menempatkan kernel, memesukkannya ke dalam memori dan melalui
eksekusinya.
Boostrap LOADER adalah yang lebih baik dan sebuah
program yang cukup sederhana untuk dipanggil secara manual denagn pertolongan
sakelar
Boot Block, adalah area-data khusus dalam
chip BIOS yang (jika tidak rusak) akan memungkinkan PC untuk booting jika
mendeteksi adanya sebuah media "Bootable DOS" terhubung ke PC. Boot
Block ini adalah "write protected", dan tidak bisa terhapus saat
proses flashing(yang normal).



Komentar
Posting Komentar