SIKLUS HIDUP SISTEM
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.
D. Refrensi
http://ariearjunaug.blogspot.com/2010/11/dasar-perencanaan-sistem-informasi.html
http://rafqiiachmat.wordpress.com/
http://aqinginbahagia.blogspot.com/2010/11/1-siklus-hidup-sistem.html
http://darkelf89.wordpress.com/2010/11/23/siklus-hidup-system/
http://yustus09.blogspot.com/2011/06/siklus-hidup-system.html
http://fajarnasrullah00.blogspot.com/
Tidak ada komentar:
Posting Komentar