Sistem operasi komputer adalah seperangkat program yang beroperasi
dalam pengelolaan sumber daya perangkat keras komputer dan juga berperan dalam melakukan
kontrol terhadap operasi dasar sistem, termasuk menjalankan perangkat lunak
(software) beragam aplikasi yang biasa digunakan oleh para pengguna komputer seperti program pengolah
data dan lainnya. Sistem operasi dalam bahasa Inggrisnya disebut Operating
System, atau biasa di singkat dengan OS.
Sistem operasi komputer merupakan software tingkat pertama yang berjalan pada saat komputer dinyalakan, sistem operasi ini diletakkan pada memori komputer yaitu Hardisk. Setelahsistem operasi berjalan, maka software-software lainnya dapat dijalankan. Sistem operasi inilah yang memberikan layanan inti umum terhadap software lain yang dijalankan, layanan inti umum tersebut berupa skeduling task, manajemen memori, antar-muka user, dan akses ke disc. Bagian kode yang melakukan layanan inti umum tersebut dinamakan dengan kernel suatu sistem operasi.
Sistem operasi komputer berperan dalam menjamin setiap aplikasi yang berbeda dapat berjalan lancar secara bersamaan tanpa hambatan. Selain itu, sistem operasi juga memberikan kontribusi penuh dalam menghubungkan kinerja lapisan hardware dan lapisan software. Sistem operasi akan mengatur jadwal dari aplikasi-aplikasi yang berjalan secara bersamaan, sehingga setiap aplikasi mendapatkan waktu yang tepat dan cukup untuk menggunakan CPU dan juga memori, jadi tidak akan saling mengganggu kinerja masing-masing aplikasi.
Sistem operasi komputer merupakan software tingkat pertama yang berjalan pada saat komputer dinyalakan, sistem operasi ini diletakkan pada memori komputer yaitu Hardisk. Setelahsistem operasi berjalan, maka software-software lainnya dapat dijalankan. Sistem operasi inilah yang memberikan layanan inti umum terhadap software lain yang dijalankan, layanan inti umum tersebut berupa skeduling task, manajemen memori, antar-muka user, dan akses ke disc. Bagian kode yang melakukan layanan inti umum tersebut dinamakan dengan kernel suatu sistem operasi.
Sistem operasi komputer berperan dalam menjamin setiap aplikasi yang berbeda dapat berjalan lancar secara bersamaan tanpa hambatan. Selain itu, sistem operasi juga memberikan kontribusi penuh dalam menghubungkan kinerja lapisan hardware dan lapisan software. Sistem operasi akan mengatur jadwal dari aplikasi-aplikasi yang berjalan secara bersamaan, sehingga setiap aplikasi mendapatkan waktu yang tepat dan cukup untuk menggunakan CPU dan juga memori, jadi tidak akan saling mengganggu kinerja masing-masing aplikasi.
Fungsi Sistem Operasi (OS)
Komputer
1. Sebagai penghubung antara pengguna dangan
program aplikasi.
2. Sebagai pengatur penggunaan perangkat keras
oleh berbagai program aplikasi serta para user.
3. Sebagai pengawas penggunaan perangkat keras,
program aplikasi dan user (resource allocator).
4. Sebagai pengendali yang bertujuan untuk
menghindari kekeliruan (error) dan penggunaan komputer yang tidak perlu.
Peran system operasi adalah untuk membuka suatu system computer.
Tanpa system operasi computer tidak mungkin bisa login untuk memproses program
selanjutnya.
Tujuan system operasi :
1.
System operasi membuat
computer menjadi lebih mudah dan menarik serta nyaman untuk digunakan
2.
Os memungkinkan
sumberdaya computer digunakan secara efisien
3.
Os yg
disusun/deprogram sedemikian rupa memungkinkan menerima perubahan /
pengembangan baru yg efektif dan efisien, dpt melakukan pengujian system tanpa
menggangu layanan yg elah ada
Status Proses
a. New :
pembentukan suatu proses
b. Running :
instruksi” yg sedang dieksekusi
c. Waiting :
proses menunggu untuk beberapa event yg terjadi
d. Ready : proses menunggu untuk dialirkan ke prosesor
e. Terminated :
prosestelah selesai dieksekusi
KONSEP DASAR
Secara informal, proses adalah program dalam eksekusi. Suatu
proses adalah lebih dari kode program dimana kadang kata dikenal sebagai
tulisan. Proses juga termasuk aktifitas yg sedang terjadi sebagaimana
digambarkan oleh nilai pada program counter dan isi dari processor register.
Suatu proses umumnya juga termasuk proses stack yg berisikan data temporer dan
sebuah data section yg berisikan variable global.
PERBEDAAN ALGORITMA
PENJADWALAN PROSES
FCFS
SJF
Round Robin :
hamper mirip dengan FCFS akan tetapi terdapat proses perpindahan antar proses
dimana suatu proses melakukan interupsi terhadap proses yang lainnya.
MULTI PROGRAMMING : menjalankan 2 atau lebih
program sekaligus dalam pelaksanaan proses
DISPATCHER : suatu modul yg akan memberikan
control pada CPU terhadap penyeleksian proses yg dilakukan selama shorting-term
scheduling
PREEMptiVE : kemampuan system operasi untuk
memberhentikan sementaraa proses yg sedang berjalan untuk member ruang kepada
proses yang prioritasnya lebih tinggi
NON PREEMPTIVE : salah satu jenis penjadwalan
dimana system operasi tidak pernah melakukan context switch dari proses yg
seadang berjalan ke proses lain.
MUTUAL EXCLUSION : adalah suatu cara yg menjamin jika
ada sebuah proses yg menggunakan variable atau berkas ygsama (dignakan jg oleh
proses lain), maka proses lain akan dikeluarkan dr pekerjaan yg sama
KONKURENSI :
adalah proses2 YG TERJADI PADA SAAT BERSAMAAN
deathlock :
kEADAan dimana 2 ATAU LEBIH proses
SALING MENUNGGU MEMINTA RESOURCES UNTUK WAKTU YG TIDAK TERBATAS LAMANYA
startvation :
KONDISI YG BIASANYA TERJADI SETELAH DEATH LOCK. PROSES YG KEKURANGAN RESOURCE
(KRN TERJADI DEATH LOCK) TIDAK AKAN PERNAH MENDAPAT RESOURCE YG DIBUTUHKAN
SEHINGGA MENGALAMI STARTVATION(KELAPARAN)
koNKURENSI DAPAT MUNCUL KARENA :
1. ALOKASI
WAKTU PEMROSES UNTUK PROSES”
2. PEMAKAIAN
BERSAMA DAN PERSAINGAN UNTUK MENDAPATKAN SUMBERDAYA
3. KOMUNIKASI
ANTAR PROSES
4. SINKRONISASI
AKTIFITAS BANYAK PROSES
PENYELESAIAN MASALAH KONKURENSI :
1.
MENNGASUMSIKAN ADANYA MEMORI YG DIGUNAKAN
BERSAMA
2.
TIDAK MENGASUMSIKAN ADANYA MEMORI YG DIGUNAKAN
BERSAMA
DEATH LOCK terjadi karena :
1.
Meniadakan mutual exclusion
2.
Meniadakan sarat hold& wait
3.
Meniadakan non Preemption
4.
Meniadakan circular wait
Solusi DEATH LOCK :
1.
Pencegahan
2.
Pengabaian
3.
Penghindaran
4.
Pendektesian & pemulihan
Penyebab Start VATion :
Terjadi karena terdapt kesalahan dlm system sehingga terjadi
ketimpangan dalam pembagian resource. Satu proses lalu mendapat resource,
sedangkan proses yg lain tdk pernah mendapatkannya.
SINKRONISASI
Adalah proses pengaturan jalannya beberapa proses pada saat
bersamaan. Tujuan utama sinkronisaasi adalah menghindari terjadinya
inkonsistensi data karena pengaksesan oleh beberapa proses yg berbeda(mutual
exclusion) serta untuk mengatur urutan jalannya proses” sehingga dapat berjalan
dengan lancar dan terhindar dari deathlock & start vation. Sinkronisasi
umumnya dilakukan dengan bantuan perangkat sinkronisasi.
New
Proses yang berstatus New,masih dalam tahap inisiasi oleh
prosedur atau rutin sistem operasi. Tahap inisiasi meliputi alokasi memori
utama untuk proses, pengisisan tabel proses, pembuatan struktur data
kendali untuk menyimpan informasi dan suatu proses.
Sejumlah kondisi yang memicu penciptaan proses baru antara
lain :
Pengguna melakukan logon ke sistem operasi sehingga sistem
operasi akan menciptakan proses antarmuka pengguna (shell)
Permintaan eksekusi program oleh pengguna lewat aplikasi
antarmuka (shell)
Suatu aplikasi menciptakan proses anak
Penciptaan proses barusebagai bagian dari eksekusi batch
Ready
Proses yang berhasil diinisiasi akan ditempatkan ke dalam
antrian penjadwalan prosesor dengan cara menyisipkan rekaman baru ke dalam
antrian, yang berisi referensi atau pointer ke struktur data kendali proses.
Antrian penjadwalan prosesor ini ini disebut juga antrian ready. Proses yang
telah berhasil disisipkan ke dalam antrian penjadwalan akan diubah statusnya
menjadi ready. Status ready menandakan suatu proses siap berkompetisi
untuk mendapatka alokasi waktu prosesor. Jadi proses-proses yang baru tercipta,
tidak dapat langsung dieksekusi tetapi harus menunggu gilirannya.
Secara berkala, sistem operasi akan melakukan penjadwalan
prosesor, yaitu menghentikan eksekusi proses yang sedang berjalan, memilih
salah satu dari proses-proses yang berada dalam antrian ready dan
mengaksekusinya. Rutin operasi yang bertugas melakukan pemilihan ini
disebutScheduler.
Running
Running adalah sebuah proses dalam antrian ready yang
terpilih oleh scheduler untuk dijalankan atau dieksekusi. Proses yang berstatus
running menguasai prosesor sepenuhnya. Proses running memiliki 3 kemungkinan peralihan
ke status lainnya.
Jika proses sudah menyelesaikan aktivitasnya maka proses
akan berubah status menjadi terminated.
Jika jatah waktu (time-slice) untuk eksekusi telah habis
maka proses akan dialihkan statusnya menjadi ready. Setiap proses diberi jatah
waktu eksekusi yang terbatas agar tidak menghambat eksekusi proses lainnya.
Proses running dapat beralih status menjadi blocked
Blocked (Waiting)
Proses berstatus running beralih ke status blocked karena
membutuhkan pembacaan data dari piranti I/O. Contoh, suatu proses membutuhkan
data berkas dari disk untuk melanjutkan pengolahan datanya. Untuk memaksimalkan
penggunaan prosesor maka proses yang sedang menunggu ini akan dialihkan status
nya menjadi blocked dan sistem operasi akan menjalankan scheduler untuk memilih
proses lain untuk dieksekusi.
Proses yang berstatus blocked tidak dapat langsung
dieksekusi atau beralih ke status running , tetapi dialihkan ke status ready
terlebih dahulu dan menunggu dipilih oleh scheduler agar dapat beralih ke
running.
Exit (Terminated)
Prosess yang berubah statusnya menjadi exit / terminated
berarti proses tersebut telah dihentikan eksekusinya, baik secara normal
(proses telah selesai) maupun tidak (misalnya terjadi kesalahan sistem yang
tidak tertangani). Jika suatu proses telah selesai maka ruang memori yang
ditempatinya akan dibersihkan (dealokasi) oleh rutin sistem operasi.
Hal yang dapat menyebabkan suatu proses selesai eksekusinya
antara lain :
Proses telah selesai secara normal
Batas waktu total telah terlewati
Kekurangan ruang memori
Pelanggaran batas memori
Pelanggaran proteksi berkas atau sumber daya lainnya
Kesalahan aritmatika
Waktu tunggu (operasi I/O) melebihi batas yang ditentukan
Terjadi kegagalan I/O
Instruksi yang tidak benar/ tidak valid
Terjadi usaha pemakaian instruksi yang tidak diizinkan
Salah memakai data
Campur tangan sistem operasi atau operator
Penghentian proses induk
Atas permintaan proses induk ataupun proses lainnya