Pages

Subscribe:

Jumat, 10 Desember 2010

Sistem Operasi

1. Penjelasan tentang Penciptaan Proses (create a process)

Penciptaan proses dapat disebabkan beragam sebab. Penciptaan proses meliputi beberapa tahap :
1. Beri satu identifier unik ke proses baru. Isian baru ditambahkan ke tabel proses utama yang berisi satu isian perproses.
2. Alokasikan ruang untuk proses.
3. PCB harus diinisialisasi.
4. Kaitan-kaitan antar tabel dan senarai yang cocok dibuat.
5. Bila diperlukan struktur data lain maka segera dibuat struktur data itu


Proses merupakan sebuah program yang mengeksekusi thread tunggal. Kendali thread tunggal ini hanya memungkinkan proses untuk menjalankan satu tugas pada satu waktu. Banyak sistem operasi modern telah memiliki konsep yang dikembangkan agar memungkinkan sebuah proses untuk mengeksekusi multi-threads. Umpamanya, secara bersamaan mengetik dan
menjalankan pemeriksaan ejaan didalam proses yang sama.

Penjelasan tentang bagaimana penciptaan proses ini terjadi :

a. Dari ready ke running

Ketika proses dalam keadaan siap untuk dieksekusi oleh prosesor lalu ada instruksi untuk menjalankan proses maka status menjadi running dan proses belum selesai.

b. Dari running ke blocked

Pada saat proses menggunakan CPU pada suatu waktu atau pada saat instruksi-instruksi dari sebuah proses dieksekusi lalu proses tersebut terhambat oleh sesuatu kebutuhan yang diperlukan oleh proses tersebut (misal kekurangan disk storage) maka proses tersebut terhenti sampai ada event dari luar lagi untuk melanjutkan proses tersebut.

c. Dari running ke ready

Pada saat proses menggunakan CPU pada suatu waktu atau pada saat instruksi-instruksi dari sebuah proses dieksekusi hingga proses tersebut siap untuk melaksanakan instruksi yang lain.

d. Dari blocked ke ready

Ketika proses tidak dijalankan sampai ada event dari luar, yang berhubungan dengan proses tersebut terjadi atau dengan kata lain status menunggu event dari luar hingga proses tersebut mendapat event dari luar dan siap untuk melanjutkan proses.

e. Dari running ke finish
Pada saat proses menggunakan CPU pada suatu waktu atau pada saat instruksi-instruksi dari sebuah proses dieksekusi hingga proses tersebut selesai dilaksanakan.

Penciptaan proses melibatkan banyak aktivitas, yaitu :

a. Memberi identitas proses
b. Menyisipkan proses pada senarai atau tabel proses
c. Menentukan prioritas awal proses
d. Menciptakan PCB
e. Mengalokasikan sumber daya awal bagi proses

Ketika proses baru ditambahkan, sistem operasi membangun struktur data untuk mengelola dan mengalokasikan ruang alamat proses.

Kejadian yang dapat menyebabkan penciptaan proses :
a. Pada lingkungan batch, sebagai tanggapan atas pemberian satu kerja (job)
Sistem operasi dengan kendali batch job, setelah menciptakan proses baru, kemudian melanjutkan membaca job berikutnya.
b. Pada lingkungan interaktif, ketika pemakai baru berusaha logon.
c. Sebagai tanggapan suatu aplikasi, seperti permintaan pencetakan file, Sistem operasi dapat menciptakan proses yang akan mengelola pencetakan itu.
Sistem operasi menciptakan proses untuk memenuhi satu fungsi pada program pemakai, tanpa mengharuskan pemakai menunggu.
d. Proses penciptaan proses lain (proses anak).

Untuk mencapai modularitas atau mengeksploitasi kongkurensi, program pemakai memerintahkan pembuatan sejumlah proses. Proses dapat menciptakan proses baru yaitu anak proses (child process), sedangkan proses yang menciptakannya disebut proses induk (parent process). Proses anakpun kembali dapat menciptakan proses-proses anak lainnya. Proses-proses dapat membentuk pohon hirarki proses.

Tahap-tahap penciptaan proses
Penciptaan proses dapat disebabkan beragam sebab. Penciptaan proses meliputi beberapa tahap :
1. Beri satu identifier unik ke proses baru. Isian baru ditambahkan ke table proses utama yang berisi satu isian perproses.
2. Alokasikan ruang untuk proses.
3. PCB harus diinisialisasi.
4. Kaitan-kaitan antar tabel dan senarai yang cocok dibuat.
5. Bila diperlukan struktur data lain maka segera dibuat struktur data itu.

2. Penjelasan tentang penghancuran/terminasi process (destory a process)
Penghancuran proses melibatkan pembebasan proses dari sistem,
yaitu :
– sumber daya – sumber daya yang dipakai dikembalikan
– proses dihancurkan dari senarai atau tabel sistem
– PCB dihapus (ruang memori PCB dikembalikan ke pool memori
bebas)
Penghancuran proses melibatkan pembebasan proses dari sistem, yaitu :
a. Sumber daya-sumber daya yang dipakai dikembalikan.
b. Proses dihancurkan dari senarai atau tabel sistem.
c. PCB dihapus (ruang memori PCB dikembalikan ke pool memori bebas).

Penghancuran lebih rumit bila proses telah menciptakan proses-proses lain.
Terdapat dua pendekatan, yaitu :
a. Pada beberapa sistem, proses-proses turunan dihancurkan saat proses induk dihancurkan secara otomatis.
b. Beberapa sistem lain menganggap proses anak independen terhadap proses induk, sehingga proses anak tidak secara otomatis dihancurkan saat proses induk dihancurkan.

3. Penundaan Proses (suspend a process)

Penundaan (suspension) adalah operasi penting dan telah diterapkan dengan beragam cara.

Penundaan dapat diinisialisasi oleh proses itu sendiri atau proses lain

Penundaan biasanya berlangsung singkat dan sering dilakukan sistem untuk memindahkan proses-proses tertentu guna mereduksi beban sistem selama beban puncak.

Proses yang ditunda (suspended process) tidak berlanjut sampai proses lain me-resume. Untuk jangka panjang, sumber daya-sumber daya proses dibebaskan.

Pada sistem monoprocessor, proses running dapat men-suspend dirinya sendiri karena lak ada proses lain yang juga running yang dapat memerintahkan suspend.

Pada sistem multiprocessor, proses running dapat di-suspend proses running lain pada pemroses berbeda. Proses ready hanya dapat di-suspend oleh proses lain.

4. Proses Pelanjutan Kembali (resume a process )

Jika sistem berfungsi secara buruk dan mungkin gagal maka proses-proses dapat di- suspend agar di-resume setelah masalab diselesaikan.

Pemakai yang ragu/khawatir mengenai basil proses dapat men-suspend proses [bukan membuang (abort) proses]. Saat pemakai yakin proses akan berfungsi secara benar maka dapat me-resume (melanjutkan kembali di instruksi saat di-suspend) proses yang di-suspend.

Sebagai tanggapan terhadap fluktuasi jangka pendek beban sistem, beberapa proses dapal di-suspend dan di- resume saat beban kembali ke tingkat normal.

5. Pengubahan Prioritas 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. Suatu sistem operasi dapat saja menentukan semua proses dengan prioritas yang sama, sehingga setiap proses memiliki kesempatan yang sama. Suatu sistem operasi dapat juga merubah 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).

6. Proses Blocked

Proses blocked di-suspend sistem atau secara manual menjadi suspendedblocked. Bila akhirnya operasi masukan/keluaran berakhir maka segera proses suspendedblocked mengalami transisi. Karena resume dan suspend mempunyai prioritas tinggi maka transisi segera dilakukan. Suspend dan resume dapat digunakan untuk menyeimbangkan beban sistem saat mengalami lonjakan di atas normal. Proses blocked di-suspend sistem atau secara manual menjadi suspendedblocked. Bila akhirnya operasi masukan/keluaran berakhir maka segera proses suspendedblocked mengalami transisi. Karena resume dan suspend mempunyai prioritas tinggi maka transisi segera dilakukan. Suspend dan resume dapat digunakan untuk menyeimbangkan beban sistem saat mengalami lonjakan di atas normal.

Pada proses blocked terdapat transisi menjadi suspendedblocked. Pilihan ini dirasa aneh. Apakah tidak cukup menunggu selesainya operasi masukan/keluaran atau kejadian yang membual proses ready atau suspendedready? Bukankah state blocked, readyblocked, suspendedblocked sama-sama tidak mendapatjatah waktu pemroses ?Kenapa dibedakan ?

Jawaban

Karena penyelesaian operasi masukan/keluaran bagi proses blocked mungkin tak pernah terjadi atau dalam waktu tak terdefinisikan sehingga lebih baik di-suspend agar sumber daya-sumber daya yang dialokasikan untuk proses tersebut dapat digunakan proses-proses lain.

Proses blocked di-suspend sistem atau secara manual menjadi suspendedblocked. Bila akhirnya operasi masukan/keluaran berakhir maka segera proses suspendedblocked mengalami transisi. Karena resume dan suspend mempunyai prioritas tinggi maka transisi segera dilakukan. Suspend dan resume dapat digunakan untuk menyeimbangkan beban sistem saat mengalami lonjakan di atas normal.

7. Membangunkan Proses
Proses yang baru diciptakan akan segera mempunyai state ready.Proses berstate running menjadi blocked karena sumber daya yang diminta belum tersedia atau meminta layanan perangkat masukan/keluaran sehingga menunggu kejadian muncul. Proses menunggu kejadian alokasi sumber daya atau selesainya layanan perangkat masukan/keluaran (event wait). Proses berstate running menjadi ready karena penjadwal memutuskan eksekusi proses lain karena jatah waktu untuk proses tersebut telah habis.

8. Menjadwalkan proses

Merupakan kumpulan kebjikasanaan di dalam sistem operasi yang berkaitan dengan urutan kerja yang dilakukan sistem komputer. Penjadwalan bertugas untuk memutuskan :

Proses yang harus berjalan Kapan dan selama berapa lama proses berjalan.

Proses Efisiensi : Pemakaian utilitas dihitung dengan perbandingan waktu sibuk pemroses

Waktu tanggap : selang antara perintah terakhir sampai hasil eksekusi pertama 10

Turn arround time waktu yg dihabiskan dari saat program masuk ke sistem sampai proses diselesaikan sistem.

Troughput adalah jumlah kerja yang dapat diselesaikan dalam satu unit waktu.

Proses dapat berubah status dan berpindah dari satu antrian ke antrian yang lain

Proses dengan status “ready” berada di ReadyQueue

Menunggu giliran/dipilih oleh scheduler => menggunakan CPU

Selama eksekusi (status “run”) events yang dapat terjadi:

I/O request => I/O wait berada pada DeviceQueue

Create “child” proses => Jalankan proses “child”, tunggu sampai proses selesai (wait)

Time slice expired => Waktu pemakaian CPU habis, interrupt oleh scheduler, proses akan berpindah ke ReadyQueue.

9. Memungkinkan Proses Berkomunikasi dengan Proses Lain

Komunikasi antar proses 1

Beberapa proses biasanya berkomunikasi dengan proses lainnya. Contohnya pada shell pipe line : output dari proses pertama harus diberikan kepada proses ke dua dan seterusnya.

Komunikasi antar proses 2
Pada beberapa sistem operasi, proses-proses yang bekerja bersama sering sharing (berbagi) media penyimpanan, dimana suatu proses dapat membaca dan menulis pada shared storage (main memory atau files).
komunikasi antar proses 3
Interprocess Communication (IPC)
Mekanisme proses untuk komunikasi dan sinkronisasi aksi Sistem Pesan – komunikasi proses satu dengan yang lain dapat dilakukan tanpa perlu pembagian data. IPC menyediakan dua operasi : send(message) – pesan berukuran pasti atau variabel receive(message) Jika P dan Q melakukan komunikasi, maka keduanya memerlukan :

>> Membangun jalur komunikasi diantara keduanya

>>Melakukan pertukaran pesan melaui send/receive

>> Implementasi jalur komunikasi

>> physical (shared memory, hardware bus)

>> logical (logical properties)

READ MORE - Sistem Operasi