SIKLUS HIDUP SISTEM
Dasar Perencanaan Sistem Informasi Berbasis
Komputer
Implementasi sistem informasi berbasis komputer merupakan aktivitas yang berskala luas yang melibatkan orang dan fasilitas yang banyak, uang dan peralatan dalam jumlah yang besar, dan waktu yang panjang.
Implementasi sistem informasi berbasis komputer merupakan aktivitas yang berskala luas yang melibatkan orang dan fasilitas yang banyak, uang dan peralatan dalam jumlah yang besar, dan waktu yang panjang.
Perencanaan Sistem Informasi Berbasis Komputer juga
mempunyai manfaat, yaitu:
· Memberikan
dasar pengontrolan.
· Mendefinisikan
lingkup proyek;
· Mengatur
urutan tugas;
· Mengetahui
bidang masalah yang potensial;
Siklus Hidup Sistem PENGERTIAN SIKLUS HIDUP SISTEM
Metodologi adalah suatu cara yang disarankan untuk melakukan suatu hal. Pendekatan sistem adalah metodologi dasar untuk memecahkan masalah.
Metodologi adalah suatu cara yang disarankan untuk melakukan suatu hal. Pendekatan sistem adalah metodologi dasar untuk memecahkan masalah.
SIKLUS HIDUP SISTEM (System Life Cycle-SLC)
System Life Cycle (SLC) adalah proses evolusi yang diikuti oleh pelaksanaan system informasi dasar-dasar atau subsistem. Telah ada pendekatan implementasi tradisional sepanjang era komputer, dan ada perjanjian umum antara ahli-ahli komputer sehubungan dengan tugas-tugas yang dilaksanakan.
System Life Cycle (SLC) adalah proses evolusi yang diikuti oleh pelaksanaan system informasi dasar-dasar atau subsistem. Telah ada pendekatan implementasi tradisional sepanjang era komputer, dan ada perjanjian umum antara ahli-ahli komputer sehubungan dengan tugas-tugas yang dilaksanakan.
Adalah penerapan pendekatan sistem untuk pengembangan
sistem atau subsistem informasi berbasis komputer. Sering disebut sebagai
pendekatan air terjun (waterfall approach) bagi pengembangan dan
penggunaan sistem.
tetapi dalam analisis terakhir, faktor yang paling
penting bagi keberhasilan suatu proyek dapat seberapa dekat rencana tertentu
diikuti.
Beberapa SLC terdapat dalam perusahaan yang menggunakan komputer, mungkin ada seratus atau lebih. Pada kenyataannya SLC adalah sarana yang digunakan oleh manajemen untuk melaksanakan rencana strategis. Konsep life cycle menjadikan segala sesuatu yang tumbuh, menjadi dewasa setiap waktu dan akhirnya mati. Pola ini digunakan untuk sistem dasar komputer seperti subsistem pemrosesan data atau SSD.
System Life Cycle terdiri dari lima fase yaitu :
Beberapa SLC terdapat dalam perusahaan yang menggunakan komputer, mungkin ada seratus atau lebih. Pada kenyataannya SLC adalah sarana yang digunakan oleh manajemen untuk melaksanakan rencana strategis. Konsep life cycle menjadikan segala sesuatu yang tumbuh, menjadi dewasa setiap waktu dan akhirnya mati. Pola ini digunakan untuk sistem dasar komputer seperti subsistem pemrosesan data atau SSD.
System Life Cycle terdiri dari lima fase yaitu :
1. Fase Perencanaan
Fase ini dimulai dengan mendefinisikan masalah dan
dilanjutkan dengan sistem penunjukan objektif dan paksaan. Di sini sistem
analis memimpin studi yang mungkin terjadi dan mengemukakan pelaksanaannya pada
manajer.
2. Fase Analisis.
Fase ini mempunyai tugas penting yaitu menunjukkan
kebutuhan pemakai informasi dan menentukan tingkat penampilan sistem yang
diperlukan untuk memuaskan kebutuhan tersebut. Fase ini meliputi penetapan
jangkauan proyek, mengenal resiko, mengatur rangkaian tugas, dan menyediakan
dasar untuk kontrol. Analisis mengumpulkan persyaratan untuk sistem. Tahap ini
meliputi rinci kajian terhadap kebutuhan bisnis organisasi.
3. Fase Desain
Fase Desain ini meliputi penentuan pemrosesan dan data
yang dibutuhkan oleh sistem yang baru, dan pemilihan konfigurasi terbaik dari
hardware yang menyediakan desain. Desain system adalah ketentuan mengenal
proses dan data yang dibutuhkan oleh sistem yang baru. Proses desain akan
menerjemahkan syarat kebutuhan ke sebuah perancangan perangkat lunak yang dapat
diperkirakan sebelum dibuat coding. Proses ini berfokus pada : struktur data,
arsitektur perangkat lunak, representasi interface, dan detail (algoritma)
prosedural. Merancang alir kerja (workflow) dari sistem dalam bentuk diagram
alir (flowchart) atau Data Flow Diagram (DFD). Merancang basis data (database)
dalam bentuk Entity Relationship Diagram (ERD) bisa juga sekalian membuat basis
data secara fisik. Merancang input ouput aplikasi (interface) dan menentukan
form-form dari setiap modul yang ada. Merancang arsitektur aplikasi dan jika
diperlukan menentukan juga kerangka kerja (framework) aplikasi. Pada tahapan
ini atau sebelumnya sudah ditentukan teknologi dan tools yang akan digunakan
baik selama tahap pengembangan (development) maupun pada saat implementasi
(deployment).
4. Fase Pelaksanaan / Implementasi
Fase ini melibatkan beberapa spesialis informasi
tambahan yang mengubah desain dari bentuk kertas menjadi satu dalam hardware,
software, dan data. Pelaksanaan adalah penambahan dan penggabungan antara
sumber-sumber secara fisik dan konseptual yang menghasilkan pekerjaan sistem.
Dalam tahap ini, desain yang sudah diterjemahkan ke dalam kode.Program komputer
yang ditulis menggunakan bahasa pemrograman konvensional atau aplikasi
generator. Alat pemrograman seperti kompiler, Juru, Debuggers digunakan untuk
menghasilkan kode. Berbagai bahasa pemrograman tingkat tinggi seperti C, C ++,
Pascal, Java digunakan untuk coding. Sehubungan dengan jenis aplikasi, hak
bahasa pemrograman yang dipilih.
5. Fase Pemakaian / Penggunaan
Selama fase penggunaan, audit memimpin pelaksanaannya
untuk menjamin bahwa sistem benar-benar dikerjakan, dan pemeliharaannya pun
dilakukan sehingga sistem dapat menyediakan kebutuhan yang diinginkan.
Pada fase 1-3 adalah siklus hidup pengembangan system. Tahap 4 adalah tahap penggunaan (implementasi) yang berlangsung hingga tiba waktunya untuk merancang system itu kembali jika diperlukan. Proses merancang kembali akan mengakibatkan berulangnya siklus hidup sistem secara keseluruhan.
Pada fase 1-3 adalah siklus hidup pengembangan system. Tahap 4 adalah tahap penggunaan (implementasi) yang berlangsung hingga tiba waktunya untuk merancang system itu kembali jika diperlukan. Proses merancang kembali akan mengakibatkan berulangnya siklus hidup sistem secara keseluruhan.
PROTOTYPING
Prototipe memberikan ide bagi pembuat maupun pemakai potensial tentang cara sistem akan berfungsi dalam bentuk lengkapnya. Proses menghasilkan prototipe disebut dengan Prototyping.
Jenis-Jenis Prototipe
Prototipe memberikan ide bagi pembuat maupun pemakai potensial tentang cara sistem akan berfungsi dalam bentuk lengkapnya. Proses menghasilkan prototipe disebut dengan Prototyping.
Jenis-Jenis Prototipe
sistem operasional®Prototipe jenis I Prototipe jenis
II sbg ceak biru bagi sistem operasional®
PENGEMBANGAN PROTOTIPE JENIS I
PENGEMBANGAN PROTOTIPE JENIS I
1. Mengidentifikasikan kebutuhan pemakai
2. Mengembangkan prototipe
3. Menentukan apakah prototipe dapat diterima
4. Menggunakan prototipe
MENGEMBANGKAN PROTOTIPE JENIS II
4. Mengkodekan sistem operasional
5. Menguji sistem operasional
6. Menentukan jika sistem operasional dapat diterima
7. Menggunakan sistem operasional
Daya Tarik Prototyping
• Komunikasi ant. Analis sistem dan pemakai baik
• Analis dpt bekerja lebih baik
• Pamakai berperan aktif
• Spesialis informasi dan pemakai efisien dlm waktu
• Penerapan menjadi mudah
Potensi Kegagalan Prototyping
• Tergesa-gesa dlm mendefinisikan mslh, evaluasi alternatif dokumentasi
• Mengharapkan sesuatu yg tdk realistis dr sistem operasional
• Prototipe jenis I tdk seefisiensi sistem yg dikodekan dlm bhs program
• Hubungan komp-manusia tdk mencerminkan tek.perancangan yg baik
Penerapan yg Berprospek Baik untuk Prototyping
• Risiko tinggi
• Interaksi pemakai penting
• Jumlah pemakai banyak
• Penyelesaian yg cepat diperlukan
• Perkiraan tahap penggunaan sistem yg pendek
• Sistem yg inovatif
• Perilaku pemakai yg sukar ditebak
2. Mengembangkan prototipe
3. Menentukan apakah prototipe dapat diterima
4. Menggunakan prototipe
MENGEMBANGKAN PROTOTIPE JENIS II
4. Mengkodekan sistem operasional
5. Menguji sistem operasional
6. Menentukan jika sistem operasional dapat diterima
7. Menggunakan sistem operasional
Daya Tarik Prototyping
• Komunikasi ant. Analis sistem dan pemakai baik
• Analis dpt bekerja lebih baik
• Pamakai berperan aktif
• Spesialis informasi dan pemakai efisien dlm waktu
• Penerapan menjadi mudah
Potensi Kegagalan Prototyping
• Tergesa-gesa dlm mendefinisikan mslh, evaluasi alternatif dokumentasi
• Mengharapkan sesuatu yg tdk realistis dr sistem operasional
• Prototipe jenis I tdk seefisiensi sistem yg dikodekan dlm bhs program
• Hubungan komp-manusia tdk mencerminkan tek.perancangan yg baik
Penerapan yg Berprospek Baik untuk Prototyping
• Risiko tinggi
• Interaksi pemakai penting
• Jumlah pemakai banyak
• Penyelesaian yg cepat diperlukan
• Perkiraan tahap penggunaan sistem yg pendek
• Sistem yg inovatif
• Perilaku pemakai yg sukar ditebak
Proses dalam sistem operasi berisi
instruksi, data, program counter, register pemroses, stack data, alamat
pengiriman dan variabel pendukung lainnya.
Sistem Operasi – Proses
Terdapat beberapa definisi mengenai proses, antara
lain :
· Merupakan
konsep pokok dalam sistem operasi, sehingga masalah manajemen proses adalah
masalah utama dalam perancangan sistem operasi.
· Proses
adalah program yang sedang dieksekusi.
· Proses
adalah unit kerja terkecil yang secara individu memiliki sumber daya dan
dijadwalkan oleh sistem operasi.
Peran sistem operasi dalam kegiatan proses adalah
mengelola semua proses di sistem dan mengalokasikan sumber daya ke proses
tersebut. Banyak proses yang dijalankan bersamaan, dimana setiap proses
mendapat bagian memori dan kendali sendiri-sendiri (peran SO), sehingga setiap
proses (program) memiliki prinsip :
· Independent,
artinya program-program tersebut berdiri sendiri, terpisah dan saling tidak
bergantung.
· One
program at any instant, artinya hanya terdapat satu proses yang dilayani
pemroses pada satu saat.
Dalam multiprogramming, teknik penanganan proses
adalah dengan mengeksekusi satu proses dan secara cepat beralih ke proses
lainnya (bergiliran), sehingga menimbulkan efek paralel semu (pseudoparallelism).
Pengendalian proses
Dalam pengendalian antar proses, sistem operasi menggunakan metode :
Dalam pengendalian antar proses, sistem operasi menggunakan metode :
· Saling
melanjutkan (interleave), Sistem operasi harus
dapat kembali melanjutkan proses setelah melayani
proses lain.
· Kebijaksaan
tertentu, Sistem operasi harus
mengalokasikan sumber daya ke
proses berdasar prioritasnya.
· Komunikasi
antar proses dan penciptaan proses, Sistem operasi harus mendukung
komunikasi dan penciptaan antar proses (menstrukturkan aplikasi).
Pada sistem dengan banyak proses aktif, proses-proses
pada satu saat berada dalam beragam tahap eksekusinya. Proses mengalami beragam
state (ready, running, blocked) selama siklus hidupnya sebelum berakhir dan
keluar dari sistem. Sistem operasi harus dapat mengetahui state masing-masing
proses dan merekam semua perubahan yang terjadi secara dinamis. Informasi
tersebut digunakan untuk kegiatan penjadwalan dan memutuskan alokasi sumber
daya.
Status (state) proses
Sebuah proses akan mengalami serangkaian state diskrit. Beragam kejadian dapat menyebabkan perubahan state proses. Tiga state tersebut adalah sebagai berikut :
Status (state) proses
Sebuah proses akan mengalami serangkaian state diskrit. Beragam kejadian dapat menyebabkan perubahan state proses. Tiga state tersebut adalah sebagai berikut :
· Running,
Proses sedang mengeksekusi instruksi proses
· Ready, Proses
siap dieksekusi, tetapi proses
tidak tersedia untuk eksekusi proses ini.
· Blocked,
Proses menunggu kejadian untuk
melengkapi tugasnya
Proses yang baru diciptakan akan mempunyai state ready.
· Proses
berstate running menjadi blocked, karena sumbar
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 (time out).
· Proses
berstate blocked menjadi ready saat sumber
daya yang diminta/ diperlukan telah tersedia atau layanan perangkat
masukan/keluaran selesai (event occurs).
· Proses
berstate ready menjadi running, karena penjadwal
memutuskan penggunaan pemroses utnuk proses itu karena proses yang saat itu
running berubah statenya (menjadi ready atau blocked)
atau telah menyelesaikan sehingga disingkirkan dari sistem. Proses menjadi
mendapatkan jatah pemroses.
Diagram state lanjut
Penundaan (suspend) adalah operasi penting dan
telah diterapkan dengan beragam cara. Penundaan biasanya berlangsung singkat.
Penundaan sering dilakukan sistem untuk memindahkan proses-proses tertentu guna
mereduksi beban sistem selama beban puncak.
Proses yang ditunda (suspended blocked) tidak berlanjut sampai proses lain meresume. Untuk jangka panjang, sumber daya-sumber daya proses dibebaskan (dilucuti). Keputusan membebaskan sumber daya-sumber daya bergantung sifat masing-masing sumber daya. Memori utama seharusnya segera dibebaskan begitu proses tertunda agar dapat dimanfaatkan proses lain. Resuming (pengaktifan kembali) proses, yaitu menjalankan proses dari titik (instruksi) dimana proses ditunda.
Proses yang ditunda (suspended blocked) tidak berlanjut sampai proses lain meresume. Untuk jangka panjang, sumber daya-sumber daya proses dibebaskan (dilucuti). Keputusan membebaskan sumber daya-sumber daya bergantung sifat masing-masing sumber daya. Memori utama seharusnya segera dibebaskan begitu proses tertunda agar dapat dimanfaatkan proses lain. Resuming (pengaktifan kembali) proses, yaitu menjalankan proses dari titik (instruksi) dimana proses ditunda.
Operasi suspend dan resume penting,
sebab :
· Jika
sistem berfungsi secara buruk dan mungkin gagal maka proses-proses
dapat disuspend agar diresume setelah masalah diselesaikan. Contoh ada proses pencetakan, bila tiba-tiba kerta habis maka proses disuspend. Setelah kertas dimasukkan kembali, proses pun dapat diresume.
dapat disuspend agar diresume setelah masalah diselesaikan. Contoh ada proses pencetakan, bila tiba-tiba kerta habis maka proses disuspend. Setelah kertas dimasukkan kembali, proses pun dapat diresume.
· Pemakai
yang ragu/khawatir mengenai hasil prose dapat mensuspend proses (bukan membuang
(abort) proses). Saat pemakai yakin proses akan berfungsi secara benar
maka dapat me-resume (melanjutkan kembali di instruksi saat disuspend) proses
yang disuspend.
· Sebagai
tanggapan terhadap fluktuasi jangka pendek beban sistem, beberapa proses dapat
disuspend dan diresume saat beban kembali ke tingkat
normal.
Dua state baru dimasukkan sehingga membentuk diagram
5 state, yaitu :
· Suspended
ready
· Suspended
blocked
Penundaan dapat diinisialisasi oleh proses itu sendiri
atau proses lain.
· Pada
sistem monoprocessor, proses running dapat mensuspend dirinya
sendiri karena tak ada proses lain yang juga running yang dapat
memerintahkan suspend.
· Pada
sistem multiprocessor, proses running dapat disuspend proses
running lain pada pemroses berbeda. Proses ready hanya dapat di suspend oleh
proses lain.
Pada proses blocked terdapat transisi
menjadi suspended blocked. Pilihan ini dirasa aneh. Apakah tidak
cukup menunggu selesainya operasi masukan/keluaran atau kejadian yang membuat
proses ready atau suspended ready?. Bukankah state blocked, ready blocked,
suspended blocked sama-sama tidak mendapat jatah waktu pemroses ?. Kenapa
dibedakan ?.
Alasannya, karena penyelesaian operasi masukan/keluaran bagi proses blocked mungkin tak pernah terjadi atau dalam waktu tak terdefinisikan sehingga lebih baik disuspend agar sumber daya-sumber daya yang dialokasikan untuk proses tersebut dapat digunakan proses-proses lain. Untuk kondisi ini, lebih baik sumber daya-sumber daya yang dipegang proses yang berkondisi seperti ini dipakai proses-proses lain. Proses blocked disuspend sistem atau secara manual menjadi suspended blocked.
Bila akhirnya operasi masukan/keluaran berakhir maka segera proses suspended blocked 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.
Alasannya, karena penyelesaian operasi masukan/keluaran bagi proses blocked mungkin tak pernah terjadi atau dalam waktu tak terdefinisikan sehingga lebih baik disuspend agar sumber daya-sumber daya yang dialokasikan untuk proses tersebut dapat digunakan proses-proses lain. Untuk kondisi ini, lebih baik sumber daya-sumber daya yang dipegang proses yang berkondisi seperti ini dipakai proses-proses lain. Proses blocked disuspend sistem atau secara manual menjadi suspended blocked.
Bila akhirnya operasi masukan/keluaran berakhir maka segera proses suspended blocked 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.
Program Control Block (PCB)
Struktur data PCB menyimpan informasi lengkap mengenai
proses sehingga dapat terjadi siklus hidup proses. Sistem operasi memerlukan
banyak informasi mengenai proses guna pengelolaan proses. Informasi ini berada
di PCB. Sistem berbeda akan mengorganisasikan secara berbeda.
Informasi dalam PCB :
Informasi identifikasi proses
Informasi ini berkaitan dengan identitas proses yang
berkaitan dengan tabel lainnya. Informasi tersebut meliputi :
· Identifier
proses
· Identifier
proses yang menciptakan
· Identifier
pemakai
Informasi status pemroses
Informasi tentang isi register-register pemroses. Saat
proses berstatus running, informasi tersebut berada diregister-register. Ketika
proses diinterupsi, semua informasi register
harus disimpan agar dapat
dikembalikan saat proses
dieksekusi kembali. Jumlah dan jenis register yang terlibat tergantung arsitektur komputer. Informasi status terdiri dari :
dieksekusi kembali. Jumlah dan jenis register yang terlibat tergantung arsitektur komputer. Informasi status terdiri dari :
· Register-register
yang terlihat pemakai, adalah register-register yang dapat
ditunjuk instruksi bahasa assembly untuk diproses pemroses.
· Register-register
kendali dan status, Adalah register-register yang digunakan
untuk mengendalikan operasi pemroses.
· Pointer
stack, tiap proses mempunyai satu atau lebih stack, yang
digunakan untuk parameter atau alamat prosedur pemanggil dan system call.
Pointer stack menunjukkan posisi paling atas dari stack.
Informasi kendali proses
Informasi kendali proses adalah informasi lain yang
diperlukan sistem operasi untuk mengendalikan dan koordinasi beragam proses
aktif. Informasi kendali terdiri dari :
· Informasi
penjadwalan dan status, Informasi-informasi yang digunakan untuk
menjalankan fungsi penjadwalan, antara lain :
· Status
proses, Mendefinisikan keadaan/status proses (running, ready,
blocked)
· Prioritas, Menjelaskan
prioritas proses.
· Informasi
berkaitan dengan penjadwalan, Berkaitan dengan informasi
penjadwalan, seperti lama menunggu, lama proses terakhir dieksekusi.
· Kejadian, Identitas
kejadian yang ditunggu proses.
· Penstrukturan
data, satu proses dapat dikaitkan dengan proses lain dalam satu antrian
atau ring, atau struktur lainnya. PCB harus memiliki pointer untuk mendukung
struktur ini.
· Komuikasi
antar proses, beragam flag, sinyal
dan pesan dapat diasosiasikan dengan komunikasi
antara dua proses yang terpisah.
· Manajemen
memori Bagian yang berisi pointer ke tabel segmen atau page yang
menyatakan memori maya (virtual memory) proses.
· Kepemilikan
dan utilisasi sumber daya, sumber daya yang dikendalikan proses harus
diberi tanda, misalnya :
Informasi ini diperlukan oleh penjadwal.
Struktur citra proses digambarkan berurutan di satu ruang alamat. Implementasi penempatan citra proses yang sesungguhnya bergantung skema manajemen memori yang digunakan dan organisasi struktur kendali sistem operasi.
Struktur citra proses digambarkan berurutan di satu ruang alamat. Implementasi penempatan citra proses yang sesungguhnya bergantung skema manajemen memori yang digunakan dan organisasi struktur kendali sistem operasi.
Operasi-operasi pada proses
Sistem operasi dalam mengelola proses dapat melakukan
operasi-operasi terhadap proses. Operasi tersebut adalah :
· Penciptaan
proses
· Penghancuran/terminasi
proses
· Penundaan
proses
· Pelanjutan
kembali proses
· Pengubahan
prioritas proses
· Memblok
proses
· Membangunkan
proses
· Menjadwalkan
proses
· Memungkinkan
proses berkomunikasi dengan proses lain
Penciptaan proses
Melibatkan banyak aktivitas, yaitu :
· Memberi
identitas proses
· Menyisipkan
proses pada senarai atau tabel proses
· Menentukan
prioritas awal proses
· Menciptakan
PCB
· 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 :
Tahap-tahap penciptaan proses
Penciptaan proses dapat disebabkan beragam sebab.
Penciptaan proses meliputi beberapa tahap :
· Beri
satu identifier unik ke proses baru. Isian baru ditambahkan ke tabel proses
utama yang berisi satu isian perproses.
· Alokasikan
ruang untuk proses.
· PCB
harus diinisialisasi.
· Kaitan-kaitan
antar tabel dan senarai yang cocok dibuat.
· Bila
diperlukan struktur data lain maka segera dibuat struktur data itu.
Penghancuran proses
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 lebih rumit bila proses telah menciptakan
proses-proses lain. Terdapat dua pendekatan, yaitu :
· Pada
beberapa sistem, proses-proses turunan dihancurkan saat proses induk
dihancurkan secara otomatis.
· Beberapa
sistem lain menganggap proses anak independen terhadap proses induk, sehingga
proses anak tidak secara otomatis dihancurkan saat proses induk dihancurkan.
Alasan-alasan penghancuran proses, sebagai berikut.
Pengalihan proses
Kelihatannya pengalihan proses (process switching)
adalah sepele. Pada suatu saat, proses running diinterupsi dan
sistem operasi memberi proses lain state running dan menggilir
kendali ke proses itu.
Dalam hal ini muncul beberapa masalah, yaitu :
Dalam hal ini muncul beberapa masalah, yaitu :
· Kejadian-kejadian
apa yang memicu alih proses ?
· Masalah
lain adalah terdapatnya perbedaan antara
alih proses (process switching) dan alih konteks (context
switching).
· Apa
yang harus dilakukan sistem operasi terhadap beragam struktur data yang dibawah
kendalinya dalam alih proses ?
Kejadian-kejadian penyebab pengalihan proses
Kejadian-kejadian yang menyebabkan terjadinya alih
proses adalah :
· Interupsi
sistem, disebabkan kejadian eksternal dan tak bergantung proses
yang saat itu sedang running. Contoh : selesainya operasi masukan/keluaran.
Pada kejadian interupsi, kendali lebih dulu ditransfer keinterrupt handler yang
melakukan penyimpanan data-data dan kemudian beralih ke rutin sistem operasi
yang berkaitan dengan tipe interupsi itu. Tipe-tipeinterupsi antara lain :
· Trap, Adalah
interupsi karena terjadinya kesalahan atau kondisi kekecualian (exception
conditions) yang dihasilkan proses yang running, seperti usaha illegal
dalam mengakses file. Dengan trap, sistem operasi menentukan apakah kesalahan
yang dibuat merupakan kesalahan fatal ?
Kemungkinan yang dilakukan adalah menjalankan prosedur
pemulihan atau memperingkatkan ke pemakai. Saat terjadi trap, mungkin terjadi
pengalihan proses mungkin pula resume proses.
· Supervisor
call, yaitu panggilan meminta atau mengaktifkan bagian sistem operasi.
Contoh: Proses pemakai running meminta layanan masukan/keluaran seperti membuka
file. Panggilan ini menghasilkan transfer ke rutin bagian sistem operasi.
Biasanya, penggunaan system callmembuat proses pemakai blocked karena
diaktifkan proses kernel (sistem operasi).
Pengalihan konteks
Pengalihan konteks dapat terjadi tanpa pengalihan
state process yang sedang running, sedang pengalihan proses pasti melibatkan
juga pengalihan konteks.
Siklus penanganan interupsi adalah :
Siklus penanganan interupsi adalah :
· Pemroses
menyimpan konteks program saat itu yang sedang dieksekusi ke stack.
· Pemroses
menset register PC dengan alamat awal program untuk interuppet handler.
· Setelah
kedua aktivitas itu, pemroses melanjutkan menjalankan instruksi-instruksi
berikutnya di interuppt handler yang melayani interrupt.
· Pelaksanaan
interupsi ini belum tentu mengakibatkan pengalihan ke proses lain (yaitu
pengalihan PCB proses dari senarai running ke senarai lain (blocked, ready),
dan sebaliknya. Kita menyebut pengalihan konteks adalah untuk pengalihan
sementara yang singkat, misalnya untuk mengeksekusi program interrupt handler.
· Setelah
penanganan interupsi selesa maka konteks yang terdapat pada stack dikembalikan
sehingga kembali ke konteks proses semula tanpa terjadi pengalihan ke proses
lain. Pengalihan proses terjadi jika proses yang running beralih menjadi state
lain (ready, blocked), kemudian sistem operasi harus membuat
perubahan-perubahan berarti terhadap lingkungannya. Rincian-rincian dalam
pelaksanaan pengalihan proses dibahas setelah ini.
Pengalihan proses
Pengalihan proses terjadi jika proses yang running
beralih menjadi state lain (ready, blocked) kemudian sistem operasi
membuat perubahan-perubahan berarti terhadap lingkungan.
Langkah-langkah yang terlibat dalam pengalihan proses sebagai berikut :
Langkah-langkah yang terlibat dalam pengalihan proses sebagai berikut :
· Simpan
konteks pemroses, termasuk register PC dan register-register lain.
· Perbarui
PCB proses yang running. Pelaksanaan termasuk mengubah state proses menjadi
salah satu state (ready, blocked, suspendedready).
· Field-field
yang relevan juga diperbarui misalnya alasan meninggalkan state running dan
informasi akunting.
· Pindahkan
PCB proses ke senarai yang cocok (ready, blocked).
· Pilih
satu proses lain untuk dieksekusi sesuai dengan teknik penjadwalan.
· Perbarui
PCB proses yang dipilih termasuk perubahan state menjadi running.
· Perbarui
struktur-struktur data manajemen memori. Pekerjaan ini sesuai dengan
pengelolaan translasi alamat.
· Kembalikan
konteks pemroses dengan konteks simpanan yang memberitahu konteks proses
terakhir saat dialihkan dari state running. Pengembalian konteks ini dilakukan
dengan memuatkan nilai-nilai register PC dan register-register lain dengan
nilai konteks yang tersimpan.
· Pengalihan
proses melibatkan pengalihan konteks dan perubahan state, memerlukan usaha
lebih besar daripada pengalihan konteks.
Tabel-tabel proses
Tiap proses mempunyai state yang perlu diperhatikan sistem
operasi yang dicatat dalam beragam tabel atau senarai yang saling berhubungan,
yaitu :
· Tabel
informasi manajemen memori, Untuk menjaga keutuhan memori utama
dan memori sekunder yang menyimpan informasi tentang :
· Tabel
informasi manajemen masukan/keluaran, Untuk mengelola perangkat
masukan/keluaran, dimana perangkat tersebut digunakan proses tertenty, sehingga
perlu dijaga agar proses lain tidak memakainya. Sistem operasi perlu mengetahui
status operasi masukan/keluaran dan lokasi memori utama yang digunakan untuk
transfer data.
· Tabel
informasi sistem file, Berisi informasi mengenai ekstensi file, lokasi
pada memori sekunder, status saat itu dan menyimpan atribut-atribut file
lainnya.
· Tabel
proses, Untuk mengelola informasi proses di sistem operasi,
lokasinya di memori, status dan atribut proses lainnya.
Proses ditempatkan di memori utama di lokasi tertentu,
proses mempunyai satu ruang alamat tersendiri. Ruang alamat yang digunakan
proses disebut citra proses (process image), karena selain seluruh kode biner
program, proses ditambahi atribut-atribut lain yang berkaitan penempatannya
pada suatu lokasi memori dan status eksekusi pada saat itu.
PCB dan senarai proses
PCB berisi informasi mengenai proses yang diperlukan sistem operasi. PCB dibaca dan /atau dimodifikasi rutin sistem operasi seperti penjadwalan, alokasi sumber daya, pemrosesan interupsi, monitoring dan analisis kinerja. Kumpulan PCB mendefinisikan state sistem operasi. Untuk menyatakan senarai proses di sistem operasi dibuat senarai PCB.
Diagram memperlihatkan hanya satu PCB berada di senarai running. PCB ini menyatakan proses yang saat itu sedang dieksekusi pemroses sehingga hanya satu proses yang running. Tentu saja ini tidak berlaku untuk multiprocessing yang dapat mengeksekusi lebih dari satu proses sekaligus.
Prose-proses ready digambarkan dengan PCB proses-proses di senarai ready. Proses-proses menunggu dijadwalkan untuk dieksekusi pemroses. Proses yang dijadwalkan dieksekusi (yaitu mengalami transisi dari state ready menjadi running) maka PCBnya dipindah dari senarai ready ke senarai running.
Proses running (PCB-nya berada di senarai running) dipindah sesuai state yang dialami proses itu, sebagai berikut :
PCB berisi informasi mengenai proses yang diperlukan sistem operasi. PCB dibaca dan /atau dimodifikasi rutin sistem operasi seperti penjadwalan, alokasi sumber daya, pemrosesan interupsi, monitoring dan analisis kinerja. Kumpulan PCB mendefinisikan state sistem operasi. Untuk menyatakan senarai proses di sistem operasi dibuat senarai PCB.
Diagram memperlihatkan hanya satu PCB berada di senarai running. PCB ini menyatakan proses yang saat itu sedang dieksekusi pemroses sehingga hanya satu proses yang running. Tentu saja ini tidak berlaku untuk multiprocessing yang dapat mengeksekusi lebih dari satu proses sekaligus.
Prose-proses ready digambarkan dengan PCB proses-proses di senarai ready. Proses-proses menunggu dijadwalkan untuk dieksekusi pemroses. Proses yang dijadwalkan dieksekusi (yaitu mengalami transisi dari state ready menjadi running) maka PCBnya dipindah dari senarai ready ke senarai running.
Proses running (PCB-nya berada di senarai running) dipindah sesuai state yang dialami proses itu, sebagai berikut :
· Bila
proses berakhir (selesai) maka dijalankan operasi terminasi sehingga PCB-nya
tak ada lagi.
· Bila
proses diblocked karena menunggu alokasi sumber daya maka PCBnyadipindah ke
senarai blocked.
· Bila
proses dijadwalkan habis jatah waktu eksekusinya maka PCBnya dipindahkan ke
senarai ready.
· Proses
yang sedang blocked berpindah menjadi ready bila sumber daya
yang ditunggu telah teralokasi untuknya. Untuk itu PCBnya dipindahkan ke
senarai ready.
Pengaksesan informasi di PCB
Rutin-rutin sistem operasi perlu mengakses informasi
di PCB. Tiap proses dilengkapi ID unik yang digunakan sebagai indeks (penunjuk)
ke tabel untuk mengambil PCB.
Kesulitan bukan pada mekanisme pengaksesan, tetapi masalah proteksi terhadap PCB. Dua masalah utama proteksi terhadap PCB, yaitu :
Bug (kesalahan pemrograman) pada rutin tunggal, misalnya interrupt handler dapat merusak PCB sehingga dapat berakibat menghancurkan kemampuan sistem mengelola proses-proses yang diasosiasikan dengan PCB.
Perubahan rancangan struktur dan semantiks PCB dapat berdampak ke sejumlah modul sistem operasi yang memakai PCB.
Kedua masalah tersebut memberi gagasan agar semua rutin sistem operasi melewati satu rutin khusus, yaitu rutin penanganan PCB dalam mengakses PCB. Tugas rutin adalah memproteksi PCB dan menjadi perantara pembacaan dan penulisan PCB. Masalah pertama dapat dicegah karena rutin penanganan PCB akan selalumenjaga agar PCB tidak rusak. Masalah kedua jelas langusng teratasi karena antarmuka terhadap rutin-rutin lain masih tetap dipertahankan walau rincian-rincian PCB diubah.
Rutin-rutin sistem operasi yang memakai antarmuka tidak perlu diubah. Teknik ini menghendaki didefinisikan antarmuka rutin penanganan PCB dan rutin-rutin lain dengan baik. Kelemahan teknik ini adalah adanya overhead kinerja karena harus memanggil rutin penanganan PCB. Pengaksesan langsung terhadap PCB tentu lebih cepat daripada harus memanggil rutin penanganan PCB.
Kesulitan bukan pada mekanisme pengaksesan, tetapi masalah proteksi terhadap PCB. Dua masalah utama proteksi terhadap PCB, yaitu :
Bug (kesalahan pemrograman) pada rutin tunggal, misalnya interrupt handler dapat merusak PCB sehingga dapat berakibat menghancurkan kemampuan sistem mengelola proses-proses yang diasosiasikan dengan PCB.
Perubahan rancangan struktur dan semantiks PCB dapat berdampak ke sejumlah modul sistem operasi yang memakai PCB.
Kedua masalah tersebut memberi gagasan agar semua rutin sistem operasi melewati satu rutin khusus, yaitu rutin penanganan PCB dalam mengakses PCB. Tugas rutin adalah memproteksi PCB dan menjadi perantara pembacaan dan penulisan PCB. Masalah pertama dapat dicegah karena rutin penanganan PCB akan selalumenjaga agar PCB tidak rusak. Masalah kedua jelas langusng teratasi karena antarmuka terhadap rutin-rutin lain masih tetap dipertahankan walau rincian-rincian PCB diubah.
Rutin-rutin sistem operasi yang memakai antarmuka tidak perlu diubah. Teknik ini menghendaki didefinisikan antarmuka rutin penanganan PCB dan rutin-rutin lain dengan baik. Kelemahan teknik ini adalah adanya overhead kinerja karena harus memanggil rutin penanganan PCB. Pengaksesan langsung terhadap PCB tentu lebih cepat daripada harus memanggil rutin penanganan PCB.
Kedudukan sistem operasi
Sistem operasi pada dasarnya adalah sepert perangkat
lunak lain, yaitu program yang perlu dieksekusi pemroses.
Kedudukan sistem operasi dibanding proses-proses lain, adalah :
Kedudukan sistem operasi dibanding proses-proses lain, adalah :
· Sistem
operasi sebagai kernel tersendiri yang berbeda dengan proses-proses lain
(kernel sebagai non-proses).
· Fungsi-fungsi
sistem operasi dieksekusi dalam proses pemakai.
· Sistem
operasi juga sebagai kumpulan proses
(process based operating systems).
Kernel sebagai non proses
Ketika proses running diinterupsi
atau memanggil system call, maka konteks pemroses proses ini
disimpan dan kendali dilewatkan ke kernel. Sistem operasi mempunyai daerah
memori dan stack sendiri untuk pemanggilan prosedur.
Sistem operasi melakukan fungsi yang diinginkan dan mengembalikan konteks proses yang diinterupsi. Eksekusi proses pemakai yang diinterupsi dilanjutkan. Alternatif lain, sistem operasi menyimpan lingkungan proses, melakukan penjadwalan dan menjadwalkan proses lain.
Konsep proses hanya diterapkan untuk program-program pemakai. Kode sistem operasi dieksekusi sebagai satu entitas terpisah, beroperasi pada mode kernel. Proses adalah non-kernel, sedang sistem operasi adala kernel yang bukan proses.
Sistem operasi melakukan fungsi yang diinginkan dan mengembalikan konteks proses yang diinterupsi. Eksekusi proses pemakai yang diinterupsi dilanjutkan. Alternatif lain, sistem operasi menyimpan lingkungan proses, melakukan penjadwalan dan menjadwalkan proses lain.
Konsep proses hanya diterapkan untuk program-program pemakai. Kode sistem operasi dieksekusi sebagai satu entitas terpisah, beroperasi pada mode kernel. Proses adalah non-kernel, sedang sistem operasi adala kernel yang bukan proses.
Dieksekusi dalam proses pemakai
Alternatif lain dieksekusi sistem operasi adalah mengeksekusi sistem operasi di konteks proses pemakai. Pendekatan ini didasarkan terutama pada pandangan bahwa sistem operasi sebagai kumpulan rutin yang dipanggil pemakai untuk melakukan beragam fungsi dan dieksekusi dalam lingkungan proses pemakai.
Alternatif lain dieksekusi sistem operasi adalah mengeksekusi sistem operasi di konteks proses pemakai. Pendekatan ini didasarkan terutama pada pandangan bahwa sistem operasi sebagai kumpulan rutin yang dipanggil pemakai untuk melakukan beragam fungsi dan dieksekusi dalam lingkungan proses pemakai.
Pada seluruh waktu, sistem operasi mengelola N citra
proses. Tiap citra tidak hanya mempunyai daerah untuk proses tapi juga daerah
program, data dan stack untuk kernel.
Keunggulan pendekatan ini adalah program pemakai yang
diinterupsi untuk memperoleh rutin sistem operasi dan diresume tidak mengalami
overhead peralihan dua proses.
Jika sistem operasi menentukan bahwa alih proses terjadi bukan kembali ke proses semula yang dieksekusi, maka kendali dilewatkan ke rutin alih proses. Rutin ini boleh dijalankan pada proses boleh juga tidak, bergantung rancangan sistem. Pada keadaan ini, proses saat itu menjadi state non-running dan proses lain menjadi running.
Jika sistem operasi menentukan bahwa alih proses terjadi bukan kembali ke proses semula yang dieksekusi, maka kendali dilewatkan ke rutin alih proses. Rutin ini boleh dijalankan pada proses boleh juga tidak, bergantung rancangan sistem. Pada keadaan ini, proses saat itu menjadi state non-running dan proses lain menjadi running.
Sistem operasi sebagai kumpulan proses
Pendekatan ini mengimplementasikan sistem operasi sebagai kumpulan proses.
Pendekatan ini digambarkan pada gambar berikut :
Variannya adalah perangkat lunak bagian kernel dieksekusi dalam mode kernel. Fungsi-fungsi kernel utama diorganisasi sebagai proses-proses terpisah. Terdapat kode kecil pengalihan proses yang dieksekusi di luar proses.
Pendekatan ini mengimplementasikan sistem operasi sebagai kumpulan proses.
Pendekatan ini digambarkan pada gambar berikut :
Variannya adalah perangkat lunak bagian kernel dieksekusi dalam mode kernel. Fungsi-fungsi kernel utama diorganisasi sebagai proses-proses terpisah. Terdapat kode kecil pengalihan proses yang dieksekusi di luar proses.
Pendekatan ini mempunyai beberapa keunggulan, yaitu :
Mikrokernel
Saat ini, mikrokernel mendapat banyak perhatian. Mikrokernel adalah inti sistem operasi yang menyebabkan landasan perluasan sistem operasi. Pendekatan mikrokernel dipopularkan sistem operasi MACH. Secara teoritis, pendekatan mikrokernel menyediakan derajat fleksibilitas dan modularitas tinggi. Sistem operasi yang memakai pendekatan mikrokernel adalah MS Windows NT. Landasan pendekatan mikrokernel adalah hanya fungsi-fungsi sistem operasi inti yang secara mutlak esensi yang harus berada di kernel. Layanan-layanan dan aplikasi-aplikasi yang kurang esensi dibangin diatas mikrokernel itu. Meskipun pembagian antara yang perlu dan tidak perlu ada di mikrokernel beragam.
Saat ini, mikrokernel mendapat banyak perhatian. Mikrokernel adalah inti sistem operasi yang menyebabkan landasan perluasan sistem operasi. Pendekatan mikrokernel dipopularkan sistem operasi MACH. Secara teoritis, pendekatan mikrokernel menyediakan derajat fleksibilitas dan modularitas tinggi. Sistem operasi yang memakai pendekatan mikrokernel adalah MS Windows NT. Landasan pendekatan mikrokernel adalah hanya fungsi-fungsi sistem operasi inti yang secara mutlak esensi yang harus berada di kernel. Layanan-layanan dan aplikasi-aplikasi yang kurang esensi dibangin diatas mikrokernel itu. Meskipun pembagian antara yang perlu dan tidak perlu ada di mikrokernel beragam.
Layanan-layanan itu antara lain sistem file, sistem
windowing dan layanan-layanan keamanan.
Komponen-komponen sistem operasi
di luar mikrokernel saling berinteraksi
melalui pesan yang dilewatkan melalui mikrokernel. Fungsi mikrokernel adalh
sebagai mediator pertukaran pesan.
Mikrokernel memvalidasi pesan,
melewatkan pesan antara komponen-komponen dan memberi hak pengaksesan perangkat
keras. Struktur ini ideal untuk lingkungan pemrosesan terdistribusi karena
mikrokernel dapat melewatkan pesan baik secara lokal atau jarak jauh tanpa
perubahan komponen-komponen sistem operasi yang lain.
Refrensi :