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, kurangnya
keahlian dan pengalaman bisa menyebabkan kesalahan dalam satu tahapan sehingga
menyebabkan siklus ini harus diulangi dari tahapan yang salah. Bisa terjadi
bahwa siklus ini dilakukan sampai berulang-ulang. Dari pihak pengguna, idealnya
perlu bersama-sama dengan pihak pengembang untuk memahami sistem informasi
mulai dari awal siklus hidup pengembangan sistem. Apabila perlu dilakukan
revisi dan pengulangan tahapan siklus hidup pengembangan sistem.
B. 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.
Berbagai metodologi SLC telah dikembangkan untuk memandu proses yang terlibat
termasuk model air terjun (asli metode SLC), pengembangan aplikasi cepat (RAD),
pengembangan aplikasi bersama (JAD), maka air mancur model dan spiral
model.Umumnya, beberapa model digabungkan ke dalam beberapa jenis hibrida
metodologi. Dokumentasi sangat penting berapapun jenis model dipilih atau
dibuat untuk setiap aplikasi, dan biasanya dilakukan bersamaan dengan proses
pembangunan. Beberapa metode kerja lebih spesifik untuk jenis proyek, 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.Pilihan untuk mengubah proses bisnis dapat
dianggap. Berfokus pada desain tingkat tinggi seperti desain, program apa yang
diperlukan dan bagaimana mereka akan berinteraksi, desain tingkat rendah
(bagaimana setiap program akan bekerja), desain interface (antarmuka apa saja
yang akan terlihat seperti) dan data desain (data yang akan diperlukan). Selama
tahap ini, perangkat lunak dari keseluruhan struktur yang ditetapkan. Analisis
dan Desain sangat krusial dalam pembangunan seluruh siklus. Any glitch
dalam tahap desain dapat menjadi sangat mahal untuk memecahkan di kemudian
tahap pengembangan perangkat lunak. Banyak perawatan dilakukan selama tahap
ini. Yang logis sistem produk dikembangkan di tahap ini.
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
ke interrupt 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 call membuat 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.
Elemen-elemen citra proses, sebagai berikut
|
ELEMEN CITRAPROSES
|
KETERANGAN
|
|
|
Data pemakai
|
Bagian yang dapat memodifikasi
berupa data program, daerah stack pemakai.
|
|
|
|
|
Program pemakai
|
Program biner yang dieksekusi.
|
|
|
Stack sistem
|
Digunakan untuk menyimpan
parameter dan alamat pemanggilan untuk prosedur dan system calls
|
|
|
|
|
PCB (Program Control Block)
|
Berisi informasi yang diperlukan
olehsistem operasi dalam mengendalikan proses
|
|
|
Struktur umum tabel-tabel kendali
ditunjukkan pada gambar berikut :
Gambar 5 : Struktur tabel-tabel kendali pada sistem operasi
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. Terdapat juga ruang alamat yang dipakai bersama semua proses.
Ketika diinterupsi, trap atau supervisor call terjadi,pemroses ditempatkan ke
mode kernel dan kendali dilewatkan ke sistem operasi. Konteks pemroses disimpan
dan alih konteks ke rutin sistem operasi.
Eksekusi dilanjutkan dalam proses pemakai saat itu, tidak dilakukan alih
proses, hanya alih konteks di proses yang sama. Jika sistem operasi telah
menyelesaikan tugas, menentukan apakah proses berlanjut, maka alih konteks
meresume program yang diinterupsi dalam proses itu juga. 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.
Terdapat ciri yang sama yaitu banyak lauanan yang secara tradisional merupakan
bagian sistem operasi menjadi subsistem eksternal. Subsistem in berinteraksi dengan
kernel dan subsistem-subsistem lain.
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. DAFTAR PUSTAKA
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