Gambaran Umum Sistem Operasi Sistem Operasi (TKE133117) Program Studi Teknik Elektro, Unsoed Iwan Setiawan <stwn at unsoed.ac.id> Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 1/89 Elemen Sistem Komputer Stallings, 2011. Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 2/89 Memindah, menyimpan, dan memproses informasi. Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 3/89 Sistem Operasi (1) ● ● ● Lapisan perangkat lunak yang mengelola semua komponen dalam sebuah sistem komputer. (Tanenbaum, 2009) Perangkat lunak yang mengendalikan eksekusi perangkat lunak aplikasi dan bertindak sebagai antarmuka antara aplikasi dan perangkat keras komputer. (Stallings, 2012) Perangkat lunak terbesar dan terumit pada sebuah sistem komputer. Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 4/89 Sistem Operasi (2) ● Pada Sistem Operasi (SO) seperti Windows atau Linux dibutuhkan jutaan baris kode untuk membangunnya. Tanenbaum, 2009. Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 5/89 Tujuan SO Tujuan Sistem Operasi ● ● ● Kenyamanan: membuat komputer nyaman untuk digunakan. Antarmuka. Pemrogram dan pengguna awam. Efisiensi: membuat penggunaan sumber daya pada sebuah sistem komputer menjadi lebih efisien. Mampu untuk dikembangkan lebih lanjut: memungkinkan pengembangan, pengujian, dan penambahan fungsi baru secara efektif, tanpa mengganggu layanan yang sudah tersedia. Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 7/89 Fungsi SO Fungsi SO ● Antarmuka pengguna dan komputer. ● Pengelola sumber daya komputer. Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 9/89 Fungsi SO: Antarmuka (1) ● ● ● ● Fungsi SO: sebagai antarmuka bagi pengguna dan aplikasi dengan perangkat keras komputer. Pengguna: pemrogram dan pengguna akhir. Melihat SO “dari atas ke bawah” (top-down). Disebut pula sebagai fungsi perluasan mesin karena mesin sebagai perangkat keras diperluas ke atas (di dalam hirarki lapisan sistem komputer). Disebut pula sebagai fungsi mesin virtual karena pengguna seolah-olah menggunakan mesin secara langsung melalui SO, termasuk pemanfaatan fasilitas dan layanan sistem komputer secara umum. Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 10/89 Fungsi SO: Antarmuka (2) ● Disebut pula sebagai fungsi abstraksi karena SO menyembunyikan kompleksitas perangkat keras yang sebenarnya dan memberikan antarmuka yang nyaman bagi pemrogram. ● ● Akses ke sumber daya komputer dapat dilakukan melalui antarmuka layanan yaitu system call. Pengguna menggunakan program aplikasi. Bagaimana jika pemrogram harus melakukan pengembangan program aplikasi dalam tingkat bahasa mesin? ● ● Pemrogram harus paham arsitektur dan rincian tingkat bawah dari sebuah komputer. Kompleks. Beda perangkat keras, beda cara memprogram. Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 11/89 Pembacaan Floppy Disk ● ● ● ● Terdapat perintah yang digunakan untuk memuat nilai pada register perangkat atau I/O AR. Digunakan untuk membaca, menulis, memindahkan lengan cakram, melakukan format, termasuk inisialisasi, sensing, mereset, kalibrasi kontroler dan drive-nya. Masing-masing memiliki parameter tersendiri, misal: blok cakram yang akan dibaca, jumlah sektor per track, mode perekaman pada medium fisik, ruang antar sektor, dan bagaimana aksi ketika ada tanda pada alamat data yang telah dihapus. Kemudian dalam operasinya terdapat hal-hal seperti status balik (return status) dan galat, motor drive apakah sudah dihidupkan atau belum, waktu tunda antara pembacaan dan penulisan, dan lain-lain. Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 12/89 Fungsi SO: Antarmuka (3) ● ● Utilitas dan pustaka tersedia untuk memudahkan pemrogram aplikasi. Berisi fungsi-fungsi yang sering digunakan dalam membuat program serta untuk mengakses fasilitas dan layanan di dalam sistem komputer. Antarmuka yang tersedia di dalam sistem komputer tersedia sesuai dengan tingkat abstraksinya. ● Instruction Set Architecture (ISA). ● Application Binary Interface (ABI). ● Application Programming Interface (API). Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 13/89 Stallings, 2011. Infrastruktur Perangkat Keras/Lunak Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 14/89 Instruction Set Architecture (ISA) ● ● ● ● Kumpulan instruksi bahasa mesin yang merupakan antarmuka antara perangkat keras dan perangkat lunak. Terdiri dari set instruksi, register prosesor, ukuran word, mode pengalamatan memori, format alamat dan data. Baik aplikasi maupun program sistem seperti utilitas dan pustaka dapat mengaksesnya secara langsung melalui user ISA. SO memiliki tambahan instruksi mesin yang berkaitan dengan pengelolaan sumber daya sistem yaitu system ISA. Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 15/89 Application Binary Interface (ABI) ● ● ● Standar portabilitas biner/binary portability standard antar program. ABI mendefinisikan antarmuka system call ke SO dan sumber daya perangkat keras dan layanan yang tersedia melalui user ISA. Portabilitas biner program. Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 16/89 Application Programming Interface (API) ● ● Menyediakan akses ke sumber daya perangkat keras dan layanan kepada program (aplikasi) melalui user ISA dengan library call bahasa aras tinggi. Dengan adanya API, sebuah program aplikasi dapat diporting ke sistem lain yang menerapkan API yang sama dengan hanya mengkompilasi ulang. ● Setiap system call umumnya dilakukan melalui pustaka. ● Portabilitas kode sumber program. Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 17/89 Linux API dan POSIX API Shmuel Csaba Otto Traian, CC By-SA, https://en.wikipedia.org/wiki/File:Linux_kernel_API.svg Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 18/89 Beberapa Layanan Sistem Operasi (1) ● ● ● ● Pengembangan program: menyediakan bermacam fasilitas dan layanan untuk membantu pemrogram membuat program. Editor dan debugger tidak termasuk ke dalam SO. Eksekusi program: membantu mengeksekusi dan menjadwalkan program yang dijalankan oleh pengguna. Akses ke perangkat I/O: menyediakan antarmuka yang sederhana untuk mengakses set instruksi dan sinyal kontrol dari operasi I/O. Kontrol akses ke berkas: menyediakan antarmuka ke perangkat I/O penyimpan dan struktur data yang tersimpan di sana, termasuk mekanisme perlindungan akses ke berkas, khususnya pada sistem multipengguna. Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 19/89 Beberapa Layanan Sistem Operasi (2) ● ● ● Akses sistem: mengendalikan akses ke dalam sistem secara menyeluruh maupun ke beberapa sumber daya spesifik. Terdapat fungsi perlindungan akses sumber daya dan data dari pengguna yang tidak berhak serta menyelesaikan konflik akses sumber daya. Deteksi dan respon terhadap galat: menyediakan respon ke perangkat lunak di atasnya terhadap galat internal ataupun eksternal sistem. Respon dapat berupa mematikan program yang menimbulkan galat, mencoba ulang operasi, atau sekadar melaporkan galat ke aplikasi. Perakunan/accounting: mengumpulkan statistik bermacam sumber daya dan pemantauan unjuk kerja sistem, termasuk untuk billing. Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 20/89 Fungsi SO: Pengelola Sumber Daya (1) ● Sebuah komputer terdiri dari banyak sumber daya yang dapat digunakan untuk memindahkan, menyimpan, dan memproses data, serta melakukan pengendalian terhadap penggunaannya. ● SO bertanggung jawab untuk mengelola sumber daya tersebut. ● Melihat SO “dari bawah ke atas” (bottom-up). ● Kasus saat sistem komputer menjalankan banyak program dalam satu waktu. Contoh: ● ● pencetak. Bagaimana jika terdapat 2 program yang menggunakan pencetak pada saat yang bersamaan? komputer dalam jaringan. Bagaimana mengatur masukan dan keluaran pada 2 komputer yang berbagi perangkat atau berkas yang sama? Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 21/89 Fungsi SO: Pengelola Sumber Daya (2) ● Mengelola dan melindungi memori, perangkat I/O, dan sumber daya lainnya. ● ● ● ● Mengendalikan alokasi sumber daya tersebut. Yang dibagi bersama bukan hanya perangkat kerasnya saja tetapi juga informasi seperti berkas dan basis data. Berbagi bersama/multiplexing, baik ruang maupun waktu. Perlu ada penjadwalan dalam penggunaan sumber daya. Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 22/89 Mekanisme Kendali SO yang Unik ● ● ● SO merupakan perangkat lunak komputer dan dijalankan di atas perangkat keras. SO masih tergantung pada prosesor untuk mendapatkan kendali terhadap sumber daya komputer. SO menyediakan instruksi yang akan dijalankan oleh prosesor, seperti halnya perangkat lunak lain secara umum. ● ● Yang membedakan hanyalah tujuannya. SO mengarahkan prosesor dalam penggunaan dengan sumber daya komputer lainnya dan dalam waktu eksekusi dirinya sendiri terhadap perangkat lunak lain. Prosesor harus menjalankan SO dan program lainnya. Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 23/89 Fungsi SO: Pengelola Sumber Daya (3) Stallings, 2012. Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 24/89 Mode Kernel dan Pengguna ● Melindungi perangkat keras. ● Secara umum, SO berjalan pada mode kernel/supervisor. ● Pengguna tidak diijinkan mengubah SO sembarangan. ● ● ● Tetapi Ia boleh mengubah editor, kompilator, atau perangkat lunak yang berada pada mode pengguna. Perbedaan mode kernel dan pengguna pada sistem tertanam/embedded relatif kabur. Tergantung basis perangkat lunak. Pada beberapa model seperti mikrokernel, bagian-bagian tertentu dari SO berada pada mode pengguna. Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 25/89 Aplikasi Aplikasi Aplikasi Shared Runtime Libraries mode pengguna mode kernel Antarmuka System Call memory manager task manager file manager network manager Komponen Device Driver SO/Kernel Cruse, B.A. 2004. CS 326: Operating Systems. Perangkat keras 26/89 Graphical user applications Web browser, office, multimedia... Command line applications ls, mkdir, wget, ssh, gcc, busybox, shells (scripts)... Shared libraries User space libjpeg, libstdc++, libxml... C library GNU C library, uClibc... Operating system kernel Linux, Hurd... Kernel Space Hardware Hardware and peripherals CC By-SA, free-electrons.com Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 27/89 Perkembangan SO Mengapa SO Perlu Dikembangkan? ● Peningkatan/upgrade perangkat keras. Tipe perangkat keras yang lebih baru. ● ● ● ● Di versi awal, Unix dan Macintosh tidak menerapkan mekanisme paging, karena pada saat itu SO berjalan pada prosesor tanpa perangkat keras paging. Versi selanjutnya, SO tersebut menambahkan kemampuan untuk memanfaatkan mekanisme paging. Penggunaan terminal grafis dan mode-halaman (bukan mode line-at-a-time) berpengaruh pada desain SO. Dukungan kartu grafis, dan lain-lain. Layanan baru. ● Fitur pengukuran dan kendali pada SO. Memudahkan pengguna untuk melihat dan meningkatkan unjuk kerja/fitur sistem secara fleksibel. CPUFreq: melihat dan mengeset frekuensi dan penskalaan/scaling tegangan prosesor secara dinamis. Terdapat beberapa governor/policy/kebijakan. Algoritma penjadwalan yang dapat dikonfigurasi sesuai kebutuhan. – ● ● Perbaikan. Setiap SO memiliki kesalahan program/bug. Proprietary/non-free versus Free Software/Open Source. Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 29/89 Karena perkembangan tersebut muncul kebutuhan desain SO yang lebih baik. (modular, dokumentasi, dst.) Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 30/89 Tak lepas dari sejarah arsitektur komputer. Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 31/89 Geni, CC By-SA, https://en.wikipedia.org/wiki/File:Babbage_Difference_Engine.jpg Charles Babbage (1791-1871) Charles Babbage (1791-1871) ● ● ● Mesin analitik: mekanik, perlu teknologi yang presisi untuk membuat roda, gir, dan gigi. Charles sadar bahwa Ia membutuhkan “perangkat lunak” untuk mesin analitiknya. Ada Lovelace berkorespondensi dan mengembangkan algoritma untuk mesin tersebut. Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 33/89 Sejarah Komputer dan SO (1) ● ● 1945-1955: Vacuum Tubes ● Z3, Collosus, Mark I, ENIAC. ● Belum ada bahasa pemrograman dan SO. ● Menggunakan kabel dan plugboard. ● Komputasi: kalkulasi numerik sederhana. ● Awal 1950: kartu berlubang/punched card. 1955-1965: Transistor dan Sistem Batch ● ● Komputer lebih handal. Digunakan oleh perusahaan besar dan universitas. Mainframe di dalam ruang berpendingin. Mulai ada perbedaan yang jelas antara perancang, pembangun, operator, pemrogram, dan personil pemeliharaan. ● Pemrograman dengan bahasa rakitan/assembly, atau FORTRAN. ● Menggunakan kartu berlubang yang ditumpuk. Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 34/89 Sistem Batch (1) Tanenbaum, 2009. Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 35/89 Sistem Batch (2) Batch of jobs 3 1 6 4 2 5 Tanenbaum, 2009. Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 36/89 Sistem Batch (3) Tanenbaum, 2009. Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 37/89 SO: Fortran Monitor System (FMS), IBSYS untuk IBM 7094. Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 38/89 Stallings, 2012. Tata Letak Memori untuk Monitor Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 39/89 Job Control Language (JCL). Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 40/89 Kebutuhan Fitur Perangkat Keras ● ● ● ● Proteksi memori. Program pengguna yang dijalankan tidak boleh mengubah bagian memori yang menyimpan monitor. Pewaktu/timer. Digunakan untuk menjaga agar tidak ada pekerjaan/job yang menguasai penggunaan sistem komputer. Setiap pekerjaan diberi waktu eksekusi. Instruksi yang memiliki hak tinggi/privileged instruction. Instruksi pada aras mesin hanya dapat dijalankan oleh monitor, khususnya instruksi berkaitan dengan I/O. Interrupt. Dapat memudahkan SO untuk memberikan dan mengambil alih kendali dari program pengguna. Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 41/89 mode kernel versus mode pengguna Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 42/89 Sejarah Komputer dan SO (2) ● 1965-1980: IC dan Multiprogramming ● Terdapat 2 lini produk. Komputer untuk ilmu pengetahuan/rekayasa, berskala besar, seperti 7094. – Komputer untuk kegiatan komersial, berfungsi untuk menyimpan dan mencetak, seperti 1401. IBM System/360 menggabungkan 2 lini produk tersebut. Penggunaan Integrated Circuit (IC). – ● Saat ini ada zSeries. Biasanya untuk server aplikasi dengan basis data yang besar. Multiprogramming: beberapa program di memori dalam satu waktu. – ● ● Spooling, Simultaneous Peripheral Operation On Line. Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 43/89 Multiprogramming Tanenbaum, 2009. Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 44/89 Multiprogramming? Stallings, 2011. Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 45/89 Multiprogramming/Multitasking (1) Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 46/89 Multiprogramming/Multitasking (1) Stallings, 2011. Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 47/89 Multiprogramming/Multitasking (2) Stallings, 2011. Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 48/89 Multiprogramming/Multitasking (3) Stallings, 2012. Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 49/89 Multiprogramming/Multitasking (4) Stallings, 2011. Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 50/89 Pengelolaan memori. Algoritma penjadwalan. Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 51/89 Sejarah Komputer dan SO (3) ● 1965-1980: IC and Multiprogramming (cont.) ● Sistem time-sharing muncul karena kebutuhan respon yang cepat. Satu sistem dengan banyak pengguna dengan terminal daring/online. – Komputer dapat menyediakan layanan yang cepat, dan interaktif untuk banyak pengguna, tetapi juga dapat menjalankan batch job di belakang layar. Compatible Time Sharing System (CTSS) di MIT. – ● Kebutuhan proteksi perangkat keras. Konsep “computer utility”. Muncul MULTiplexed Information and Computing Service (MULTICS), mulai dikembangkan oleh MIT, Bell Labs, General Electric. – ● Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 52/89 Batch Multiprogramming vs. Time Sharing Stallings, 2011. Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 53/89 Generasi Komputer dan SO (3) ● 1965-1980: IC dan Multiprogramming (cont.) ● MULTICS berpengaruh besar terhadap perkembangan SO. ● Muncul minikomputer: DEC PDP-1 sampai PDP-11. ● Ken Thompson menulis versi MULTICS “mini” dengan satu pengguna pada target PDP-7. Kemudian berkembang menjadi UNIX. – Kode sumber tersedia, banyak organisasi mengembangkan versinya sendiri. Masalah kompatibilitas. – System V dari AT&T, dan Berkeley Software Distribution (BSD) dari Universitas California di Berkeley. – POSIX: standar IEEE untuk antarmuka system call pada sistem bergaya UNIX. MINIX muncul tahun 1987. MINIX 3. – ● ● Terinpirasi MINIX, Linus Torvalds mengembangkan Linux. Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 54/89 Generasi Komputer dan SO (4) ● 1980-sekarang: Personal Computer (PC) ● Rangkaian Large Scale Integration (LSI). ● Mikrokomputer, yang kemudian menjadi PC. Lebih murah. ● 1974: Intel 8080, CPU 8 bit, general purpose. Gary Kildall, sistem operasi berbasis diska, Control Program for Microcomputers (CP/M). – Digital Research: mengembangkan dan menjual CP/M. – Zilog Z80. IBM PC. Bill Gates dengan lisensi interpreter BASIC. – ● Bill Gates membeli Disk Operating System (DOS) dari Seattle Computer Products seharga 75000 dolar. Paket DOS/BASIC, menjadi MS-DOS. 1983: IBM PC/AT dengan Intel 80286. 80386, 80486. XENIX. – ● ● Doug Engelbart di Stanford Research Institute: GUI. XEROX PARC. Steve Jobs dan Apple. Windows, Windows 95. 98. NT, 2000. Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 55/89 Linimasa Pengembangan Windows Kristiyan Bogdanov, CC BY-SA, https://en.wikipedia.org/wiki/File:Windows_Updated_Family_Tree.png Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 56/89 Eraserhead1, Infinity0, Sav_vas, CC BY-SA, https://en.wikipedia.org/wiki/File:Unix_history-simple.svg Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 57/89 Perkembangan SO ● Pemrosesan serial. ● ● ● ● ● Akses serial ke komputer. Masalah: penjadwalan seperti alokasi waktu, dan waktu setup sistem dan program. Sistem batch sederhana. ● ● Tidak ada SO, interaksi langsung dengan komputer, konsol dengan lampu, saklar toggle, beberapa perangkat masukan, pencetak. Komputer masih sangat mahal, memaksimalkan utilitas prosesor, pengguna tidak lagi mengakses komputer secara langsung, pekerjaan dimasukkan melalui operator. JCL. Kebutuhan fitur-fitur pada perangkat keras. Mode kernel dan pengguna. Sistem multiprogramming batch. Pengelolaan memori, algoritma penjadwalan. Sistem time-sharing. Kebutuhan komputasi yang interaktif. Multipengguna. Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 58/89 Kemajuan dalam Pengembangan SO ● Proses. ● ● Program yang sedang berjalan, atau unit aktivitas yang berisi sebuah thread eksekusi sekuensial, status aktivitas, dan set sumber daya sistem yang berkaitan dengannya. Pewaktuan dan sinkronisasi: multiprogramming batch, time sharing, real-time transaction systems. ● Pengelolaan memori. ● Perlindungan informasi dan keamanan. CIAA. (Hal. 68-69) ● Penjadwalan dan pengelolaan sumber daya. Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 59/89 Implementasi Proses Stallings, 2012. Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 60/89 Pengelolaan Penyimpan ● ● ● ● ● Isolasi proses. SO menjaga supaya proses-proses yang berjalan tidak saling mengganggu masing-masing memori baik data maupun instruksi. Alokasi dan pengelolaan otomatis. Program-program yang berjalan mendapat alokasi pada hirarki memori secara dinamis. Dukungan pemrograman modular. Pemrogram dapat menentukan modul-modul program, dan membuat, menghapus, dan mengubah ukuran modul secara dinamis. Perlindungan dan kontrol akses. Perlu adanya perlindungan dan kontrol akses terhadap bagian-bagian memori oleh banyak cara dan banyak pengguna. Penyimpanan dalam jangka panjang. Beberapa program membutuhkan penyimpan informasi dalam waktu yang lama. Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 61/89 Pengelolaan Penyimpan ● ● ● ● ● Solusi: memori virtual dan sistem berkas. Sistem paging: membuat proses dibagi ke dalam sejumlah blok berukuran tertentu yang disebut page. Program mengacu ke sebuah word dengan alamat virtual yang terdiri dari nomor page dan ofset/nilai awal di dalam page tersebut. Setiap page dari sebuah proses dapat menempati lokasi di mana saja di dalam memori. Sistem paging menyediakan pemetaan secara dinamis antara alamat virtual di dalam program dan alamat nyata/fisik di dalam memori utama. Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 62/89 Konsep Memori Virtual Stallings, 2012. Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 63/89 Pengalamatan Memori Virtual Stallings, 2012. Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 64/89 Alokasi Sumber Daya dan Penjadwalan ● ● ● Keadilan: semua proses diberikan akses yang adil terhadap sumber daya. Perbedaan Tingkat Respon: SO dapat memisahkan secara dinamis antara kelas pekerjaan dan kebutuhan layanan yang berbeda. Efisiensi: SO berusaha untuk memaksimalkan lewatan atau throughput, meminimalkan waktu respon, dan pada kasus time sharing, dapat mengakomodasi sebanyak mungkin pengguna. Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 65/89 Penjadwalan Proses (Hal. 69-70) Stallings, 2012. Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 66/89 Jenis SO Jenis SO ● Mainframe: SO untuk komputer seukuran ruangan yang saat ini masih digunakan pada pusat data perusahaan besar. ● Memiliki kapasitas I/O yang besar. 1000 diska, sekian juta GiB. ● Server. ● Multiprocessor. ● Personal computer. ● Handheld. ● Embedded. ● Sensor node. ● Real-time. ● Smart card. Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 68/89 SO Modern SO Modern ● Respon terhadap perkembangan: ● ● ● ● perangkat keras seperti multiprosesor, multiinti, perangkat jaringan berkecepatan tinggi, media penyimpan yang bervariasi dan meningkat ukurannya; aplikasi-aplikasi baru seperti multimedia, Internet, web, klien-server, komputasi awan; ancaman keamanan baru yang semakin canggih, khususnya ketika sebuah sistem komputer terhubung ke jaringan atau Internet. Laju perubahan pada SO tidak hanya berupa modifikasi dan peningkatan terhadap arsitektur yang sudah ada, tapi juga teknik/cara baru dalam mengorganisasi SO. Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 70/89 Pendekatan dan Desain SO Modern ● ● Arsitektur mikrokernel. Multithreading: teknik yang membuat sebuah proses terbagi menjadi beberapa thread yang dapat berjalan bersamaan. ● ● Thread: satu unit kerja yang dapat dieksekusi di prosesor. Memiliki konteks prosesor seperti PC, stack pointer, dst., termasuk data yang berkaitan dengan stack. Proses: kumpulan satu atau lebih thread dan sumber daya yang berkaitan dengannya. ● Symmetric multiprocessing (SMP). ● SO terdistribusi. ● Desain berorientasi obyek. Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 71/89 Stallings, 2012. Multiprogramming dan Multiprocessing Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 72/89 Struktur SO Struktur Monolitik (1) ● Struktur kernel yang umum digunakan. ● ● ● ● ● Sebuah program utama yang meminta prosedur layanan. Satu set prosedur layanan yang menjalankan system call yang diminta. Satu set prosedur utilitas yang membantu prosedur layanan. Fungsi-fungsi SO tersedia dalam kernel termasuk penjadwalan, sistem berkas, jaringan, device driver, pengelolaan memori, dan lain-lain. Umumnya diimplementasikan sebagai proses tunggal dan fungsi-fungsi tersebut berbagi ruang alamat yang sama. Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 74/89 Struktur Monolitik (2) system call Tanenbaum, 2009. Sistem Operasi (TKE113117) - Program Studi Teknik Elektro, Unsoed Tidak ada struktur, “glondongan”, SO berisi kumpulan prosedur yang bebas saling memanggil, tidak ada abstraksi antar modul-modulnya. Sistem Operasi (TKE113117) - Program Studi Teknik Elektro, Unsoed Struktur Monolitik (3) ● ● ● Pengembangan relatif lebih mudah, karena tidak perlu mengurusi masalah dan metode komunikasi antar prosedur. Sulit untuk memahami cara kerja sistem operasinya secara keseluruhan. Ketika melakukan perubahan pada sebuah bagian kode sumber, kita perlu melakukan kompilasi seluruh prosedur yang ada di dalamnya, dan mengaitkannya dengan linker. ● ● Pada monolitik modern, terdapat loadable extension/modules yang dapat dikompilasi dan dimuat sesuai kebutuhan. Contoh: penggerak/driver, sistem berkas. Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 77/89 Struktur Mikrokernel (1) Tanenbaum, 2009. Sistem Operasi (TKE113117) - Program Studi Teknik Elektro, Unsoed Sedapat mungkin implementasi di mode pengguna, hanya tersisa mikrokernel yang berisi fungsi-fungsi utama dan menangani komunikasi antar modul atau server. Sistem Operasi (TKE113117) - Program Studi Teknik Elektro, Unsoed Struktur Mikrokernel (3) ● Lebih handal dan aman. ● ● ● ● Terdiri dari modul-modul yang terdefinisikan dengan baik. Hanya mikrokernel yang berjalan pada mode kernel/supervisor. Mikrokernel berisi fungsi-fungsi yang berkaitan dengan ruang alamat/pengelolaan memori, komunikasi antar proses (IPC), dan penjadwalan dasar. Jika sebuah modul/server mempunyai “kutu”, modul tersebut tidak mematikan seluruh sistem. ● Modul yang bermasalah dapat dimulai ulang/restart. ● Kenapa ada tombol reset di komputer kita? Lebih susah untuk dikembangkan daripada monolitik karena melibatkan komunikasi antar prosedur dalam modul-modulnya. Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 80/89 Struktur Mikrokernel (4) ● ● ● Modul/server dapat dikustomisasi sesuai kebutuhan aplikasi. Pendekatan mikrokernel relatif lebih fleksibel dan cocok untuk lingkungan terdistribusi. Mikrokernel berinteraksi dengan cara yang sama terhadap proses modul/server lokal dan remote. Tanenbaum, 2009. Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 81/89 Struktur Lapis Tanenbaum, 2009. Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 82/89 Struktur Klien-Server Tanenbaum, 2009. Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 83/89 Struktur Mesin Virtual Tanenbaum, 2009. Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 84/89 System Call System Call read(fd,buffer,nbytes) Tanenbaum, 2009. Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 86/89 Contoh System Call (1) Tanenbaum, 2009. Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 87/89 Contoh System Call (2) Tanenbaum, 2009. Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 88/89 Daftar Bacaan ● ● ● Stallings, W. 2012. Operating Systems: Internals and Design Principles, Seventh Edition, Prentice Hall. Stallings, W. 2011. Operating Systems: Internals and Design Principles, Seventh Edition, salindia presentasi. Tanenbaum, A. 2009. Modern Operating Systems, Third Edition, Prentice Hall. Sistem Operasi (TKE133117) - Program Studi Teknik Elektro, Unsoed 89/89