OPERASI
PENGERTIAN
Pengertian sistem operasi secara umum ialah pengelola seluruh sumber-daya yang terdapat
pada sistem komputer dan menyediakan sekumpulan layanan (system calls) ke pemakai
sehingga memudahkan dan menyamankan penggunaan serta pemanfaatan sumber-daya
sistem komputer.
Sistem operasi Komputer adalah perangkat lunak komputer atau software yang bertugas
untuk melakukan kontrol dan manajemen perangkat keras dan juga operasi-operasi dasar
sistem, termasuk menjalankan software aplikasi seperti program-program pengolah data yang
bisa digunakan untuk mempermudah kegiatan manusia. Sistem Operasi dalam bahasa
Inggrisnya disebut Operating System, atau biasa di singkat dengan OS.
FUNGSI DASAR
Sistem komputer pada dasarnya terdiri dari empat komponen utama, yaitu perangkat-keras,
program aplikasi, sistem-operasi, dan para pengguna. Sistem operasi berfungsi untuk
mengatur dan mengawasi penggunaan perangkat keras oleh berbagai program aplikasi serta
para pengguna.
Sistem Operasi komputer merupakan software pada lapisan pertama yang diletakkan pada
memori komputer, (memori komputer dalam hal ini ada Hardisk, bukan memory ram) pada
saat komputer dinyalakan. Sedangkan software-software lainnya dijalankan setelah Sistem
Operasi Komputer berjalan, dan Sistem Operasi akan melakukan layanan inti umum untuk
software-software itu. Layanan inti umum tersebut seperti akses ke disk, manajemen memori,
skeduling task, dan antar-muka user. Sehingga masing-masing software tidak perlu lagi
melakukan tugas-tugas inti umum tersebut, karena dapat dilayani dan dilakukan oleh Sistem
Operasi. Bagian kode yang melakukan tugas-tugas inti dan umum tersebut dinamakan dengan
kernel suatu Sistem Operasi.
.
Konsep Dasar Sistem Operasi
1.Komponen Sistem Operasi
2.Layanan Sistem Operasi
3.System Calls
4.Pemrograman Sistem
5.Struktur sistem
6.Mesin Virtual
7.Rancangan Sistem
8.System Generation
1)Komponen Sistem
Managemen Proses
Managemen Memori Utama
Managemen Berkas
Managemen I/O
Managemen Penyimpanan Sekunder
Jaringan
Sistem Proteksi
Command-Interpreter System1.1 Managemen Proses
Proses adalah sebuah program yang sedang dijalankan (eksekusi). Suatu proses
memerlukan sumberdaya pada saat ekesekusi:
CPU time, memori, berkas dan peranti I/O
Sistem operasi bertanggung jawab terhadap aktifitas yang berhubungan dengan
manajemen proses:
Pembuatan dan penghapusan proses
Penundaan dan pelanjutan proses
Penyedia mekanisme untuk:
• Sinkronisasi antar proses
• Komunikasi antar proses
• Penanganan Deadlock
1.2 Managemen Memori Utama
Memori sebagai tempat penyimpanan instruksi/data dari program. Penyimpanan yang
cepat sehingga dapat mengimbangi kecepatan eksekusi instruksi CPU Terdiri dari “array
words/bytes” yang besar Alamat digunakan untuk mengakses data (shared oleh CPU dan
I/O devices) Umumnya main memory bersifat “volatile”– tidak permanen Isinya akan
hilang jika komputer di matikan.
Sistem operasi bertanggung jawab untuk aktivitas berikut yang berhubungan dengan
manajemen memori:
Melacak pemakaian memori (siapa dan berapa besar?).
Memilih program mana yang akan diload ke memori ketika bisa digunakan
Alokasi dan dealokasi memori sesuai yang dibutuhkan
5.Komunikasi
Menciptakan, menghapus hubungan komunikasi
Mengirim dan menerima pesan
Mentransfer status informasi
Attach atau detach remote device
Komunikasi dapat dilakukan melalui message passing atau shared memory
4)Pemrograman sistem
Pemrograman system menyediakan lingkungan yang memungkinkan pengembangan program
dan eksekusi berjalan dengan baik
Dapat dikategorikan : Manajemen/manipulasi berkas: membuat, menghapus, copy,
rename, print, memanipulasi berkas dan direktori
Informasi Status : tanggal, jam, jumlah memori dan disk yang tersedia, jumlah
pengguna, dan informasi tentang status lainnya
Modifikasi Berkas: modifikasi isi berkas
Mendukung bahasa pemrograman: Kompilator, perakit, interpreter
Loading dan eksekusi program: absolute loaders, relocatable loaders, linkage editors,
overlay loaders
Komunikasi: menyediakan mekanisme komunikasi antara proses, pengguna, dan
sistem komputer yang berbeda
System program yang paling penting adalah command interpreter (mengambil dan
menerjemahkan user-specified command selanjutnya)
5)Struktur Sistem
Struktur Sederhana
Metode pendekatan Terlapis
Mikrokernel
1.Struktur Sederhana
Dimulai dengan system yang kecil, sederhana dan terbatas kemudian berkembang dengan
cakupan original
Struktur system MS-DOS : disusun untuk mendukung fungsi yang banyak pada ruang yang
kecil.
Struktur Sistem UNIX Terdiri dari 2 bagian:
1. Kernel :
•antarmuka
•device drivers
2. Program Sistem
2.Pendekatan Terlapis
Lapisan adalah implementasi dari objek abstrak yang merupakan enkapsulasi dari data dan
operasi yang bias memanipulasi data tersebut
Lapisan paling bawah: perangkat keras
Lapisan paling atas: antarmuka pengguna
Tingkatan Desain Sistem Operasi
3.Mikrokernel
Menyusun system operasi dengan menghapus semua komponen yang tidak esensial dari
kernel, dan mengimplementasikannya sebagai system program dan level pengguna
Fungsi utama: mendukung fasilitas komunikasi antara program klien dan bermacam-macam
layanan yang juga berjalan diuser-space
Keuntungan:
ketika layanan baru akan ditambahkan ke user-space, kernel tidak perlu dimodif OS lebih
mudah ditempatkan pada suatu desain perangkat keras ke desain lainnya mendukung
keamanan reliabilitas lebih
Contoh system operasi:
Tru64 UNIX, Mac OS X, QNX
6)Mesin Virtual
Mesin virtual mengambil pendekatan terlapis sebagai kesimpulan logis. Mesin virtual
memperlakukan hardware dan system operasi seolah-olah berada pada level yang sama
sebagai perangkat keras.
Pendekatan Mesin virtual menyediakan sebuah antarmuka yang identik dengan underlying
bare hardware. Sistem Operasimembuat ilusi dari banyak proses, masing-masing dieksekusi
pada prosesornya sendiri dengan virtual memorinya sendiri. VM dibuat dengan pembagian
sumber daya oleh komputer fisik Sumber daya dari komputer fisik dibagi untuk membuat
VM Penjadwalan CPU bias menciptakan penampilan seakan–akan pengguna mempunyai
prosesor sendiri. Spooling dan system data bisa menyediakan virtual card readers dan virtual
line printers. Sebuah time-sharing terminal user yang normal melayani sebagai mana operator
konsulat VM software membutuhkan ruang di dalam disk untuk menyediakan memori virtual
dan spooling, yaitu sebuah disk virtual. Keuntungan Penggunaan Mesin virtual.
Keamanan bukanlah masalah VM mempunyai pelindungan lengkap pada berbagai sistem
sumber daya. Tidak ada pembagian sumber daya secara langsung. Pembagian disk mini dan
jaringan diimplementasikan pada perangkat lunak. VM sistem adalah kendaraan
yang“sempurna” untuk penelitian dan pengembangan sistem operasi. Dengan VM perubahan
suatu bagian tidak akan mempengaruhi komponen yang lain
Kerugian Penggunaan VM
VM sulit di implementasikan karena banyak syarat yang dibutuhkan untuk
menyediakan duplikat yang tepat dari underlying machine
Harus punya virtual-user mode dan virtual-monitor mode yang keduanya berjalan
dipysical mode. Akibatnya, saat instruksi yang hanya membutuhkan virtual monitor
mode dijalankan, register berubah dan bias berefek pada virtual user mode, bahkan
bisa me-restart VM
Waktu yang dibutuhkan I/O bias lebih cepat (karena ada spooling), tapi bisa lebih
lambat ( karena di interpreted)
Java Virtual Machine
Program Java yang telah di compile adalah platform-neutral byte codes yang dieksekusi oleh
Java Virtual Machine(JVM)
JVM terdiri dari:
Pengeload kelas
Pemverifikasi kelas
Runtime interpreter
Just In-Time(JIT) kompilator meningkatkan kinerja
Java Development Environment (JDE) terdiri dari sebuah compile time environment
yang mengubah java sources code menjadi byte code, dan sebuah run time
environment yang menyediakan Java platform system untuk tuan rumah
7)Perancangan Sistem
Masalah: menentukan tujuan dan spesifikasi sistem.
Perancangan system dipengaruhi oleh perangkat keras dan jenis system sehingga kebutuhan-
nya akan lebih sulit untuk dispesifikasikan.
Kebutuhan terdiri dari tujuan pengguna dan tujuan sistem.
Pengguna ingin system yang enak digunakan, mudah dipelajari, terpercaya, aman, dan cepat.
Tapi itu semua sebenarnya tidak dibutuhkan oleh sebuah sistem.
Sistem ingin mudah dirancang dan diimplmentasikan, fleksibel, terpercaya, error yang
minimal, dan efisien.
Implementasi Sistem
Secara tradisional, system operasi ditulis dalam bahasa rakitan, tapi sekarang sering dibuat
dalam bahasa tingkat tinggi.
Keuntungan ditulis dalam bahasa tingkat tinggi adalah Kodenya bias ditulis dengan lebih
cepat, Lebih padat, Mudah dimengerti dan didebug
Sistem operasi yang ditulis dengan bahasa tingkat tinggi akan mudah dipindahkan ke
perangkat keras lain, tapi bisa mengurangi kecepatan dan membutuhkan penyimpanan yang
lebih banyak.
8)System Generation
Sistem operasi dirancang untuk dapat dijalankan pada berbagai jenis mesin, sistemnya harus
dikonfigurasikan untuk setiap komputer.
Program Sysgen mendapatkan informasi mengenai konfigurasi khusus tentang system
perangkat keras dari sebuah data, antara lain sebagai berikut:
CPU apa yang digunakan, pilihan yang diinstal
Berapa banyak memori yang tersedia
Peralatan yang tersedia
Sistem operasi pilihan apa yang diinginkanatau parameter apa yang digunakan
Satu kali info diperoleh, bisa digunakan dengan berbagai cara.
Batch system adalah dimana job-job yang mirip dikumpulkan dan dijalankan secara
kelompok kemudian setelah kelompok yang dijalankan tadi selesai maka secara otomatis
kelompok lain dijalankan. jadi dengan kata lain adalah teknologi proses komputer dari
generasi ke-2. yang jika suatu tugas sedang dikerjakan pada 1 rangkaian, akan di eksekusi
secara berurutan. Pada komputer generasi ke-2 sistem komputer nya maasih blum dilengkapi
oleh sebuah sistem operasi. Tapi, dalam beberapa fungsi sistem operasi, seperti os yang
tengah berkembang pada jaman sekarang ini. Contohnya adlah FMS ( Fortarn Monitoring
System ) dan IBSYS.
Contoh sebuah Batch System adalah sebuah e-mail dan transaksi batch processing. Dalam
suatu sistem batch processing, transaksi secara individual dientri melalui peralatan terminal,
dilakukan validasi tertentu, dan ditambahkan ke transaction file yang berisi transaksi lain, dan
kemudian dientri ke dalam sistem secara periodik. Di waktu kemudian, selama siklus
pengolahan berikutnya, transaction file dapat divalidasi lebih lanjut dan kemudian digunakan
untuk meng-up date master file yang berkaitan.
contoh sebuah Batch System adalah sebuah e-mail dan transaksi batch processing. Dalam
suatu sistem batch processing, transaksi secara individual dientri melalui peralatan terminal,
dilakukan validasi tertentu, dan ditambahkan ke transaction file yang berisi transaksi lain, dan
kemudian dientri ke dalam sistem secara periodik. Di waktu kemudian, selama siklus
pengolahan berikutnya, transaction file dapat divalidasi lebih lanjut dan kemudian digunakan
untuk meng-up date master file yang berkaitan.
ada 2 cara dalam Batch System yaitu :
1. Resident Monitor
b. Job-job yg sama cukup dicetak sekali saja, cara inilah yg disebut “Batch system”
Teknik pengurutan job secara manual begini akan menyebabkan tingginya waktu
menganggur CPU. Muncul teknik pengurutan job otomatis yg mampu mentransfer secara
otomatis dari suatu proses ke proses lainnya.Program kecil dan bersifat residen dimemori
serta berisi urutan2 job yg akan berpindah secara otomatis, inilah “Resident Monitor”
. Off line Processing, data yg dibaca dari card reader disimpan dulu
dalam tape driver sebelum dibawa ke CPU, demikian pula informasi yg
mau dicetak, disimpan dulu di tape
Spooling adalah suatu program dapat dikerjakan walaupun I/O masih
mengerjakan proses lainnya dan disk secara bersamaan menggunakan data
untuk banyak proses. Pengertian multi programming adalah kegiatan
menjalankan beberapa program pada memori pada satu waktu.
Multiprogramming System
Multi programming system adalah dimana job-job disimpan di main memory di waktu yang
sama dan CPU dipergunakan bergantian. Hal ini membutuhkan beberapa kemampuan
tambahan yaitu : Penyediaan I/O routine oleh sistem, Pengaturan memori untuk
mengalokasikan memory pada beberapa Job, penjadwalan CPU untuk memilih job mana
yang akan dijalankan, serta pengalokasian hardware lain.
Multiprogramming berarti meletakkan lebih dari sebuah program di main memory. Cara ini
dilakukan dengan membagi main memory menjadi beberapa partisi. Tiap partisi akan
menyimpan sebuah program. Foreground partitions akan berisi program dengan prioritas
yang lebih tinggi sedang background partitions akan berisi program dengan prioritas yang
lebih rendah.
Meskipun setiap proses merupakan Entitiy yang berdiri sendiri, dan masing-masing memiliki
program Counter dan status internal, beberapa proses sering kali harus berinteraksi dengan
proses yang lain. Keluaran dari suatu proses dapat menjadi masukan bagi proses yang lain.
Jika proses yang sedang menunggu masukan tidak menemukan masukan yang dikehendaki,
proses tersebut diblok sampai masukan tersedia.
Pada saat proses diblok, secara logika proses tersebut tidak dapat dilanjutkan karena
menuggu masukan yang belum tersedia. Dapat terjadi bahwa proses yang Ready dan dapat
di-run terpaksa harus dihentikan karena sistem operasi arus mengalokasikan CPU ke proses
lain untuk sementara waktu.
1. Submitt: Proses baru saja dikirimkan oleh user dan masih menunggu untuk dilayani.
2. Running: Proses benar-benar menggunakan CPU pada saat itu.
3. Ready: Proses berhenti sementara untuk memberikan kesempatan pada proses lain untuk
menggunakan CPU.
4. Blocked: Proses tidak dapat di-Run sampai terjadi kejadian eksternal yang sesuai
(misalkan selesainya operasi input/output atau telah tersedianya data input).
5. Finished: Proses telah dilaksanakan secara sempurna.
Di antara status Running, Ready dan Blocked, hanya terdapat 4 kemungkinan perubahan
status, yaitu:
1. Running ke Blocked: Terjadi jika proses diblok, karena menunggu masukan atau
menunggu selesainya aktivitas I/O.
2. Running ke Ready: Terjadi jika Process Scheduler menghentikan proses yang sedang
running untuk memberikan kesempatan pada proses lain menggunakan CPU.
3. Blocked ke Ready: Terjadi jika ada kejadian eksternal yang menyebabkan proses dapat
dijalankan kembali. Misalnya datangnya input atau selesainya suatu aktifitas I/O.
4. Ready ke Running: Terjadi jika proses siap untuk menggunakan CPU dan masukan yang
sesuai untuk proses tersebut telah tiba.
Multitasking
Multitasking adalah adalah pemrosesan beberapa tugas pada waktu yang bersamaan.
Dewasa ini, penggunaan time-sharing jarang digunakan, dan digantikan dengan multitasking.
Contoh sistem operasi jenis ini antara lain adalah linux. Linux adalah sistem operasi yang
multitasking dan multiuser seperti kebanyakan SO yang ada pada saat ini. Multitasking pada
linux artinya linux bisa atau mampu menjalankan beberapa proses dalam waktu yang
bersamaan.
Seperti contoh pada saat kita menjalan kan aplikasi web browser kita juga bisa menjalankan
aplikasi kompresi file. Sedangkan multiuser pada linux adalah user bisa login ke dalam
sistem secara bersamaan, dengan artinya user bisa menggunakan satu sistem secara
bersamaan dalam satu waktu. Multitasking dan multiuser pada sistem operasi merupakan satu
keharusan dalam masa ini.
Kelemahan dari sistem ini adalah jika terdapat banyak perintah, maka akan terjadi antian
perintah yang cukup panjang. Pengguna harus menunggu perintah selesai dilaksanakan untuk
memasukkan perintah selanjutnya.
Christopher Strachy pada tahun 1959 telah memberikan ide mengenai pembagian waktu yang
dilakukan oleh CPU. Baru pada tahun 1961, pertama kali sistem yang benar-benar berbentuk
time sharing system dilakukan di MIT (Massachusetts Institute of Technology) dan diberi
nama CTSS (Compatible Time Sharing System) yang bisa melayani sebanyak 8 pemakai
dengan menggunakan omputer IBM 7090. Pada TSS tiap-tiap User dilayani oleh komputer
dengan bergiliran dalam waktu yang sangat cepat. Sehingga tiap pemakai komputer tidak
merasa bahwa komputer melayani beberapa pemakai sekaligus secara bergiliran.
Salah satu penggunaan time sharing system ini dapat dilihat dalam pemakaian suatu teller
terminal pada suatu bank. Bilamana seorang nasabah datang ke bank tersebut untuk
menyimpan uang atau mengambil uang, maka buku tabungannya ditempatkan pada terminal.
Dan oleh operator pada terminal tersebut dicatat melalui papan ketik (keyboard), kemudian
data tersebut dikirim secara langsung ke pusat komputer, memprosesnya, menghitung jumlah
uang seperti yang dikehendaki, dan mencetaknya pada buku tabungan tersebut untuk
transaksi yang baru saja dilakukan.
Arsitektur sistem real-time merupakan suatu blog diagram yang mengambarkan interkoneksi
antar sistem yang ada pada real-time. Secara garis besar dibedakan menjadi dua, yaitu bagian
statistik dan algoritma. Pada bagian algoritma terdapat sejumlan n algoritma. Semakin
kompleks suatu program, maka akan semakin banyak punya algoritma yang bisa digunakan
untuk menyelesaikan program tersebut.
Pada bagian masukan terdapat saklar selector yang digunakan untuk memilih input mana
yang akan dieksekusi menggunakan algoritma 1 – n, tergantung dari keinginan kita atau
tingkat komplektifitas program. Agar bisa diperoleh konsep real-time, maka ditambahkan
suatu kontrol /pencatat kapan program mulai start dan kapan program tersebut harus berhenti
dengan menghasilkan nilai dan waktu sesuai dengan kesepakatan batas waktu (deadline).
Suatu hasil dikatakan tepat waktu :
- Yang meminta hasil memberitahu, hasilnya harus diserahkan sesuai dengan waktu yang
telah disepakati / ditentukan. Misalnya seorang dosen memberikian ulangan kepada sejumlah
mahasiswa dan memberikan waktu pengerjaan selama 1 jam. Apabila waktu pengerjaan telah
mencapai 1 jam, maka seluruh pekerjaan yang diberikan tadi harus segera dukumpulkan.
- Bisa memberikan jawaban setiap kali diminta.
- Harus bisa memberikan jawaban yang dapat memuaskan penanya dan jawabannya harus
akurat.
- Selalu siap sedia kapanpun peminta memerintahkan dan kapan harus diberikan oleh sistem
serta dapat menjawab pada setiap saat
Pengertian dan Tujuan Pembuatan System Call
System call adalah jembatan yang menghubungkan antara user dengan sistem operasi.
Fungsi dari system call adalah menyediakan interface antara program (program pengguna
yang berjalan) dan bagian OS
Sistem Terdistribusi
Sistem informasi terdistribusi dibangun dengan cara memisahkan secara fisik untuk setiap
fungsi dan Sistem Operasi Terdistribusi adalah sistem operasi yang dapat menangani
multiprocessor dimana masing-masing processor memiliki memori utama sendiri.
tugas sebuah komputer dalam ruang lingkup jaringan komputer. Pemisahan antara aplikasi
Server dengan data base Server serta komputer klien yang terhubung dalam jaringan area
local terbatas atau yang dikenal dengan LAN (Local Area Network) diharapkan dapat
mengoptimalkan kinerja dari setiap komputer yang mengakses informasi.
Kesimpulan
Sistem terdistribusi adalah sekumpulan prosesor yang tidak saling berbagi memori atau clock.
Setiap prosesornya memiliki memori lokal tersendiri dan berkomunikasi satu sama lain
melalui jaringan komunikasi, seperti LAN atau WAN. Secara umum, topologi jaringan ada
dua macam, yaitu fully connected network dan partially connected network yang terbagi lagi
menjadi tiga jenis, yaitu tree-structured network, star network, dan ring network.
Sistem operasi terdistribusi adalah salah satu implementasi dari sistem terdistribusi, di mana
sekumpulan komputer dan prosesor yang heterogen terhubung dalam satu
jaringan.Keuntungan dari sistem terdistribusi adalah memberikan akses bagi pengguna untuk
dapat mengembangkan sumber daya sistem, peningkatan kecepatan komputasi, dan
meningkatkan availibilitas atau ketersediaan dan reliabilitas data. Sebuah sistem terdistribusi
harus menyediakan mekanisme sinkronisasi proses dan komunikasi, agar terhindar dari
deadlock serta dapat mengatasi failure yang tidak muncul dalam sistem terpusat.