640 likes | 1.03k Views
Struktur Sistem Operasi. Ida Nurhaida, ST., MT. Pembahasan. Komponen-komponen Sistem Layanan OS System Calls System Programs System Structure Virtual Machines System Design & Implementasi System Generation. Struktur-struktur OS.
E N D
StrukturSistemOperasi Ida Nurhaida, ST., MT.
Pembahasan • Komponen-komponenSistem • Layanan OS • System Calls • System Programs • System Structure • Virtual Machines • System Design & Implementasi • System Generation
Struktur-struktur OS • Tanpaadanyamodularitasmakafungsidanstruktur OS secarakeseluruhanrumit • Dibagidalammoduldenganfungsitertentu, denganakses (input, output) tertentu
Modul/KomponendalamSistem • ModulManajemenProses • ModulManajemenMemori • ModulManajemen Storage/Data • ModulManajemen I/O danBerkas (File) • ModulProteksi • Modul Networking • Modul Interface dengan user (command interpreter)
Manajemen Proses • Prosesadalah program yang dieksekusi, memerlukan resource, CPU time, memory, file, I/O device. • OS bertanggungjawabdalam : • Create & delete ; baikproses user maupunsistem • Suspend & meneruskanproses • Mendukungmekanisme-mekanismesinkronisasiproses • Mendukungmekanismeproses communication • Mendukungmekanismepenanganan deadlock
Manajemen Memori Utama • Memory merupakan array words/byte dalamjumlahbesar. Akses share data secaracepatoleh CPU dan I/O device • Volatile storage device • OS bertanggungjawabdalam : • Keep track bagianmanadarimemori yang sedangdigunakan & olehsiapa • Memutuskanproses-prosesmana yang di-loadkeruangmemorisaatavailable • Alokasi & dealokasiruangmemori
Manajemen Secondary-Storage • Back up main memory, non-volatile • Data dan program disimpandisimpandalam secondary storage (penyimpanansekunder; disk) • OS bertanggungjawabdalam : • Bagaimanamengelolaruang yang kosongdalam storage • Bagaimanamengalokasi storage • Bagaimanamelakukan scheduling penggunaan disk
Manajemen I/O • OS bertanggungjawabdalam : • “menyembunyikan” kekhususanperangkatkerastertentudari user • Melakukanoptimalisasidalamakses • Buffer cache system : menampungsementara data dari/kepiranti I/O • Spooling : melakukanpenjadwalanpemakaian I/O sistemsupayalebihefisien (antrian, dsb) • Interface device-driver : open, read, write, close • Drivers untukspesifikperangkatkeras : • Menyediakan driver untukmelakukanoperasi detail untukperangkatkerastertentu
Manajemen File • Berkas (File) adalahkumpulaninformasi yang berhubungan (sesuaidengantujuanpembuatberkastersebut). Biasanyaberkasmerepresentasikan program dan data • OS bertanggungjawabdalam : • Pembuatandanpenghapusan file • Pembuatandanpenghapusandirektori • Mendukungprimitif-primitifmanipulasi file dandirektori • Pemetaan file dalam secondary storage • Backup file dalam media yang stabil (non-volatile)
Networking (Distributed System) • Distributed system : kumpulanprosesor yang terdistribusi, tidakberbagi (share) memory atau clock. Setiapprosesormemilikimemorilokalmasing-masing • Prosesor-prosesordalamsistemterhubungdalamjaringankomunikasi • Sebagaipengatur (protokol) dalamkomunikasi data • Menentukanstrategi-strategimenanganimasalah-masalahkomunikasi • Mengatur network file system • Denganadanya shared resource : • Peningkatankecepatankomputasi • Peningkatanpenyediaan data • Meningkatkanreliabilitas (kehandalan)
Sistem Proteksi • Mekanismeuntukmengontrolakses yang dilakukanoleh program, prosesoratau user ke resource-resource dalamsistemkomputer • Mekanismeproteksi : • Dapatmembedakanpemakaian yang sah (authorized) & yang tidaksah (unauthorized) • Spesifikasikontrol yang dikenakan • Menyediakanalatuntukpemberlakuansistem
Command Interpreter (1) • Memungkinkansistemberkomunikasidengan user melaluiperintah-perintahmenjalankanproses yang telahdidefinisikandanparameternyasertamelakukanrespon • OS menungguinstruksidari user (command driven) • Control statement berhubungandengan : • process creation and management • I/O handling • secondary-storage management • main-memory management • file-system access • protection • networking
Command Interpreter (2) • Program yang membacainstruksidanmengartikan control statements (keinginanpengguna) umumnyadisebut : • control-card interpreter • command-line interpreter • UNIX Shell • Command-Interpreter System sangatbervariasidarisatusistemoperasikesistemoperasi yang lain dandisesuaikandengantujuandanteknologi I/O peranti yang ada. • Contohnya : CLI, Windows, Pen-based (touch), dll
Layanan Operating System (1) • Eksekusi program : load program user ke memory danmenjalankannya (run) • Operasi-operasi I/O : penggunatidakbisamengontrol I/O secaralangsung (untukefisiensi & keamanan), sistemharusbisamenyediakanmekanismeuntukmelakukanoperasi I/O • Manipulasi file system : read, write, create & delete
Layanan Operating System (2) • Komunikasiantarproses : • Baik yang rundikomputer yang samaatauberlainan via jaringan. Implementasimelaluisharedmemoryataumessagepassing • Error detection • Menjaminkomputasi yang benardenganmendeteksi error : CPU, memori, I/O device, atau user program
Layanan OS Internal • Resource allocation • Alokasi resources bagisejumlah user atau job yang running padasaat yang sama • Accounting • Mencatat user mana, berapabanyak, dan resource komputerapasaja (untuk account billing ataupenghitunganstatistik) • Protection • Menjamin agar semuaakseske resource-resource sistemterkendali
System Call • Suatu bentuk komunikasi antara user dan hardware • SistemOperasimelalui shell-nya akan menangkap perintah dari user yang kemudian akan dikomunikasikan melalui system calls • Shell adalah layer yang berfungsi sebagai interface antara user dan kernel.Shellini merupakan layer yang menerima interaksi dari user secara langsung • Menyediakanantarmukaantaraproses (program yang run) dengan OS • Umumnyadalambentukinstruksibahasa assembly • Bahasauntuk system programming tingkattinggibiasanyamemungkinkan system call dilakukanlangsung • Misal C, C++, Bliss, PL/360 • Tigametodeuntuk passing parameter antara running program danOS: • Pass parameter melalui register • Menyimpanparameter dalamblokatautabelpada memory, danalamattabeldi-passing sebagai parameter dlm register • Menyimpanparameter (push) kedalam stack (oleh program), danpop off parameter pada stack (oleh OS)
Contoh System Call • Urutan System call untukmeng-copy isi file ke file yang lain
HubunganAPI – System Call – OS (1) • API terdapat fungsi-fungsi/perintah-perintah untuk menggantikan bahasa yang digunakan dalam system calls • System call interface ini akan menerjemahkan perintah dalam API dan kemudian akan memanggil system calls yang diperlukan.
Hubungan API – System Call – OS (2) • Untuk membuka fileuser menggunakan program bantuan API, maka perintah dari user tersebut diterjemahkan dulu oleh program menjadi perintah open(). • Perintah open() tadi diterjemahkan ke dalam bentuk system call oleh system call interface. Implementasi perintah open() tadi bisa bermacam-macam tergantung dari sistem operasi yang kita gunakan.
Standard C Library Example • C program memanggil fungsi printf() library call, yang memanggil write() system call
Jenis-jenis System Call • Process Control • File Manipulation • Device Manipulation • Information Maintenance • Communication
Process Control • Selesai, abort • Load, eksekusi • Membuatdanmengakhiriproses • Mengambildanmengesetatributproses • Menungguwaktu • Wait event, signal event • Alokasidanpengosonganmemori
Eksekusi MS-DOS At System Start-up Running a Program
Model Komunikasi • Komunikasidapatdilakukandengancara message passing atau shared memory Shared Memory Message Passing
Pemrograman Sistem • Pemrogramansistemmenyediakanlingkungan yang memungkinkanpengembangan program daneksekusiberjalandenganbaik • Dapatdikategorikan : • ManipulasiBerkas (File) • Informasi Status : tanggal, jam, jumlahmemori, disk, dll • ModifikasiBerkas • Mendukungbahasapemrograman : kompilator, assembly, interpreter • Loading & eksekusi program • Komunikasi : menyediakanmekanismekomunikasiantaraproses, user dansistemkomputer yang berbeda • Dari sisi user, operasionalsistemdilakukandengan system program, bukan system call
Struktur Sistem • StrukturSederhana • MetodePendekatanTerlapis (Layered Approach) • Mikrokernel
Struktur Sederhana • Dimulaidengansistem yang kecil, sederhanadanterbataskemudianberkembangdengancakupan original • Struktursistem MS-DOS : • disusununtukmendukungfungsi yang banyakpadaruang yang kecil
Struktur Sistem UNIX (1) • Memilikistruktur yang terbatas • Terdiridari 2 bagian : • Kernel : • Beradadibawahantarmuka system call dandiatas hardware • Menyediakansistemberkas, penjadualan CPU, manajemenmemori, device driver, danfungsi OS lainnya • Program Sistem
Struktur Sistem UNIX (2) • Kernel terdiridari • device driver • interface
Pendekatan Terlapis (Layered Approach) (1) • Lapisanadalahimplementasidariobjekabstrak yang merupakanenkapsulasidari data danoperasi yang bisamemanipulasi data tersebut • Lapisan paling bawah : perangkatkeras • Lapisan paling atas : antarmukapengguna
Pendekatan Terlapis (Layered Approach) (2) • Keuntungan : modularitas • Mempermudahdebug danverifikasisistem • Lapisanpertamabisadi-debug tanpamengganggusistem yang lain • Kesulitan : • Hanyabisamenggunakanlapisandibawahnya • Tidakefisiendibandingkantipe yang lain
System Structure – Layered Approach • Suaturancangan yang pertamadigunakandalam OS, terdiriatas 6 layer : THE Operating System (Dijkstra, 1968) • Level 5 : user program • Level 4 : buffering untuk input & output device • Level 3 : operator-console device driver • Level 2 : memory management • Level 1 : CPU scheduling • Level 0 : hardware THE : TechnischeHogeschool at Eindhoven
Kernel • Kategori kernel : • Monolithic kernel. Kernel yang menyediakanabstraksiakseskeperangkatkeras yang kayadanhandal. Semualayanan OS dilakukanpada kernel . • Microkernel. Kernel yang menyediakanhanyasekumpulankecilabstraksiperangkatkerassederhana, danmenggunakanaplikasi-aplikasi yang disebutsebagai server untukmenyediakanfungsi-fungsilainnya. • Hybrid (modifikasidari microkernel). Kernel yang mirip microkernel, tetapiiajugamemasukkanbeberapa service tambahandi kernel (network stack, file system) agar menjadilebihcepat. • Exokernel. Kernel yang tidakmenyediakansamasekaliabstraksi hardware, tapiiamenyediakansekumpulan library yang menyediakanfungsi-fungsiakseskeperangkatkerassecaralangsung.
Diagram Monolithic Kernel • Semua code pada address space yang sama (kernel space) • Meningkatkan performance system • Mudahdalamhal design danimplementasi • Bugs dapatmenyebabkansistemcrash
Diagram Mikrokernel • Banyaklayanan OS yang dijalankanpadauser space untuk me-minimalisasi kernel (seperti networking) • Modularity : mudahdalam me-memaintain code
Diagram Hybrid Kernel • Running beberapalayanan OS (network stack, file system) dalam kernel space untukmengurangiperformance overheaddarimetode microkernel, tetapitetapmenjalankan kernel code (seperti device driver) sebagai server diuser space
Mikrokernel (1) • Menyusunsistemoperasidenganmenghapussemuakomponen yang tidakesensialdarikernel, danmengimplementasikannyasebagaisistem program dan level pengguna • Fungsiutama : mendukungfasilitaskomunikasiantara program kliendanbermacam-macamlayanan yang jugaberjalandiuser-space
Mikrokernel (2) • Keuntungan : • Ketikalayananbaruakanditambahkankeuser-space, kernel tidakperludi-modif • OS lebihmudahditempatkan (porting) padasuatudesainperangkatkeraskedesainperangkatkeraslainnya (asrsitektursistem yang baru) • Mendukungkeamanan & reliabilitaslebih • Contohsistemoperasi : • Tru64 UNIX, MacOSX, QNX
Virtual Machine (VM) (1) • Menggunakan layered approach • Melihat hardware dan kernel OS sebagaisuatu “hardware” • Menyediakan interface yang identikdenganunderlaying bare hardware • OS menyediakan illusion daribanyakproses yang masing-masingberjalanpadaprosesornyasertamemorinya (virtual) sendiri
Virtual Machine (VM) (2) • Resource darikomputerfisiknyadi-share menjadisejumlahmesin-mesin virtual • CPU scheduling yang menciptakanpenampilanseakan-akan user memilikiprosesorsendiri • Spooling & file system menyediakanvirtual card readers danvirtual line printers • Sebuahtime-sharing terminal userberlakusebagai virtual console • VM software membutuhkanruangdidalam disk untukmenyediakanmemori virtual danspooling, yaitusebuah disk virtual
Perbandingan Model Sistem Virtual Machine Non-virtual Machine
Keuntungan & Kerugian VM (1) • Memberikanproteksiterhadap system resources karenasetiap VM terisolasidari yang lainnya • Isolasiinitidakmemungkinkandirect sharingdari resources • Merupakanalatresearch & developmentdalam OS