Tugas Sistem Operasi Manajemen Proses

advertisement
Tugas Sistem Operasi
Manajemen Proses
Disusun oleh:
RIDLO PAMUJI
13111111 / 22
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INFORMASI
UNIVERSITAS MERCU BUANA YOGYAKARTA
2015/2016
DAFTAR ISI
A. PENGERTIAN SISTEM INFORMASI --------------------------------------------------------------------------
2
B. PENGERTIAN PROSES -------------------------------------------------------------------------------------- ---
2
C. PROCESS CONTROL BLOCK -----------------------------------------------------------------------------------
4
D. STRUKTUR KENDALI SISTEM OPERASI --------------------------------------------------------------------
6
E. REFERENSI -------------------------------------------------------------------------------------------------------- 16
1
A. PENGERTIAN SISTEM OPERASI
Sebagai pendahuluan kita harus mengenal dulu apa itu Sistem Operasi. Sistem operasi
adalah seperangkat program yang mengelola sumber daya perangkat keras komputer, dan
menyediakan layanan umum untuk aplikasi perangkat lunak. Sistem operasi adalah jenis
yang paling penting dari perangkat lunak sistem dalam sistem komputer. Tanpa sistem
operasi, pengguna tidak dapat menjalankan program aplikasi pada komputer mereka,
kecuali program aplikasi booting.
Sistem operasi mempunyai penjadwalan yang sistematis mencakup perhitungan
penggunaan memori, pemrosesan data, penyimpanan data, dan sumber daya lainnya.Untuk
fungsi-fungsi perangkat keras seperti sebagai masukan dan keluaran dan alokasi memori,
sistem operasi bertindak sebagai perantara antara program aplikasi dan perangkat keras
komputer,meskipun kode aplikasi biasanya dieksekusi langsung oleh perangkat keras dan
seringkali akan menghubungi OS atau terputus oleh itu. Sistem operasi yang ditemukan pada
hampir semua perangkat yang berisi komputer-dari ponsel dan konsol permainan video
untuk super komputer dan server web. Contoh sistem operasi modern adalah Linux,
Android, iOS, Mac OS X, dan Microsoft Windows.
B. PENGERTIAN PROSES
Proses adalah program yang sedang dieksekusi. Menurut SilberSchatz, suatu proses adalah
lebih dari sebuah kode program, yang terkadang disebut text section . Proses juga mencakup
program counter , yaitu sebuah stack untuk menyimpan alamat dari instruksi yang akan
dieksekusi selanjutnya dan register. Sebuah proses pada umumnya juga memiliki sebuah
stack yang berisikan data-data yang dibutuhkan selama proses dieksekusi (seperti parameter
method, alamat return dan variabel lokal), dan sebuah data section yang menyimpan
variabel global.
Kami tekankan bahwa program itu sendiri bukanlah sebuah proses. Suatu program adalah
satu entitas pasif, seperti isi dari sebuah berkas yang disimpan didalam disket. Sedangkan
sebuah proses dalam suatu entitas aktif, dengan sebuah program counter yang menyimpan
alamat instruksi selanjut yang akan dieksekusi dan seperangkat sumber daya ( resource yang
dibutuhkan agar sebuah proses dapat dieksekusi.
Setiap proses dalam sebuah sistem operasi mendapatkan sebuah PCB (Process Control
Block) yang memuat informasi tentang proses tersebut, yaitu: sebuah tanda pengenal proses
(Process ID) yang unik dan menjadi nomor identitas, status proses, prioritas eksekusi proses
2
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. Suatu sistem operasi dapat saja
menentukan semua proses dengan prioritas yang sama, sehingga setiap proses memiliki
kesempatan yang sama. Suatu sistem operasi dapat juga mengubah nilai prioritas proses
tertentu, agar proses tersebut akan dapat memiliki kesempatan lebih besar pada eksekusi
berikutnya (misalnya: pada proses yang sudah sangat terlalu lama menunggu eksekusi,
sistem operasi menaikkan nilai prioritasnya).
C. PROCESS CONTROL BLOCK
Tiap proses digambarkan dalam sistem operasi oleh sebuah process control block PCB - juga
disebut sebuah control block. PCB berisikan banyak bagian dari informasi yang berhubungan
dengan sebuah proses yang spesifik, termasuk hal-hal dibawah ini:
1. Status proses
Contoh status proses antara lain new, ready, running, waiting, halted, dan lain-lain.
2. Program counter
Suatu stack yang berisi alamat dari instruksi selanjutnya untuk dieksekusi untuk proses
ini.
3. CPU register
Register bervariasi dalam jumlah dan jenis, tergantung pada rancangan komputer.
Register tersebut termasuk accumulator , indeks register, stack pointer , generalpurposes register , ditambah code information pada kondisi apa pun. Besertaan dengan
program counter, keadaaan/status informasi harus disimpan ketika gangguan terjadi,
untuk memungkinkan proses tersebut berjalan/bekerja dengan benar setelahnya.
4. Informasi managemen memori
Informasi ini dapat termasuk suatu informasi sebagai nilai dari dasar dan batas register,
tabel page/halaman, atau tabel segmen tergantung pada sistem memori yang digunakan
oleh sistem operasi (lihat Bab Managemen memori).
5. Informasi pencatatan
Informasi ini termasuk jumlah dari CPU dan waktu riil yang digunakan, batas waktu,
jumlah akun jumlah job atau proses, dan banyak lagi.
3
6. Informasi status I/O
Informasi termasuk daftar dari perangkat I/O yang di gunakan pada proses ini, suatu
daftar berkas-berkas yang sedang diakses dan banyak lagi.
7. PCB hanya berfungsi sebagai tempat penyimpanan informasi yang dapat bervariasi dari
proses yang satu dengan yang lain.
8. Informasi Penjadwalan CPU
Informasi tersebut berisi prioritas dari suatu proses, pointer ke antrian penjadwalan, dan
beberapa parameter penjadwalan yang lainnya.
Gambar Proses Control Blok :
4
Elemen-elemen dari Process Control Block (PCB) :
1. Identifier : menjelaskan proses yang sedang terjadi
2. State : kondisi yang terjadi pada proses
3. Priority : urutan perintah yang jelas pada suatu proses
4. Program counter : instruksi pada proses
5. Memory pointers : media penyimpanan (penunjuk alamat) pada proses
6. Context data : data yang berkaitan dengan proses
7. I/O status information : terdapat masukan dan keluaran yang diinginkan
8. Accounting information : memberikan informasi yang dibutuhkan
Macam-Macam Jenis Status Proses
Jenis status yang mungkin dapat disematkan pada suatu proses pada setiap sistem operasi
dapat berbeda-beda. Tetapi paling tidak ada 3 macam status yang umum, yaitu:
1. Ready adalah status dimana proses siap untuk dieksekusi pada giliran berikutnya
2. Running adalah status dimana saat ini proses sedang dieksekusi oleh prosesor
3. Blocked adalah status dimana proses tidak dapat dijalankan pada saat prosesor
siap/bebas
5
D.
STRUKTUR KENDALI SISTEM OPERASI
Berikut akan dibahas beberapa struktur kendali / manajemen system operasi, yaitu :
1. Manajemen Proses
2. Manajemen Memori
3. Manajemen Storage/Data
4. Manajemen I/O dan Berkas (File)
5. Proteksi
6. Networking
7. Interface dengan user (command interpreter)
1) Manajemen Proses
Manajemen proses merupakan konsep pokok di sistem operasi. Terdapat beragam
definisi proses diantaranya:
 Proses adalah program yang sedang dieksekusi.
 Proses merupakan unit kerja terkecil yang secara individual memiliki sumber daya
sumber daya dan dijadwalkan oleh sistem operasi.
Sebuah proses membutuhkan beberapa sumber daya untuk menyelesaikan tugasnya.
Sumber daya tersebut dapat berupa CPU time, memori, berkas – berkas, dan perangkat-
6
perangkat I/O. Sistem operasi menegelola semua proses di sistem dan mengalokasikan
sumber daya ke proses-proses sesuai kebijaksanaan untuk memenuhi sasaran sistem.
Sistem operasi mengalokasikan sumber daya – sumber daya tersebut saat proses itu
diciptakan atau sedang diproses/dijalankan. Ketika proses tersebut berhenti dijalankan,
sistem operasi akan mendapatkan kembali semua sumber daya yang bisa digunakan
kembali.
Sistem operasi bertanggung jawab atas aktivitas-aktivitas yang berkaitan dengan
manajemen proses seperti:
 Menciptakan dan menghapus proses
 Menunda atau melanjutkan proses.
 Menyediakan mekanisme untuk proses sinkronisasi.
 Menyediakan mekanisme untuk proses komunikasi.
 Menyediakan mekanisme untuk penanganan deadlock.
2) Manajemen Memory Utama
Memori utama atau lebih dikenal sebagai memori adalah sebuah array yang besar dari
word atau byte, yang ukurannya mencapai ratusan, ribuan, atau bahkan jutaan. Setiap
word atau byte mempunyai alamat tersendiri. Memori utama berfungsi sebagai tempat
penyimpanan instruksi / data yang akses datanya digunakan oleh CPU dan perangkat I/O.
Memori utama termasuk tempat penyimpanan data yang yang bersifat volatile – tidak
permanen (sementara), artinya data akan hilang jika komputer dimatikan.
Manajemen memori sangat mempengaruhi kinerja komputer. Manajemen memori
melakukan tugas penting dan kompleks berkaitan dengan:
 Memori utama sebegai sumber daya yang harus dialokasikan dan dipakai bersama di
antara sejumlah proses yang aktif, agar dapat memanfaatkan prosesor dan fasilitas
input/output secara efisisen, maka diinginkan memori yang dapat menampung
sebanyak mungkin proses.
 Upaya agar pemrogram atau proses tidak dibatasi kapasitas memori fisik di sistem
komputer (adanya memori virtual).
Sistem operasi bertanggung jawab atas aktivitas-aktivitas yang berkaitan dengan
manajemen memori seperti:
 Melacak pemakaian memori (bagian mana, berapa besar dan oleh siapa.
 Mengelola informasi memori yang dipakai atau tidak dipakai.
7
 Alokasi dan dealokasi memori sesuai keperluan.
 Memilih program yang akan di-load ke memori.
3) Manajemen Secondary-Storage
Back up main memory, non-volatile
Data dan program disimpan disimpan dalam secondary storage (penyimpanan sekunder;
disk).
OS bertanggung jawab dalam :
 Bagaimana mengelola ruang yang kosong dalam storage.
 Bagaimana mengalokasi storage.
 Bagaimana melakukan scheduling penggunaan disk.
4) Manajemen I/O
OS bertanggung jawab dalam :
 “menyembunyikan” kekhususan perangkat keras tertentu dari user.
 Melakukan optimalisasi dalam akses.
 Buffer cache system : menampung sementara data dari/ke piranti I/O.
 Spooling : melakukan penjadwalan pemakaian I/O sistem supaya lebih efisien (antrian,
dsb).
 Interface device-driver : open, read, write, close.
Drivers untuk spesifik perangkat keras :
Menyediakan driver untuk melakukan operasi detail untuk perangkat keras tertentu.
5) Sistem Proteksi
Mekanisme untuk mengontrol akses yang dilakukan oleh program, prosesor atau user ke
resource-resource dalam sistem komputer.
Mekanisme proteksi harus :
 Dapat membedakan pemakaian yang sah (authorized) & yang tidak sah
(unauthorized).
 Spesifikasi kontrol yang dikenakan.
 Menyediakan alat untuk pemberlakuan sistem.
6) Networking (Distributed System)
 Distributed system : kumpulan prosesor yang terdistribusi, tidak berbagi (share)
memory atau clock.
8
 Setiap prosesor memiliki memori lokal masing-masing.Prosesor-prosesor dalam sistem
terhubung dalam jaringan komunikasi sistem terdistribusi. Sebagai pengatur
(protokol) dalam komunikasi data.
 Menentukan strategi-strategi menangani masalah-masalah komunikasi.
 Mengatur network file system.
Dengan adanya shared resource :
 Peningkatan kecepatan komputas.
 Peningkatan penyediaan data
 Meningkatkan reliabilitas (kehandalan)
7) Manajemen File
Berkas adalah kumpulan informasi yang berhubungan, sesuai dengan tujuan pembuat
berkas tersebut. Umumnya berkas merepresentasikan program dan data. Berkas dapat
mempunyai struktur yang bersifat hirarkis (direktori, volume, dll.). Sistem operasi
mengimplementasikan konsep abstrak dari berkas dengan mengatur media penyimpanan
massa, misalanya tapes dan disk
Sistem operasi bertanggung jawab dalam aktivitas yang berhubungan dengan manajemen
berkas:
 Pembuatan dan penghapusan berkas.
 Pembuatan dan penghapusan direktori.
 Mendukung manipulasi berkas dan direktori.
 Memetakan berkas ke penyimpanan sekunder.
 Mem-back up berkas ke media penyimpanan yang permanen (non-volatile).
8) Command Interpreter
Sistem operasi menyediakan layanan untuk programmer sehingga dapat melakukan
pemrograman dengan mudah.
 Eksekusi Program. Sistem harus dapat memanggil program ke memori dan
menjalankannya. Program tersebut harus dapat mengakhiri eksekusinya dalam bentuk
normal atau abnormal (indikasi error).
 Operasi-operasi I/O. Pada saat running program kemungkinan dibutuhkan I/O,
mungkin berupa file atau peralatan I/O. Agar efisien dan aman, maka user tidak boleh
mengontrol I/O secara langsung, pengontrolan dilakukan oleh sistem operasi.
9
 Manipulasi sistem file. Kapabilitas program untuk membaca, menulis, membuat dan
menghapus file.
 Komunikasi. Komunikasi dibutuhkan jika beberapa proses yang sedang dieksekusi
saling tukar-menukar informasi. Penukaran informasi dapat dilakukan oleh beberapa
proses dalam satu komputer atau dalam komputer yang berbeda melalui system
jaringan. Komunikasi dilakukan dengan cara berbagi memori (shared memory) atau
dengan cara pengiriman pesan (message passing).
 Mendeteksi kesalahan. Sistem harus menjamin kebenaran dalam komputasi dengan
melakukan pendeteksian error pada CPU dan memori, perangkat I/O atau pada user
program.
Beberapa fungsi tambahan yang ada tidak digunakan untuk membantu user, tetapi
lebih digunakan untuk menjamin operasi sistem yang efisien, yaitu:
 Mengalokasikan sumber daya (resource). Sistem harus dapat mengalokasikan
resource untuk banyak user atau banyak job yang dijalanan dalam waktu yang
sama.
 Akutansi. Sistem membuat catatan daftar berapa resource yang digunakan user
dan resource apa saja yang digunakan untuk menghitung secara statistik akumulasi
penggunaan resource.
 Proteksi. Sistem operasi harus menjamin bahwa semua akses ke resource
terkontrol dengan baik.
 Layanan Operating System
 Eksekusi program : load program user ke memory dan menjalankannya (run)
 Operasi-operasi I/O : pengguna tidak bisa mengontrol I/O secara langsung (untuk
efisiensi & keamanan), sistem harus bisa menyediakan mekanisme untuk
melakukan operasi I/O
 Manipulasi file system : read, write, create & delete
 System Call
Layanan langsung sistem operasi ke pemrograman, disebut dengan system call atay
API (application programming interface). 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. Bentuk
system call beragam, terbanyak berupa rutin prosedur atau fungsi.
10
Jenis-jenis System Call :
a. Pengendalian proses
 Selesai, abort
 Load, eksekusi
 Membuat dan mengakhiri proses
 Mengambil dan mengeset atribut proses
 Menunggu waktu
 Wait event, signal event
 Alokasi dan pengosongan memori
b. Manajemen berkas
 Membuat dan menghapus berkas
 Membuka dan menutup berkas
 Read, write, reposition
 Mengambil dan mengeset atribut berkas
c. Manajemen peranti
 Meminta & melepaskan peranti
 Read, write, reposition
 Mengambil dan mengeset atribut peranti
d. Mempertahankan informasi
 Mengambil dan mengeset waktu dan tanggal
 Mengambil dan mengeset system data
 Mengambil proses, berkas atau atribut peranti
 Mengeset proses, berkas atau atribut peranti
e. Komunikasi
 Menciptakan, menghapus hubungan komunikasi
 Mengirim dan menerima pesan
 Mentransfer status informasi
 Attach ataudetach remote device
 Struktur Sistem
Sebuah sistem yang besar dan kompleks seperti sistem operasi modern harus diatur
dengan cara membagi task kedalam komponen-komponen kecil agar dapat berfungsi
dengan baik dan mudah.
11
Berikut ini adalah Struktur Sistem Operasi;
a. Struktur Sederhana
b. Sistem Berlapis (layered system)
c. Kernel Mikro
d. Modular (Modules)
e. Mesin Maya ( Virtual Machine )
f. Client-Server Model
g. Sistem Berorientasi Objek
a. Struktur Sederhana
Sistem operasi sebagai kumpulan prosedur dimana prosedur dapat saling dipanggil
oleh prosedur lain di sistem bila diperlukan. Banyak sistem operasi komersial yang
tidak terstruktur dengan baik. Kemudian sistem operasi dimulai dari yang terkecil,
sederhana dan terbatas lalu berkembang dengan ruang lingkup originalnya. Contoh
dari sistem operasi ini adalah MS-DOS dan UNIX. MS-DOS merupakan sistem
operasi yang menyediakan fungsional dalam ruang yang sedikit sehingga tidak
dibagi menjadi beberapa modul, sedangkan UNIX menggunakan struktur monolitik
12
dimana prosedur dapat saling dipanggil oleh prosedur lain di sistem bila diperlukan
dan kernel berisi semua layanan yang disediakan sistem operasi untuk pengguna.
Inisialisasi-nya terbatas pada fungsional perangkat keras yang terbagi menjadi dua
bagian yaitu kernel dan sistem program. Kernel terbagi menjadi serangkaian
interface dan device driver dan menyediakan sistem file, penjadwalan CPU,
manajemen memori, dan fungsi-fungsi sistem operasi lainnya melalui system calls.
b. Sistem Berlapis (layered system)
Sistem operasi dibentuk secara hirarki berdasar lapisan-lapisan, dimana lapisanlapisan bawa memberi layanan lapisan lebih atas. Lapisan yang paling bawah
adalah perangkat keras, dan yang paling tinggi adalah user-interface. Sebuah
lapisan adalah implementasi dari obyek abstrak yang merupakan enkapsulasi dari
data dan operasi yang bisa memanipulasi data tersebut. Struktur berlapis
dimaksudkan untuk mengurangi kompleksitas rancangan dan implementasi sistem
operasi. Tiap lapisan mempunyai fungsional dan antarmuka masukan-keluaran
antara dua lapisan bersebelahan yang terdefinisi bagus.
Lapisan sistem operasi secara umum terdiri atas 4 bagian, yaitu:

Perangkat keras(Lebih berhubungan kepada perancang sistem).

Sistem operasi (Lebih berhubungan kepada programmer).

Kelengkapan (Lebih berhubungan kepada programmer) .

Program aplikasi (Lebih berhubungan kepada pengguna aplikasi komputer).
Lapisan n memberi layanan untuk lapisan n+1. Proses-proses di lapisan n dapat
meminta layanan lapisan n-1 untuk membangunan layanan bagi lapisan n+1.
Lapisan n dapat meminta layanan lapisan n-1. Kebalikan tidak dapat, lapisan n tidak
dapat meminta layanan n+1. Masing-masing berjalan di ruang alamat-nya sendiri.
Kelanjutan sistem berlapis adalah sistem berstruktur cincin seperti sistem
MULTICS. Sistem MULTICS terdiri 64 lapisan cincin dimana satu lapisan
berkewenangan berbeda. Lapisan n-1 mempunyai kewenangan lebih dibanding
lapisan n. Untuk meminta layanan lapisan n-1, lapisan n melakukan trap.
Kemudian, lapisan n-1 mengambil kendali sepenuhnya untuk melayani lapisan n.
c. Kernel Mikro
Metode struktur ini adalah menghilangkan komponen-komponen yang tidak
diperlukan dari kernel dan mengimplementasikannya sebagai sistem dan program-
13
program level user. Hal ini akan menghasilkan kernel yang kecil. Fungsi utama dari
jenis ini adalah menyediakan fasilitas komunikasi antara program client dan
bermacam pelayanan yang berjalan pada ruang user.
d. Modular (Modules)
Kernel mempunyai kumpulan komponen-komponen inti dan secara dinamis
terhubung pada penambahan layanan selama waktu boot atau waktu berjalan.
Sehingga strateginya menggunakan pemanggilan modul secara dinamis (Loadable
Kernel Modules). Umumnya sudah diimplementasikan oleh sistem operasi modern
seperti Solaris, Linux dan MacOSX.
Sistem Operasi Apple Macintosh Mac OS X menggunakan struktur hybrid.
Strukturnya menggunakan teknik berlapis dan satu lapisan diantaranya
menggunakan Mach microkernel.
e. Virtual Machine
Mesin maya mempunyai sistem timesharing yang berfungsi untuk ,menyediakan
kemampuan untuk multiprogramming dan perluasan mesin dengan antarmuka
yang lebih mudah.Struktur Mesin maya ( CP/CMS, VM/370 ) terdiri atas komponen
dasar utama :
Control Program, yaitu virtual machine monitor yang mengatur fungsi ari
prosessor, memori dan piranti I/O. Komponen ini berhubungan langsung dengan
perangkat
keras.
Conventional
Monitor
System,
yaitu
sistem
operasi
sederhanayang mengatur fungsi dari proses, pengelolaan informasi dan
pengelolaan piranti.
f. Client-Server Models
Mengimplementasikan sebagian besar fungsi sistem operasi pada mode pengguna
(user mode). Sistem operasi merupakan kumpulan proses dengan proses-proses
dikategorikan sebagai server dan client, yaitu :Server, adalah proses yang
menyediakan layanan dan Client adalah proses yang memerlukan/meminta
layanan.
Proses client yang memerlukan layanan mengirim pesan ke server dan menanti
pesan jawaban. Proses server setelah melakukan tugas yang diminta, mengirim
hasil dalam bentuk pesan jawaban ke proses client. Server hanya menanggapi
permintaan client dan tidak memulai dengan percakapan client. Kode dapat
14
diangkat ke level tinggi, sehingga kernel dibuat sekecil mungkin dan semua tugas
diangkat ke bagian proses pemaka. Kernel hanya mengatur komunikasi antara
client dan server. Kernel yang ini popular dengan sebutan mikrokernel.
g. Sistem Berorientasi Objek
Sisten operasi merealisasikan layanan sebagai kumpulan proses disebut sistem
operasi bermodel proses. Pendekatan lain implementasi layanan adalah sebagai
objek-objek. Sistem operasu yang distrukturkan menggunakan objek disebut sistem
operasi berorientasi objek. Pendekatan ini dimaksudkan untuk mengadopsi
keunggulan teknologi berorientasi objek. Pada sistem yang berorientasi objek,
layanan diimplementasikan sebagai kumpulan objek. Objek mengkapsulkan
struktur data dan sekumpulan operasi pada struktur data itu. Tiap objek diberi tipe
yang menandadi properti objek seperti proses, direktori, berkas, dan sebagainya.
Dengan memanggil operasi yang didefinisikan di objek, data yang dikapsulkan
dapat diakses dan dimodifikasi. Model ini sungguh terstruktur dan memisahkan
antara layanan yang disediakan dan implementasinya. Sistem operasi MS Windows
NT telah mengadopsi beberapa teknologi berorientasi objek tetapi belum
keseluruhan.
15
E. REFERENSI
https://cahpecel89.wordpress.com/2010/03/27/elemen-elemen-dari-process-control-blockpcb/
http://femmifirdausahdiat.blogspot.co.id/2012/09/pcb-process-control-block.html
http://blog.prediss.com/it-tutorial/struktur-sistem-operasi/
16
Download