Sistem operasi
adalah seperangkat program yang mengelola sumber daya perangkat keras komputer,
dan menyediakan layanan umum untuk aplikasi perangkat lunak. Sistem operasi
adalah jenis yang paling penting dari perangkat lunak sistem dalam sistem
komputer.
Komputer modern merupakan sistem yang kompleks. Secara fisik, komputer tersebut terdiri dari beberapa bagian seperti prosesor, memori, disk, pencetak (printer), serta perangkat lainnya. Perangkat keras tersebut digunakan untuk menjalankan berbagai perangkat lunak aplikasi (software aplication). Sebuah sistem operasi merupakan perangkat lunak penghubung antara perangkat keras (hardware) dengan perangkat lunak aplikasi tersebut di atas.
Sejarah awal perkembangan Arsitektur perangkat keras komputer tradisional terdiri dari empat komponen utama yaitu "Prosesor", "Memori Penyimpanan", "Masukan" (Input), dan "Keluaran" (Output). Model tradisional tersebut sering dikenal dengan nama arsitektur von Neumann (Gambar 1.2, “Arsitektur Komputer von Neumann”). Pada saat awal, komputer berukuran sangat besar sehingga komponen-komponennya dapat memenuhi sebuah ruangan yang sangat besar. Sang pengguna -- menjadi programer yang sekali gus merangkap menjadi menjadi operator komputer -- juga bekerja di dalam ruang komputer tersebut.
Gambar 1.2. Arsitektur Komputer von Neumann
Sistem operasi telah berkembang selama lebih dari 40 tahun dengan dua tujuan utama. Pertama, sistem operasi mencoba mengatur aktivitas-aktivitas komputasi untuk memastikan pendayagunaan yang baik dari sistem komputasi tersebut. Kedua, menyediakan lingkungan yang nyaman untuk pengembangan dan jalankan dari program.
Pada awalnya, sistem komputer digunakan dari depan konsol. Perangkat lunak seperti assembler, loader, linkerdan compiler meningkatkan kenyamanan dari sistem pemrograman, tapi juga memerlukan waktu set-up yang banyak. Untuk mengurangi waktu set-up tersebut, digunakan jasa operator dan menggabungkan tugas-tugas yang sama (sistem batch).
Sistem batch mengizinkan pengurutan tugas secara otomatis dengan menggunakan sistem operasi yang resident dan memberikan peningkatan yang cukup besar dalam utilisasi komputer. Komputer tidak perlu lagi menunggu operasi oleh pengguna. Tapi utilisasi CPU tetap saja rendah. Hal ini dikarenakan lambatnya kecepatan alat-alat untuk M/K relatif terhadap kecepatan CPU. Operasi off-line dari alat-alat yang lambat bertujuan untuk menggunakan beberapa sistem reader-to-tape dan tape-to-printer untuk satu CPU. Untuk meningkatkan keseluruhan kemampuan dari sistem komputer, para developer memperkenalkan konsep multiprogramming.
Pada awalnya, sistem komputer digunakan dari depan konsol. Perangkat lunak seperti assembler, loader, linkerdan compiler meningkatkan kenyamanan dari sistem pemrograman, tapi juga memerlukan waktu set-up yang banyak. Untuk mengurangi waktu set-up tersebut, digunakan jasa operator dan menggabungkan tugas-tugas yang sama (sistem batch).
Sistem batch mengizinkan pengurutan tugas secara otomatis dengan menggunakan sistem operasi yang resident dan memberikan peningkatan yang cukup besar dalam utilisasi komputer. Komputer tidak perlu lagi menunggu operasi oleh pengguna. Tapi utilisasi CPU tetap saja rendah. Hal ini dikarenakan lambatnya kecepatan alat-alat untuk M/K relatif terhadap kecepatan CPU. Operasi off-line dari alat-alat yang lambat bertujuan untuk menggunakan beberapa sistem reader-to-tape dan tape-to-printer untuk satu CPU. Untuk meningkatkan keseluruhan kemampuan dari sistem komputer, para developer memperkenalkan konsep multiprogramming.
BAGIAN
II. KONSEP DASAR SISTEM OPERASI
Menurut Avi Silberschatz, Peter Galvin, dan Greg Gagne, umumnya sebuah sistem operasi modern mempunyai komponen sebagai berikut:
• Managemen Proses.
• Managemen Memori Utama.
• Managemen Berkas.
• Managemen Sistem Masukan/Keluaran.
• Managemen Penyimpanan Sekunder.
• Sistem Proteksi.
• Jaringan.
• Command-Interpreter System.
Sedangkan
menurut A.S. Tanenbaum, sistem operasi mempunyai empat komponen utama, yaitu:
• Managemen
proses,
• Masukan/Keluaran
• Managemen
Memori, dan
• Sistem
Berkas.
Adapun
kegiatan-kegiatan yang di lakukan oleh komponen SO berikut ini adalah :
1.Managemen
Proses
Sistem operasi bertanggung-jawab atas aktivitas-aktivitas yang berkaitan dengan
managemen proses
seperti:
• Membuat
dan menghapus proses pengguna dan sistem proses.
• Menunda
atau melanjutkan proses.
•
Menyediakan mekanisme untuk proses sinkronisasi.
•
Menyediakan mekanisme untuk proses komunikasi.
•
Menyediakan mekanisme untuk penanganan deadlock.
2.Managemen
Memori Utama
Sistem operasi bertanggung-jawab atas aktivitas-aktivitas yang berkaitan dengan
managemen
memori
seperti:
• Menjaga
track dari memori yang sedang digunakan dan siapa yang menggunakannya.
• Memilih
program yang akan di-load ke memori.
3.Managemen
Berkas
Sistem operasi bertanggung-jawab dalam aktivitas yang berhubungan dengan
managemen berkas:
• Pembuatan
dan penghapusan berkas.
• Pembuatan
dan penghapusan direktori.
• Mendukung
manipulasi berkas dan direktori.
• Memetakan
berkas ke secondary-storage.
•
Mem-back-up berkas ke media penyimpanan yang permanen (non-volatile).
4.Managemen
Masukan / Keluaran
Komponen
Sistem Operasi untuk sistem Masukan/Keluaran:
• Penyangga:
menampung sementara data dari/ke perangkat Masukan/Keluaran.
• Spooling:
melakukan penjadualan pemakaian Masukan/Keluaran sistem supaya lebih efisien
(antrian
dsb.).
•
Menyediakan driver: untuk dapat melakukan operasi rinci untuk perangkat keras
Masukan/Keluaran
tertentu.
5.Managemen
penyimpanan sekunder
Sistem
operasi bertanggung-jawab atas aktivitas-aktivitas yang berkaitan dengan
managemen disk seperti:
• free-space
management.
• alokasi
penyimpanan.
•
penjadualan disk.
6.Sistem
proteksi
Proteksi
mengacu pada mekanisme untuk mengontrol akses yang dilakukan oleh program,
prosesor, atau pengguna ke sistem sumber daya. Mekanisme proteksi harus:
• Membedakan
antara penggunaan yang sudah diberi izin dan yang belum.
•
Menspesifikasi kontrol untuk dibebankan/diberi tugas.
•
Menyediakan alat untuk pemberlakuan sistem.
7.Jaringan
Sistem
terdistribusi adalah sekumpulan prosesor yang tidak berbagi memori, atau clock.
Setiap prosesor
mempunyai memori dan clock tersendiri. Prosesor-prosesor tersebut terhubung
melalui jaringan komunikasi Sistem terdistribusi menyediakan akses pengguna ke
bermacam sumber-daya sistem. Akses tersebut menyebabkan peningkatan kecepatan
komputasi dan meningkatkan kemampuan penyediaan data.
8.Comannd
Interpreter Sistem
Sistem
Operasi menunggu instruksi dari pengguna (command driven). Program yang membaca instruksi
dan mengartikan control statements umumnya disebut: control-card interpreter, command-line
interpreter dan terkadang dikenal sebagai shell. Command-Interpreter System
sangat bervariasi dari satu sistem operasi ke sistem operasi yang lain dan
disesuaikan dengan tujuan dan teknologi perangkat Masukan/Keluaran yang ada.
Contohnya: CLI, Windows, Pen-based (touch), dan lain-lain.
Pada
umumnya, komponen sistem operasi terdiri dari managemen proses, managemen
memori
utama,
managemen berkas, managemen sistem M/K, managemen penyimpanan sekunder, sistem
proteksi,
jaringan dan Command-Interpreter System.
Bab 6. Sudut
Pandang Alternatif
Layanan
Sistem Operasi
1. Pembuatan Program
Sistim operasi menyediakan berbagai fasilitas yang membantu programer dalam membuat
program seperti editor. Walaupun bukan bagian dari sistim operasi, tapi layanan ini diakses
melalui sistim operasi.
Sistim operasi menyediakan berbagai fasilitas yang membantu programer dalam membuat
program seperti editor. Walaupun bukan bagian dari sistim operasi, tapi layanan ini diakses
melalui sistim operasi.
2. Eksekusi Program
Sistem harus bisa me-load program ke memori, dan menjalankan program tersebut. Program
harus bisa menghentikan pengeksekusiannya baik secara normal maupun tidak (ada error).
Sistem harus bisa me-load program ke memori, dan menjalankan program tersebut. Program
harus bisa menghentikan pengeksekusiannya baik secara normal maupun tidak (ada error).
3. Operasi Masukan/Keluaran
Program yang sedang dijalankan kadang kala membutuhkan Masukan/Keluaran. Untuk
efisiensi dan keamanan, pengguna biasanya tidak bisa mengatur peranti Masukan/Keluaran
secara langsung, untuk itulah sistem operasi harus menyediakan mekanisme dalam melakukan
operasi Masukan/Keluaran.
Program yang sedang dijalankan kadang kala membutuhkan Masukan/Keluaran. Untuk
efisiensi dan keamanan, pengguna biasanya tidak bisa mengatur peranti Masukan/Keluaran
secara langsung, untuk itulah sistem operasi harus menyediakan mekanisme dalam melakukan
operasi Masukan/Keluaran.
4. Manipulasi Sistem Berkas
Program harus membaca dan menulis berkas, dan kadang kala juga harus membuat dan
menghapus berkas.
Program harus membaca dan menulis berkas, dan kadang kala juga harus membuat dan
menghapus berkas.
5. Komunikasi
Kadang kala sebuah proses memerlukan informasi dari proses yang lain. Ada dua cara umum dimana komunikasi dapat dilakukan. Komunikasi dapat terjadi antara proses dalam satu komputer, atau antara proses yang berada dalam komputer yang berbeda, tetapi dihubungkan oleh jaringan komputer. Komunikasi dapat dilakukan dengan share-memory atau message-passing, dimana sejumlah informasi dipindahkan antara proses oleh sistem operasi.
Kadang kala sebuah proses memerlukan informasi dari proses yang lain. Ada dua cara umum dimana komunikasi dapat dilakukan. Komunikasi dapat terjadi antara proses dalam satu komputer, atau antara proses yang berada dalam komputer yang berbeda, tetapi dihubungkan oleh jaringan komputer. Komunikasi dapat dilakukan dengan share-memory atau message-passing, dimana sejumlah informasi dipindahkan antara proses oleh sistem operasi.
6. Deteksi Error
Sistem operasi harus selalu waspada terhadap kemungkinan error. Error dapat terjadi di CPU
dan memori perangkat keras, Masukan/Keluaran, dan di dalam program yang dijalankan
pengguna. Untuk setiap jenis error sistem operasi harus bisa mengambil langkah yang tepat
untuk mempertahankan jalannya proses komputasi. Misalnya dengan menghentikan jalannya
program, mencoba kembali melakukan operasi yang dijalankan, atau melaporkan kesalahan
yang terjadi agar pengguna dapat mengambil langkah selanjutnya.
Sistem operasi harus selalu waspada terhadap kemungkinan error. Error dapat terjadi di CPU
dan memori perangkat keras, Masukan/Keluaran, dan di dalam program yang dijalankan
pengguna. Untuk setiap jenis error sistem operasi harus bisa mengambil langkah yang tepat
untuk mempertahankan jalannya proses komputasi. Misalnya dengan menghentikan jalannya
program, mencoba kembali melakukan operasi yang dijalankan, atau melaporkan kesalahan
yang terjadi agar pengguna dapat mengambil langkah selanjutnya.
Layanan sistem operasi dirancang untuk membuat programming menjadi lebih mudah. Sistem
operasi mempunyai lima layanan utama dan tiga layanan tambahan. System calls ada lima jenis.
System program menyediakan environment yang memungkinkan pengembangan program dan
eksekusi berjalan dengan baik.
operasi mempunyai lima layanan utama dan tiga layanan tambahan. System calls ada lima jenis.
System program menyediakan environment yang memungkinkan pengembangan program dan
eksekusi berjalan dengan baik.
Bab 7. Struktur Sistem Operasi
• Struktur Sederhana
• Pendekatan Berlapis
• Kernel Mikro
• Pendekatan Berlapis
• Kernel Mikro
Komponen-komponen sistem operasi dapat dihubungkan satu sama lain dengan tiga cara. Pertama, dengan struktur sederhana, kemudian berkembang dengan cakupan yang original. Kedua, dengan pendekatan terlapis atau level. Lapisan yang lebih rendah menyediakan layanan untuk lapisan yang lebih tinggi. Model sistem operasi seperti ini terdiri dari tiga belas level. Ketiga, dengan metode kernelmikro, dimana sistem operasi disusun dalam bentuk kernel yang lebih kecil.
Paralel System mempunyai lebih dari satu CPU yang mempunyai hubungan yang erat; CPU-CPU tersebut berbagi bus komputer, dan kadang-kadang berbagi memori dan perangkat yang lainnya. Sistem seperti itu dapat meningkatkan throughput dan reliabilititas.
Sistem hard real-time sering kali digunakan sebagai alat pengontrol untuk applikasi yang dedicated. Sistem operasi yang hard real-time mempunyai batasan waktu yang tetap yang sudah didefinisikan dengan baik.Pemrosesan harus selesai dalam batasan-batasan yang sudah didefinisikan, atau sistem akan gagal.
Sistem soft real-time mempunyai lebih sedikit batasan waktu yang keras, dan tidak mendukung penjadualan dengan menggunakan batas akhir. Pengaruh dari internet dan World Wide Webbaru-baru ini telah mendorong pengembangan sistem operasi modern yang menyertakan web browser serta perangkat lunak jaringan dan komunikasi sebagai satu kesatuan.
Multiprogramming dan sistem time-sharing meningkatkan kemampuan komputer dengan melampaui batas operasi (overlap) CPU dan M/K dalam satu mesin. Hal seperti itu memerlukan perpindahan data antara CPU dan alat M/K, ditangani baik dengan polling atau interrupt-driven akses ke M/K port, atau dengan perpindahan DMA. Agar komputer dapat menjalankan suatu program, maka program tersebut harus berada di memori utama.
Bab 8. Mesin Virtual Java
Konsep mesin virtual sangat baik, namun cukup sulit untuk diimplementasikan, karena mesin virtual
harus mampu berjalan pada dua keadaan sekaligus, yaitu virtual user mode dan virtual monitor mode. Mesin virtual juga memiliki keunggulan, yaitu proteksi sistem yang sangat cocok untuk riset dan pengembangan sistem operasi.
Java didesain dengan tujuan utama adalah portabilitas. Dengan konsep write once run anywhere, maka hasil kompilasi bahasa Java yang berupa bytecode dapat dijalankan pada platform yang berbeda. Teknologi Java terdiri dari tiga komponen penting, yakni spesifikasi bahasa pemrograman, Application Programming Interface (API) dan spesifikasi mesin virtual. Bahasa Java mendukung paradigma berorientasi objek serta dilengkapi juga dengan library API yang sangat lengkap. Mesin virtual Java atau Java Virtual Machine (JVM) terdiri dari sebuah class loader dan Java interpreter yang mengeksekusi architecture-neutral bytecode. JavaOS dibangun dari kombinasi native code dan Java code, di mana platformnya independen. Sedangkan JX merupakan sistem operasi di mana setiap kode Java diorganisasikan sebagai komponen.
ZCZCOLD
Penggunaan mesin virtual amat berguna, tapi sulit untuk diimplementasikan. Sebagaimana perangkat-perangkat lainnya, penggunaan mesin virtual ini memiliki kelebihan dan kekurangan. Masalah utama dari desain sistem adalah menentukan kebijakan dan mekanisme yang sesuai dengan
keinginan pengguna dan pendisainnya. System generation adalah proses mengkonfigurasikan sistem untuk masing-masing komputer.
harus mampu berjalan pada dua keadaan sekaligus, yaitu virtual user mode dan virtual monitor mode. Mesin virtual juga memiliki keunggulan, yaitu proteksi sistem yang sangat cocok untuk riset dan pengembangan sistem operasi.
Java didesain dengan tujuan utama adalah portabilitas. Dengan konsep write once run anywhere, maka hasil kompilasi bahasa Java yang berupa bytecode dapat dijalankan pada platform yang berbeda. Teknologi Java terdiri dari tiga komponen penting, yakni spesifikasi bahasa pemrograman, Application Programming Interface (API) dan spesifikasi mesin virtual. Bahasa Java mendukung paradigma berorientasi objek serta dilengkapi juga dengan library API yang sangat lengkap. Mesin virtual Java atau Java Virtual Machine (JVM) terdiri dari sebuah class loader dan Java interpreter yang mengeksekusi architecture-neutral bytecode. JavaOS dibangun dari kombinasi native code dan Java code, di mana platformnya independen. Sedangkan JX merupakan sistem operasi di mana setiap kode Java diorganisasikan sebagai komponen.
ZCZCOLD
Penggunaan mesin virtual amat berguna, tapi sulit untuk diimplementasikan. Sebagaimana perangkat-perangkat lainnya, penggunaan mesin virtual ini memiliki kelebihan dan kekurangan. Masalah utama dari desain sistem adalah menentukan kebijakan dan mekanisme yang sesuai dengan
keinginan pengguna dan pendisainnya. System generation adalah proses mengkonfigurasikan sistem untuk masing-masing komputer.
0 komentar: