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