Konsep Dasar Sistem Operasi
Konsep Dasar Sistem Operasi Komponen
Sistem Operasi Layanan Sistem Operasi System Calls Pemrograman Sistem Struktur sistem Mesin Virtual System Generation Rancangan Sistem ® 2003 Kelompok 41−49 Kuliah Sistem Operasi GNU Free Document License
2.2
Komponen Sistem Manajemen
Proses Manajemen Memori Utama Manajemen File Manajemen I/O Manajemen Secondary-Storage Jaringan Sistem Proteksi Command-Interpreter System ® 2003 Kelompok 41−49 Kuliah Sistem Operasi GNU Free Document License
2.3
Manajemen Proses (1) Proses
adalah sebuah program yang sedang dijalankan (eksekusi). Suatu proses memerlukan sumber daya pada saat ekesekusi: Æ CPU
time, memory, files dan I/O devices
® 2003 Kelompok 41−49 Kuliah Sistem Operasi GNU Free Document License
2.4
Manajemen Proses (2) Sistem
operasi bertanggung jawab terhadap aktifitas yang berhubungan dengan managemen proses: Æ Process
creation & deletion. Æ Process suspension (block) & resumption. Æ Penyedia mekanisme untuk: • Sinkronisasi antar proses • Komunikasi antar proses • Penanganan Deadlock ® 2003 Kelompok 41−49 Kuliah Sistem Operasi GNU Free Document License
2.5
Manajemen Memori Utama (1) 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) ® 2003 Kelompok 41−49 Kuliah Sistem Operasi GNU Free Document License
2.6
Manajemen Memori Utama (2) 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?) Æ memilh program mana yang akan di load ke memori ketika bisa digunakan. Æ alokasi dan dealokasi memori sesuai yang dibutuhkan ® 2003 Kelompok 41−49 Kuliah Sistem Operasi GNU Free Document License
2.7
Manajemen File (1)
File adalah kumpulan inforamasi yang berhubungan (sesuai dengan tujuan pembuat file tersebut). Biasanya berkas merepresentasikan program dan data. Sistem operasi bertanggung jawab untuk aktivitas berikut yang berhubungan dengan managemen berkas: Æ Æ Æ Æ Æ
pembuatan dan penghapusan file pembuatan dan penghapusan direktori Mendukung primitives untuk manipulasi files dan direktori memetakan files pada secondary system File backup pada media penyimpanan yang stabil (nonvolatile)
® 2003 Kelompok 41−49 Kuliah Sistem Operasi GNU Free Document License
2.8
Manajemen sistem I/O
Sistem I/O terdiri dari : Æ Sistem
buffer : menampung sementara data dari/ke I/O devices Æ Spooling: melakukan scheduling pemakaian I/O sistem supaya lebih efisien (antrian dsb) Æ devices-driver interface yang umum : • menyediakan device driver yang umum sehingga sistem operasi dapat seragam (open, read, write, close) Æ Drivers
untuk spesifik hardware :
• menyediakan driver untuk melakukan operasi rinci/detail untuk hardware tertentu. ® 2003 Kelompok 41−49 Kuliah Sistem Operasi GNU Free Document License
2.9
Manajemen Secondary-Storage
Secondary storage: Penyimpanan Permanen Æ Karena
memori utama volatile dan kapasitasnya terlalu kecil, maka untuk menyimpan semua data dan program secara permanen, sistem komputer harus menyediakan secondary storage untuk dijadikan back-up memori utama.
Sistem Operasi bertanggung jawab dalam aktivitas yang berhubungan dengan managemen secondary-storage : Æ Free-space
management Æ Storage allocation Æ Disk scheduling ® 2003 Kelompok 41−49 Kuliah Sistem Operasi GNU Free Document License
2.10
Jaringan (Sistem Terdistribusi) Sistem Terdistribusi adalah kumpulan prosesor yang tidak berbagi memori atau clock. Setiap prosesor memiliki memori lokal masing-masing. Prosesor-prosesor dalam sistem terhubung dalam jaringan komunikasi. Sistem terdistribusi menyediakan akses pengguna ke bermacam-macam sumber daya. Akses tersebut menyebabkan :
Æ Computation
speed-up Æ Increased data availability Æ enhanced reliability ® 2003 Kelompok 41−49 Kuliah Sistem Operasi GNU Free Document License
2.11
Sistem Proteksi Proteksi
berkenaan dengan mekanisme untuk mengontrol akses yang dilakukan oleh program, prosesor, pengguna sistem maupun pengguna sumber daya. Mekanisme Proteksi harus : Æ membedakan
antara penggunaan yang sah dan yang tidak sah. Æ spesifikasi kontrol untuk di terima Æ menyediakan sebuah means of enforcement ® 2003 Kelompok 41−49 Kuliah Sistem Operasi GNU Free Document License
2.12
Command-Interpreter System (1) Sistem
Operasi menunggu instruksi dari pengguna (command driven). Program yang membaca instruksi dan mengartikan control statements (keinginan user) umumnya disebut: Æ control-card
interpreter Æ command-line interpreter Æ UNIX shell. ® 2003 Kelompok 41−49 Kuliah Sistem Operasi GNU Free Document License
2.13
Command-Interpreter System (2) Command-Interpreter
System sangat bervariasi dari satu sistem operasi ke sistem operasi yang lain dan disesuaikan dengan tujuan dan teknologi I/O devices yang ada. Æ Contohnya:
CLI, Windows, Pen-based (touch), dan lain-lain.
® 2003 Kelompok 41−49 Kuliah Sistem Operasi GNU Free Document License
2.14
Pelayanan Sistem Operasi(1) Eksekusi
program : meload program ke memory dan menjalankannya (run) Operasi I/O : user tdk bisa mengontrol I/O secara langsung ( utk efisiensi dan keamanan), sistim harus bisa menyediakan mekanisme utk melakukan operasi I/O Manipulasi sistem file : membaca, menulis, membuat, dan menghapus file ® 2003 Kelompok 41−49 Kuliah Sistem Operasi GNU Free Document License
2.15
Pelayanan Sistem Operasi (2) Komunikasi
: pertukaran informasi, dapat dilaksanakan melalui shared memory atau message passing Deteksi error : mempertahankan kestabilan dengan mendeteksi error (pada CPU, memory hardware, I/O, users program) dan jika bisa, memperbaikinya
® 2003 Kelompok 41−49 Kuliah Sistem Operasi GNU Free Document License
2.16
Pelayanan Tambahan Lebih diarahkan kepada upaya untuk menjaga efisiensi sistem,bukan untuk membantu users Alokasi sumber daya : mengalokasikan sumber daya kepada beberapa user atau job yang dijalankan pada saat yang bersamaan Accounting : menentukan berapa banyak dan berapa lama users menggunakan sumber daya sistem Proteksi : menjaga semua akses ke sumber daya sistem terkontrol
® 2003 Kelompok 41−49 Kuliah Sistem Operasi GNU Free Document License
2.17
System calls (1) System
calls menyediakan interface antara proses (program yang sedang dijalankan) dan sistem operasi. Biasanya tersedia sebagai instruksi bahasa assembly Beberapa sistem mengizinkan system calls dibuat langsung dari high-level languange program ® 2003 Kelompok 41−49 Kuliah Sistem Operasi GNU Free Document License
2.18
System Calls (2) Beberapa
bahasa pemrograman (contoh : C, C++) telah didefenisikan untuk menggantikan bahasa assembly untuk sistem pemrograman
® 2003 Kelompok 41−49 Kuliah Sistem Operasi GNU Free Document License
2.19
System Calls (3) Tiga
metode umum yang digunakan dalam memberikan parameter kepada sistem operasi Æ Melalui
registers Æ Menyimpan parameter dalam block atau tabel pada memori dan alamat block tsb diberikan sebagai parameter dalam register Æ Menyimpan parameter (push) ke dalam stack (oleh program), dan melakukan pop off pada stack (oleh sistim operasi) ® 2003 Kelompok 41−49 Kuliah Sistem Operasi GNU Free Document License
2.20
Memberikan Parameter dalam Tabel
Sumber: Silberschatz,et.al, Operating System Concepts, 6th ed, .2003, New York: John Wiley & Son.Inc , page 65
® 2003 Kelompok 41−49 Kuliah Sistem Operasi GNU Free Document License
2.21
Jenis System Calls Process
Control Manajemen file Manajemen Device Information Maintenance Komunikasi
® 2003 Kelompok 41−49 Kuliah Sistem Operasi GNU Free Document License
2.22
Process Control selesai,
abort Load, eksekusi Membuat dan men-terminate proses Mengambil dan men-set process attributes Wait for time Wait event, signal event Allocate and free memory ® 2003 Kelompok 41−49 Kuliah Sistem Operasi GNU Free Document License
2.23
Eksekusi MS-DOS
Sumber: Silberschatz,et.al, Operating System Concepts, 6th ed, .2003, New York:John Wiley & Son.Inc , page 68
® 2003 Kelompok 41−49 Kuliah Sistem Operasi GNU Free Document License
2.24
UNIX Menjalankan Multiple Program
Sumber: Silberschatz,et.al, Operating System Concepts, 6th ed, .2003, New York:John Wiley & Son.Inc , page 69
® 2003 Kelompok 41−49 Kuliah Sistem Operasi GNU Free Document License
2.25
Manajemen File Membuat
dan menghapus file Membuka dan menutup file Read, write, reposition Mengambil dan men-set file attributes
® 2003 Kelompok 41−49 Kuliah Sistem Operasi GNU Free Document License
2.26
Manajemen Device meminta
device, melepaskan device Read, write, reposition Mengambil dan men-set device attributes Logically attach or detach device
® 2003 Kelompok 41−49 Kuliah Sistem Operasi GNU Free Document License
2.27
Information Maintenance Mengambil
dan men-set waktu dan
tanggal Mengambil dan men-set sistem data mengambil proses, file, or device attributes Men-set proses, file, or device attributes
® 2003 Kelompok 41−49 Kuliah Sistem Operasi GNU Free Document License
2.28
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 ® 2003 Kelompok 41−49 Kuliah Sistem Operasi GNU Free Document License
2.29
Mekanisme Komunikasi
Sumber: Silberschatz,et.al, Operating System Concepts, 6th e, .2003, New York:John Wiley & Son.Inc , page 72
® 2003 Kelompok 41−49 Kuliah Sistem Operasi GNU Free Document License
2.30
Pemrograman sistem (1) Pemrograman
sistem menyediakan environment yang memungkinkan pengembangan program dan eksekusi berjalan dengan baik Dapat dikategorikan Æ Manajemen/manipulasi
File: membuat, menghapus, copy, rename, print, memanipulasi file dan direktori
® 2003 Kelompok 41−49 Kuliah Sistem Operasi GNU Free Document License
2.31
Pemrograman Sistem (2) Æ Informasi
Status: tanggal, jam, jumlah memory dan disk yang tersedia, jumlah user, dan informasi tentang status lainnya Æ Modifikasi File: modifikasi isi file Æ Mendukung bahasa pemrograman: compiler, assembler, interpreter
® 2003 Kelompok 41−49 Kuliah Sistem Operasi GNU Free Document License
2.32
Pemrograman Sistem (3) Program loading and execution : absolute loaders, relocatable loaders, linkage editors, overlay loaders Komunikasi : menyediakan mekanisme komunikasi antara proses, user, dan sistem komputer yang berbeda
System program yang paling penting adalah command interpreter (mengambil dan menerjemahkan user-specified command selanjutnya)
® 2003 Kelompok 41−49 Kuliah Sistem Operasi GNU Free Document License
2.33
Struktur Sistem Struktur
Sederhana Metode pendekatan Layer / Level Mikrokernel
® 2003 Kelompok 41−49 Kuliah Sistem Operasi GNU Free Document License
2.34
Struktur Sederhana Dimulai
dengan sistem yang kecil, sederhana dan terbatas kemudian berkembang dengan scope original Struktur sistem MS-DOS: Æ disusun
untuk mendukung fungsi yang banyak pada space yang kecil
® 2003 Kelompok 41−49 Kuliah Sistem Operasi GNU Free Document License
2.35
Struktur Sistem UNIX Terdiri
dari 2 bagian:
Æ Kernel
:
• interface • device drivers Æ Program
Sistem
® 2003 Kelompok 41−49 Kuliah Sistem Operasi GNU Free Document License
2.36
Pendekatan Leyer / Level Layer
adalah implementasi dari object abstrak yang merupakan enkapsulasi dari data dan operasi yang bisa memanipulasi data tersebut Layer paling bawah : hardware Layer paling atas : user interface
® 2003 Kelompok 41−49 Kuliah Sistem Operasi GNU Free Document License
2.37
Tingkatan Desain Sistem Operasi Level 13 12 11 10 9 8 7 6 5 4 3 2 1
Nama Shell User Process Directories Devices File system Communications Virtual memory Local seondary store Primitive Process Interrupts Procedurs Instruction set Electronics circuits
Object User programming environment User process Directories External devices File Pipes Segments, pages Blocks of data, device channels Primitive process, semaphore,ready list Interrupt-handling program Procedurs, call-stack, display Stack, microprograminterpreter, scalar, and array data Registers, gates, buses, etc
® 2003 Kelompok 41−49 Kuliah Sistem Operasi GNU Free Document License
2.38
Pendekatan Layer / Level Keuntungan:
modularitas
Æ mempermudah
debug dan verifikasi sistem Æ layer pertama bisa didebug tanpa mengganggu sistem yang lain Kesulitan: Æ hanya
bisa menggunakan layer dibawahnya Æ tidak efisien dibandingkan tipe yang lain
® 2003 Kelompok 41−49 Kuliah Sistem Operasi GNU Free Document License
2.39
Mikrokernel (1) Menyusun
sistem operasi dengan menghapus semua komponen yang tidak esensial dari kernel, dan mengimplementasikannya sebagai sistem program dan user-level Fungsi utama : mendukung fasilitas komunikasi antara program klien dan bermacam-macam layanan yang juga berjalan di user-space ® 2003 Kelompok 41−49 Kuliah Sistem Operasi GNU Free Document License
2.40
Mikrokernel (2) Keuntungan: Æ ketika
layanan baru akan ditambahkan ke user-space, kernel tidak perlu di modif Æ OS lebih mudah ditempatkan pada suatu design hardware ke design lainnya Æ mendukung keamanan reliabilitas lebih Contoh Æ Tru64
sistem operasi : UNIX, MacOSX, QNX
® 2003 Kelompok 41−49 Kuliah Sistem Operasi GNU Free Document License
2.41
Mesin Virtual (1)
Mesin virtual mengambil pendekatan layer sebagai kesimpulan logis. Mesin virtual memperlakukan hardware dan sistem operasi seolah-olah berada pada level yang sama sebagai hardware. Pendekatan Mesin virtual menyediakan sebuah interface yang identik dengan underlying bare hardware. Sistem Operasi membuat ilusi dari banyak proses, masing-masing dieksekusi pada prosesornya sendiri dengan virtual memorinya sendiri. VM dibuat dengan pembagian sumber daya oleh physical computer
® 2003 Kelompok 41−49 Kuliah Sistem Operasi GNU Free Document License
2.42
Mesin virtual (2)
Sumber daya dari physical computer dibagi untuk membuat VM Æ Penjadwalan
CPU bisa menciptakan penampilan seakan user mempunyai prosesor sendiri Æ Spooling dan sistem data bisa menyediakan virtual card readers dan virtual line printers Æ Sebuah time-sharing terminal user yang normal melayani sebagaimana operator konsulat
VM software membutuhkan disk space untuk menyediakan Virtual memory dan spooling, yaitu sebuah virtual disk
® 2003 Kelompok 41−49 Kuliah Sistem Operasi GNU Free Document License
2.43
Keuntungan Penggunaan Mesin virtual
Keamanan bukanlah masalah Æ VM
mempunyai pelindungan lengkap pada berbagai sistem sumber daya Æ Tidak ada pembagian sumber daya secara langsung Sharing minidisk dan network diimplementasikan pada software
VM sistem adalah kendaraan yang “sempurna” untuk penelitian dan pengembangan sistem operasi Æ Dengan
VM perubahan suatu bagian tidak akan mempengaruhi komponen yang lain
® 2003 Kelompok 41−49 Kuliah Sistem Operasi GNU Free Document License
2.44
Kerugian Penggunaan VM
VM sulit diimplementasikan 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 di pysical mode. Akibatnya, saat instruksi yang hanya membutuhkan virtual monitor mode dijalankan, register berubah dan bisa berefek pada virtual user mode, bahkan bisa merestart VM
Waktu yang dibutuhkan I/O bisa lebih cepat(karena ada spooling), tapi bisa lebih lambat( karena diinterpreted)
® 2003 Kelompok 41−49 Kuliah Sistem Operasi GNU Free Document License
2.45
Java Virtual Machine (1) Program Java yang telah dicompile adalah platform-neutral bytecodes yang dieksekusi oleh Java Virtual Machine(JVM) JVM terdiri dari:
Æ pengeload
kelas Æ pemverifikasi kelas Æ runtime interpreter
Just In-Time(JIT) compilers meningkatkan performance
® 2003 Kelompok 41−49 Kuliah Sistem Operasi GNU Free Document License
2.46
Java Virtual Machine (2) Java
Development Environment(JDE) terdiri dari sebuah compile time environment yang mengubah java sourcescode menjadi bytecode, dan sebuah run time environment yang menyediakan Java platform system untuk tuan rumah
® 2003 Kelompok 41−49 Kuliah Sistem Operasi GNU Free Document License
2.47
Perancangan Sistem
Masalah : menentukan tujuan dan spesifikasi sistem. Perancangan sistem dipengaruhi oleh hardware dan jenis sistem sehingga requirement-nya akan lebih sulit untuk dispesifikasikan. Requirement terdiri dari tujuan user dan tujuan sistem. User ingin sistem 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.
® 2003 Kelompok 41−49 Kuliah Sistem Operasi GNU Free Document License
2.48
Mekanisme dan Kebijakan
Mekanisme menjelaskan bagaimana melakukan sesuatu, kebijakan menentuakan apa yang akan dilakukan Pemisahan kebijakan dari mekanisme adalah hal yang sangat penting, ini ,mengijinkan fleksibilitas yang tinggi jika kebijakan akan diubah suatu saat. Kebijakan penting untuk semua alokasi sumber daya dan menjadwalkan masalah, menentukan perlu atau tidaknya mengalokasikan sumber daya. Mekanisme yang menentukan apa dan bagaimana
® 2003 Kelompok 41−49 Kuliah Sistem Operasi GNU Free Document License
2.49
Implementasi Sistem (1) Secara
tradisional, sistem operasi ditulis dalam bahasa assembly, tapi sekarang sering dibuat dalam bahasa tingkat tinggi. Keuntungan ditulis dalam bahasa tingkat tinggi adalah Æ kodenya
bisa ditulis dengan lebih cepat Æ lebih padat Æ mudah dimengerti dan didebug ® 2003 Kelompok 41−49 Kuliah Sistem Operasi GNU Free Document License
2.50
Implementasi Sistem (2) Sistem
operasi yang ditulis dengan bahasa tingkat tinggi akan mudah dipindahkan ke hardware lain, tapi bisa mengurangi kecepatan dan membutuhkan storage yang lebih banyak.
® 2003 Kelompok 41−49 Kuliah Sistem Operasi GNU Free Document License
2.51
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 sistem hardware dari sebuah data, antara lain sebagai berikut: Æ Æ Æ Æ
CPU apa yang digunakan, opsi yang diinstal Berapa banyak memori yang tersedia Peralatan yang tersedia Sistem operasi opsi apa yang diinginkan atau parameter apa yang digunakan
Satu kali info diperoleh, bisa digunakan dengan berbagai cara
® 2003 Kelompok 41−49 Kuliah Sistem Operasi GNU Free Document License
2.52