SIKLUS HIDUP SISTEM
Sistem Informasi adalah suatu sinergi antara
data, mesin pengolah data (yang biasanya meliputi komputer, program aplikasi
dan jaringan) dan manusia untuk menghasilkan informasi. Jadi sistem informasi
bukan hanya aplikasi perangkat lunak. Sistem Informasi ada pada hampir setiap
perusahaan atau instansi untuk mendukung kegiatan bisnis mereka sehari-hari.
Biasanya porsi pengerjaan pengembangan sistem informasi diserahkan kepada
orang-orang yang bekerja di bidang Teknologi Informasi.
Dalam membangun suatu sistem informasi (dalam hal ini lebih mengacu kepada
pengertian aplikasi perangkat lunak) digunakan metode Siklus Hidup dan
Pengembangan Sistem (System Development Life Cycle atau SDLC). SDLC terdiri
dari sejumlah tahapan yang dilaksanakan secara berurutan. Secara umum tahapan
dari SDLC adalah Perencanaan, analisis, rancangan, penerapan dan penggunaan.
Namun pada prakteknya hal ini tidaklah selalu mulus untuk dilaksanakan. Banyak
faktor yang mempengaruhi keberhasilan pengembangan sistem informasi. Terutama
adalah pada faktor manusia yang terlibat. Dari pihak pengembang
Rumusan
Masalah
a. Bagaimana definisi dari siklus hidup system
b. Tahap-tahap apa saja yang dilalui oleh suatu system dalam aplikasinya pada
suatu perusahaan
B. PEMBAHASAN
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.
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.
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.
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 :
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.
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
sistem operasional®Prototipe jenis I
Prototipe jenis II sbg ceak biru bagi sistem operasional®
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
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 :
· 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
:
· 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.
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.
· 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.
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 :
· 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.
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 :
· 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 :
· 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 :
· 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 :
· 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.
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 :
· 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.
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.
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.
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 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.
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.
C. KESIMPULAN
Bahwa siklus hidup system tidaklah luput dari perencanaan yang matang karena
tanpa perencanaan tersebut maka suatu system tidaklah dapat berjalan
sesuai rencana.