PTIK 02 SISTEM OPERASI PENDUKUNG OLEH : RINI ANDINI 1129040148 PTIK 02 PRODI PTIK JURUSAN PTE UNM S2 NEGERI 012 DAFTAR ISI Halaman HALAMAN JUDUL 1 DAFTAR ISI 2 SISTEM OPERASI PENDUKUNG 3 A. Pengertian Sistem Operasi 3 B. Peran Sistem Operasi 4 C. Tujuan dan Fungsi Sistem Operasi 5 D. Teknik Penjadwalan Prosesor 5 E. Memory Management 9 F. Manajemen Memori dengan Swapping 13 G. Manajemen memori tanpa Swapping 14 H. Sistem Operasi sebagai Interface Pengguna/Komputer 17 SISTEM OPERASI PENDUKUNG BAB 7 SISTEM OPERASI PENDUKUNG A. Pengertian Sistem Operasi Sistem operasi adalah program yang bertindak sebagai perantara antara user dengan perangkat keras komputer. Sistem operasi digunakan untuk mengeksekusi program user dan memudahkan menyelesaikan permasalahan user. Selain itu dengan adanya sistem operasi membuat sistem komputer nyaman digunakan. Sistem operasi mempunyai tujuan untuk menggunakan perangkat keras komputer secara efisien. Secara umum komponen sistem komputer terdiri dari : 1. Perangkat Keras, merupakan sumber daya utama untuk proses komputasi. Perangkat keras komputer terdiri dari : CPU, memory dan perangkat input output. 2. Sistem Operasi, mempunyai tugas untuk melakukan control dan koordinasi penggunaan perangkat keras pada berbagai program aplikasi untuk user-user yang berbeda. 3. Program Aplikasi, menentukan cara sumber daya sistem digunakan untuk menyelesaikan permasalahan komputasi dari user, contohnya compiler, sistem basis data, video games, program bisnis dan lain-lain. 4. User yang menggunakan sistem, terdiri dari orang, mesin atau komputer lain. Hubungan antara komponen-komponen sistem komputer diatas dapat dilihat pada Gambar 1-1. SISTEM OPERASI PENDUKUNG Sistem operasi didefinisikan sebagai : Resource allocator Sistem operasi mengatur dan mengalokasikan sumber daya-sumber daya sistem komputer. Program control Sistem operasi melakukan control eksekusi dari program user dan operasi input output. Kernel Sistem operasi sering disebut kernel, yaitu suatu program yang berjalan sepanjang waktu (selain program aplikasi). B. Peran Sistem Operasi Mengatur fasilitas komputer, memberikan layanan untuk pemrogram, dan menjadwal eksekusi program lainnya. Menjembatani perangkat keras dari pemrogram. Memberikan interface yang bagus untuk menggunakan system Mengontrol eksekusi program-program aplikasi yang memerlukan fasilitas dan pelayanan hardware komputer. SISTEM OPERASI PENDUKUNG C. Tujuan dan Fungsi Sistem Operasi Convenience: An operating system makes the computer more convenience to be used. Convenience menempatkan system operasi pada : Kedudukan mesin semu Asas kedudukan pengindahan Kedudukan penyembunyian Nyaman: Suatu sistem operasi akan membuat sistem komputer lebih mudah untuk digunakan. Efisien : Sistem operasi memungkinkan fasilitas sistem komputer dapat digunakan dengan cara yang efisien. Ability to evolve : Ability to evolve menempatkan sistem operasi sebagai : Sistem operasi memisahkan pemakaian komputer dari sumber daya Sistem operasi akan mengatur pemakaian sumber daya diantara para pemakai komputer. D. TEKNIK PENJADWALAN PROSESOR 1. Definisi Kumpulan kebijaksanaan dan mekanisme di sistem operasi yang berkaitan dengan kerja yang dilakukan sistem komputer. 2. Penjadwalan Satu Tingkat (Satu kumpulan proses serentak). Proses ini diolah oleh prosesor baik dalam bentuk antrian maupun dalam bentuk prioritas atau preempsi. Teknik penjadwalan yang banyak disebut orang adalah sebagai berikut: Pertama Tiba Pertama Dilayani (PTPD) / First Come First Served (FCFS) atau First In First Out (FIFO). Proses Terpendek Dipertamakan (PTD) / Shortest Job First (SJF) / Shortest Job Next (SJN) Proses Terpendek Dipertamakan Preemsi (PTPD) / Preemptive Shortest Job First / Preemptive Shortest Procces Next (PSPN) SISTEM OPERASI PENDUKUNG Rasio Penalti Tertinggi Dipertamakan (RPTN) / Highest Ratio Next (HRPN) Puat gelang (PG) / round robin (RR) Penjadwalan Dengan Prioritas Berubah-ubah. 3. Penjadwalan multitingkat Ada dua macam penjadwalan prosesor multitingkat Antrian multitingkat Antrian multitingkat berbalik 4. Beberapa contoh kasus penjadwalan a. Penjadwalan FIFO Terdapat sekumpulan proses ( A, B, C, D, E, F, G, H, I, J ) yang memiliki saat tiba berturut-turut 8:00. Dengan lama proses berturut-turut 13’, 9’, 11’, 24’, 15’. Tentukanlah kapan saat mulai, saat rampung dan lama tanggap dari masing-masing proses tersebut dengan menggunakan Terdapat sekumpulan proses ( A, B, C, D, E, F, G, H, I, J ) yang memiliki saat tiba rerturut-turut 8:00, 8:05, 8:10, 8:13, 8:21, 8:37, 8:39, 8:42, 8:43, 8:53. Dengan lama proses berturut-turut 7’, 10’, 3’, 22’, 14’, 11’, 9’, 13’, 8’, 15’. Tentukanlah kapan saat mulai, saat rampung dan lama tanggap dari masing-masing proses tersebut. b. Penjadwalan Shortes Job First/Next (SJF/N) Sekumpulan proses (V,W,X,Y,Z)dengan Kategori Penjadwalan Shortes Job First/Next (SJFN) memiliki saat tiba 11:35. Tentukan kapan saat mulai, saat rampung, dan lama tanggap dari masing-masing proses, jika lama proses berturut-turut 15’, 55’, 75’, 25’, 45’. Terdapat sekumpulan proses (A, B, C, D, E, F, G, H, I, J) yang memilik saat tiba berturut-turut 8:00, 8:05, 8:13, 8:21, 8:37, 8:39, 8:42, 8:43, 8:53. Dengan lama proses berturut-turut 7’, 10’, 3’, 22’, 14’, 11’, 9’, 9’, 13’, 8’, 15’. Tentukanlah kapan saat mulai, saat rampung, dan lama tanggap dari masing-masing proses dengan Kategori Penjadwalan Shortes Job First/Next. c. Penjadwalan Shortes Job First/Next (SJF/N) dengan preemptive SISTEM OPERASI PENDUKUNG Sekumpulan proses (V,W,X,Y,Z)dengan Kategori Penjadwalan Shortes Job First/Next (SJFN) memiliki saat tiba 11:35. Tentukan kapan saat mulai, saat rampung, dan lama tanggap dari masing-masing proses, jika lama proses berturut-turut 15’, 5’, 75’, 25’, 45’. Terdapat sekumpulan proses (A, B, C, D, E, F, G, H, I, J) yang memilik saat tiba berturut-turut 8:00, 8:05, 8:13, 8:21, 8:37, 8:39, 8:42, 8:43, 8:53. Dengan lama proses berturut-turut 7’, 10’, 3’, 22’, 14’, 11’, 9’, 9’, 13’, 8’, 15’. Tentukanlah kapan saat mulai, saat rampung, dan lama tanggap dari masing-masing proses dengan Kategori Penjadwalan Shortes Job First/Next. Sekumpulan proses (T,U,V,W,X,Y,Z)dengan Kategori Penjadwalan Shortes Job First/Next (SJFN) memiliki saat tiba 11:30, 11:35, 11:45, 11:50, 12:00, 12:05, 12:10. Tentukan kapan saat mulai, saat rampung, dan lama tanggap dari masing-masing proses, jika lama proses berturut-turut 15’, 5’, 10’, 15’, 3’, 5’, 1’. Terdapat sekumpulan proses (A, B, C, D, E, F, G, H, I, J) yang memilik saat tiba berturut-turut 8:00, 8:05, 8:13, 8:21, 8:37, 8:39, 8:42, 8:43, 8:53, 9:00. Dengan lama proses berturut-turut 25’, 10’, 1’, 32’, 14’, 7’, 9’, 3’, 8’, 15’. Tentukanlah kapan saat mulai, saat rampung, dan lama tanggap dari masing-masing proses dengan Kategori Penjadwalan Shortes Job First/Next. Terdapat sekumpulan proses (A, B, C, D, E, F, G, H, I, J) yang memilik saat tiba berturut-turut 8:00, 8:05, 8:10, 8:15, 8:20, 8:25, 8:30, 8:35, 8:45, 9:00. Dengan lama proses berturut-turut 30’, 20’, 14’, 8’, 5’, 15’, 2’, 15’, 4’, 25’. Tentukanlah kapan saat mulai, saat rampung, dan lama tanggap dari masing-masing proses dengan Kategori Penjadwalan Shortes Job First/Next. Terdapat sekumpulan proses (A, B, C, D, E, F, G, H, I, J) yang memilik saat tiba berturut-turut 10:30, 10:35, 10:40, 10:45, 10:47, 10:50, 10:52, 10:55, 10:57, 11:00. Dengan lama proses berturut-turut 5’, 25’, 17’, 12’, 5’, 20’, 10’, 4’, 1’, 5’. Tentukanlah kapan saat mulai, saat rampung, dan SISTEM OPERASI PENDUKUNG lama tanggap dari masing-masing proses dengan Kategori Penjadwalan Shortes Job First/Next. d. Penjadwalan Highest Penalty Ratio Next (HRPN) Terdapat sekumpulan proses (A, B, C, D, E, F, G, H) yang memiliki saat tiba berturut-turut 9:00, 9:05, 9:15, 9:20, 9:25, 9:30, 9:50, 9:55. dengan lama proses berturut-turut 55’, 15’, 30’, 45’, 10’, 50’, 5’, 25’. Tentukanlah kapan saat mulai, saat rampung dan lama tanggap dari masing-masing proses dengan Kategori Penjadwalan Highest Penalty Ratio Next. Terdapat proses (A, B, C, D, E, F, G, H, I, J) dengan saat tiba 8:00, 8:05, 8:10, 8:13, 8:21, 8:37, 8:39, 8:42, 8:43, 8:44. dengan lama proses berturutturut sebagai berikut 44’, 10’, 3’, 22’, 14’, 11’, 9’, 13’, 8’, 15’. Tentukanlah saat mulai, saat rampung dan lama tanggap dari proses diatas, jika proses tersebut menggunakan Kategori Penjadwalan Highest Ratio Penalti Next. e. Penjadwalan Round Robin Suatu proses ( A, B, C, D, E ) memiliki saat tiba 0 dan lama proses berturut-turut 7, 5, 8, 2, 6. Tentukanlah saat mulai, saat rampung dan lama tanggap dari proses diatas, jika proses tersebut menggunakan Kategori Penjadwalan Round Robin dengan quantum waktu = 3. Suatu proses ( A, B, C, D, E ) memiliki saat tiba berturut-turut 0, 1, 5, 6, 7. Dengan lama proses 5, 3, 7, 1, 6. Tentukanlah kapan saat mulai, saat rampung dan lama tanggap dari proses diatas jika proses tersebut menggunakan Kategori Penjadwalan Round Robin dengan quantum waktu = 2. Jawab: SJF dengan Preemptive (Yang menjadi prioritas lama proses) NAMA SAAT LAMA SAAT SAAT LAMA PROSES TIBA PROSES MULAI SELESAI TANGGAP T 11.30 15’ 11.30 11.50 20’ SISTEM OPERASI PENDUKUNG U 5’ 11.35 11.35 5’ 11.40 E. MEMORY MANAGEMENT Manajemen memori sangat penting untuk memproses dan fasilitas masukan/keluaran secara efisien, sehingga memori dapat menampung sebanyak mungkin proses dan sebagai upaya agar pemogram atau proses tidak dibatasi kapasitas memori fisik di sistem komputer. Memori merupakan pusat kegiatan sebuah komputer karena setiap proses yang akan dijalankan harus melalui memori terlebih dahulu. CPU mengambil instruksi dari memori sesuai yang ada pada program counter. Instruksi memerlukan proses memasukkan/menyimpan ke alamat di memori. Sistem operasi memilki peran dalam hal mengatur bagian memori yang sedang digunakan dan megalokasikan jumlah dan alamat memori yang diperlukan, baik untuk program ataupun proses yang sedang berjalan maupun untuk sistem operasi itu sendiri. Terdapat dua memori yaitu memori kerja dan memori dukung. Jenis memori kerja adalah ROM/PROM/EEPROM, RAM, dan Chace Memory. Sedangkan memori dukung yaitu floppy, hard disk dan CD. Alamat Memori Alamat memori mutlak (alamat fisik) Alamat memori relatif (alamat logika) Hubungan antara alamat multak dan alamat relatif Jenis memori dan alamat memori Fungsi manajemen memori Mengelola informasi memori yang dipakai dan tidak dipakai. Mengalokasikan memori ke proses yang memerlukan. Mendealokasikan memori dari proses yang telah selesai. Mengelola swapping antara memori utama dan disk. Manajemen Memori dibedakan menjadi dua, berdasarkan ada tidaknya proses swap. Manajemen Memori dengan swapping adalah manajemen memori dengan pemindahan proses antara memori utama dan disk selama eksekusi. SISTEM OPERASI PENDUKUNG Manajemen Memori tanpa swapping adalah manajemen memori tanpa pemindahan proses antara memori utama dan disk selama eksekusi. Sistem memori virtual memisahkan alamat memori yang digunakan oleh suatu proses dari alamat fisik yang sebenarnya, yang efektif meningkatkan jumlah RAM yang tersedia menggunakan disk swapping. Manajer memori virtual memiliki pengaruh besar pada kinerja sistem secara keseluruhan. Multiprogramming adalah proses yang hanya menggunakan satu processor dan setiap program yang berjalan, hanya diperbolehkan satu program saja dan sisanya harus menunggu sampai proses dari program yang pertama selesai. Contohnya pada saat kita mengetik dan saat kita selesai mengetik, baru kita membuat presentasinya. Multitasking adalah proses yang hanya menggunakan satu processor dan memungkinkan dua program atau lebih berjalan seakan-akan “bersamaan”, karena pada kenyataannya satu processor tidak dapat menjalankan dua program sekaligus. Contohnya pada saat kita mengetik dengan word processor dan memutar lagu. Pada dasarnya jalannya kedua program itu bergantian, hanya saja dalam pembagian waktu yang sangat singkat dan kita merasakannya sebagai “bersamaan”. Memori sistem manajemen multitasking pada sistem operasi biasanya melakukan proses-proses berikut ini. 1. Relokasi Dalam sistem dengan memori virtual, program-program dalam memori harus mampu berada di berbagai bagian dari memori pada waktu yang berbeda. Hal ini karena ketika program swap kembali ke dalam memori setelah menukar untuk sementara tidak selalu dapat ditempatkan di lokasi yang sama. Memori virtual unit pengelolaan juga harus berurusan dengan concurrency. Memori manajemen pada sistem operasi karenanya harus dapat memindahkan program di memori dan memori menangani referensi dan alamat dalam kode program sehingga mereka selalu menunjuk ke lokasi yang tepat di memori. SISTEM OPERASI PENDUKUNG 2. Perlindungan Proses seharusnya tidak dapat mengatur memori untuk proses lain tanpa izin. Hal ini disebut proteksi memori, dan mencegah kode berbahaya atau tidak berfungsi dalam salah satu program yang mengganggu pengoperasian program yang sedang berjalan lainnya. 3. Berbagi / Sharing Meskipun memori untuk proses yang berbeda biasanya dilindungi dari satu sama lain, kadang-kadang perlu proses yang berbeda untuk dapat berbagi informasi dan akses yang sama karena itu bagian dari memori. Shared memory adalah salah satu teknik tercepat untuk Inter-proses komunikasi. 4. Pengaturan Ruang Alamat Logika Program sering diatur dalam modul. Beberapa modul ini dapat dibagi antara program yang berbeda, ada yang hanya membaca dan beberapa berisi data yang dapat diubah. Manajemen memori bertanggung jawab untuk menangani pengaturan alamat logika yang berbeda dari fisik ruang alamat linier. Salah satu cara untuk mengatur organisasi ini adalah segmentasi. 5. Pengaturan Ruang Alamat Fisik Memori biasanya dibagi menjadi cepat dan lambat penyimpanan utama penyimpanan sekunder. Memori manajemen pada sistem operasi bergerak menangani informasi antara kedua tingkat memori. Kondisi tanpa swapping, bisa dikondisikan sebagai berikut : a. Monoprogramming. Merupakan manajemen memori paling sederhana, sistem komputer hanya mengijinkan satu program/pemakai berjalan pada satu waktu. Semua sumber daya sepenuhnya dikuasi proses yang sedang berjalan. b. Multiprogramming dengan pemartisian statis Multiprogramming dapat dilakukan dengan pemartisian statis, yaitu memori dibagi menjadi beberapa sejumlah partisi tetap. Pada partisi-partisi tersebut proses-proses ditempatkan. Ada beberapa cara untuk menaruh sebuah proses yang di ambil dari disk ke dalam memori seperti : SISTEM OPERASI PENDUKUNG a. Address Binding Address binding adalah salah satu cara bagaimana sebuah instruksi dan data yang berada diluar memori dapat dipetakan ke dalam ruang alamat memori. Dengan cara ini biasanya sebuah compiler akan melakukan pengikatan alamat secara simbolik menuju ke alamat tujuan. Instruksi address binding ini dapat dilakukan pada saat: Compile Time: Jika lokasi memori diketahui sejak awal, kode absolut dapat dibangkitkan untuk kemudian diikat menuju alamat tujuan. Load Time : Harus membangkitkan kode relokasi jika lokasi memori tidak diketahui pada waktu kompilasi, agar dapat diikat ke dalam memori tujuan. Execution Time : Pengikatan ditunda sampai waktu eksekusi jika prose dapat dipindahkan selama eksekusi dari satu segmen memori ke segmen lain. b. Dynamic Loading Dengan menggunakan dynamic loading, suatu prosedur tidak disimpan di memori melainkan disimpan pada disk ke dalam format relocatable load, prosedur tersebut baru disimpan ke memori ketika akan dieksekusi.Jadi memori me-load program utama terlebih dahulu jika program tsb membutuhkan prosedur lain maka prosedur tersebut kemudian di load ke sebuah alamat memori, metode ini dapat menghemat alamat memori karena prosedur yang dibutuhkan saja yang di load ke alamat memori. c. Dynamic Linking Konsep yang digunakan pada dynamic linking hampir sama dengan dynamic loading. Pada saat loading, linking ditunda sampai waktu eksekusi. Terdapat sebuah stub untuk meletakkan rutin di memori dengan tepat, stub diisi dengan alamat rutin dan mengeksekusi rutin.Dynamic linking biasanya digunakan dengan system library, dan dynamic linking membutuhkan beberapa dukungan dari system operasi. d. Overlay SISTEM OPERASI PENDUKUNG Teknik overlay biasanya dugunakan jika sebuah proses lebih besar dari jumlah memori yang digunakan untuk proses. Overlay adalah dengan menyimpan hanya instruksi dan data yang diperlukan pada suatu waktu ke dalam alamat memori, jika diperluka instruksi lain maka instruksi yang tidak digunakan lagi dibuang dan digantikan oleh isntruksi lain tersebut. F. Manajemen memori dengan Swapping Sebuah proses agar bisa dieksekusi bukan hanya membutuhkan sumber daya dari CPU, tetapi juga harus terletak dalam memori. Dalam tahapannya, suatu proses bisa saja ditukar sementara keluar memori ke sebuah penyimpanan sementara dan kemudian dibawa lagi ke memori untuk melanjutkan pengeksekusian. Hal ini dalam sistem operasi disebut swapping. Sebagai contoh, asumsikan sebuah multiprogramming environment dengan algoritma penjadwalan CPU round-robin. Ketika waktu kuantum habis, pengatur memori akan menukar proses yang telah selesai dan memasukkan proses yang lain ke dalam memori yang sudah bebas. Sementara di saat yang bersamaan, penjadwal CPU akan mengalokasikan waktu untuk proses lain di dalam memori. Ketika waktu kuantum setiap proses sudah habis, proses tersebut akan ditukar dengan proses lain. Untuk kondisi yang ideal, manajer memori dapat melakukan penukaran proses dengan cepat sehingga proses akan selalu berada dalam memori dan siap dieksekusi saat penjadwal CPU hendak menjadwal CPU. Hal ini juga berkaitan dengan CPU utilization. Swaping dapat juga kita lihat dalam algoritma berbasis prioritas. Jika proses dengan prioritas lebih tinggi tiba dan meminta layanan, manajer memori dapat menukar keluar memori proses-proses yang prioritasnya rendah sehingga proses-proses yang prioritasnya lebih tinggi tersebut dapat dieksekusi. Setelah proses-proses yang memiliki prioritas lebih tinggi tersebut selesai dieksekusi, proses-proses dengan prioritas rendah dapat ditukar kembali ke dalam memori dan dilanjutkan eksekusinya. Cara ini disebut juga dengan metode roll in, roll out. SISTEM OPERASI PENDUKUNG G. Manajemen memori tanpa Swapping Manajemen memori tanpa swapping adalah manajemen memori tanpa pemindahan proses antara memori utama dan disk selama eksekusi. Yang terdiri dari monoprogramming dan multiprogramming: 1. Monoprogramming. Merupakan manajemen memori paling sederhana, sistem komputer hanya mengijinkan satu program/pemakai berjalan pada satu waktu. Semua sumber daya sepenuhnya dikuasi proses yang sedang berjalan.. Ciri-ciri : Hanya satu proses pada satu saat Hanya satu proses menggunakan semua memori Pemakai memuatkan program ke seluruh memori dari disk atau tape Program mengambil kendali seluruh mesin SISTEM OPERASI PENDUKUNG Gambar . Tiga Cara Organisasi Memori Satu Proses Tunggal Contoh: IBM PC menggunakan cara ketiga di mana device driver ROM ditempatkan pada blok 8K tertinggi dari address space 1M. Program pada ROM disebut BIOS (Basic Input Output System). 2. Multiprogramming dengan pemartisian statis(partitioning) Multiprogramming dapat dilakukan dengan pemartisian statis, yaitu memori dibagi menjadi beberapa sejumlah partisi tetap. Pada partisi-partisi tersebut proses-proses ditempatkan Multiprogramming Dengan Pemartisian Statis Terbagi dua : Pemartisian menjadi partisi-partisi berukuran sama, yaitu ukuran semua partisi memori adalah sama Beberapa proses yang ukurannya kurang atau sama dengan ukuran partisi dimasukkan ke sembarang partisi yang berbeda Kekuranganya bila program ukuranya lebih besar dari dibanding partisi yang tersedia maka program tidak dapat dimuatkan. Kekuranganya juga untuk program yang ukuranya kecil dibanding ukuran partisi maka banyak ruang yang tidak terpakai. SISTEM OPERASI PENDUKUNG Pemartisian menjadi partisi-partisi berukuran berbeda, yaitu ukuran semua partisi memori adalah berbeda, yaitu: Satu antrian untuk tiap partisi Satu antrian untuk semua partisi Strategi Penempatan Program Ke Partisi Satu Antrian Tunggal Untuk Semua Partisi Proses ditempatkan ke partisi yang paling kecil yang dapat memuatnya Keuntungan: Lebih fleksibel serta implementasi dan operasi lebih minimal karena hanya mengelola satu antrian. Kelemahan : Proses dapat ditempatkan di partisi yang banyak diboroskan, yaitu proses kecil ditempatkan di partisi sangat besar. Gambar Multiprogrammning dengan Pemartisian Tetap dengan Satu Antrian (Bambang Hariyanto, hlm 159) Satu Antrian Untuk Tiap Partisi (banyak antrian Untuk Seluruh Partisi). Proses-proses diantrikan tunggal untuk semua partisi. Proses segera ditempatkan di partisi bebas paling kecil yang dapat memuat Keuntungan: Meminimalkan pemborosan memori Kelemahan: Dapat terjadi antrian panjang di suatu partisi sementara antrian partisi-partisi lain kosong SISTEM OPERASI PENDUKUNG Gambar 3. Multiprogrammning dengan Pemartisian Tetap dengan Banyak Antrian (Bambang Hariyanto, hlm. 158) H. Sistem Operasi sebagai Interface Pengguna/Komputer PEMROGRAM END USER AN PROGRAM- PERANCANG PROGRAM APLIKASI SISTEM UTILITIES OPERASI SISTEM OPERASI HARDWARE KOMPUTER Gambar 1. Lapisan dan bentuk sebuah system komputer Fungsi utama komputer adalah menyediakan satu atau lebih aplikasi. Pengguna aplikasi (end user) umumnya tidak berkepentingan dengan arsitektur komputer, end user memandang sistem komputer dari sudut aplikasi. Aplikasi diekspresikan dalam bentuk bahasa pemrograman dan dibuat oleh pemrogram aplikasi. Sebagian program aplikasi dikenal sebagai utilitas. Utilitas adalah implementasi fungsi-fungsi SISTEM OPERASI PENDUKUNG yang sangat sering digunakan untuk membantu proses pembuatan program, manajemen file, dan pengontrolan perangkat I/O. Program sistem yang paling penting adalah sistem operasi. Sistem operasi menyembunyikan detail hardware dari pemrogram dan menyediakan interface yang nyaman untuk pemrogram. Sistem operasi berfungsi sebagai mediator antara hardware komputer dengan pemrogram untuk mengakses dan menggunakan fasilitas layanan tertentu. Layanan yang Diberikan Sistem Operasi adalah : Pembuatan Program Sistem operasi menyediakan berbagai fasilitas layanan bagi pemrogram untuk pembuatan program dalam bentuk utilitas (general utilities). Eksekusi Program Sistem operasi melakukan penanganan pemuatan instruksi dan data ke memori utama, perangkat input/output (I/O) dan inisialisasi file, dan penyiapan fasilitas. Akses ke Perangkat I/O Sistem operasi menangani set instruksi I/O atau sinyal kontrol untuk keperluan operasi. Akses Terkontrol ke File Sistem operasi dapat menyediakan perlindungan untuk mengontrol akses ke fasilitas yang digunakan secara bersama. Akses Sistem Sistem operasi mengontrol akses ke sistem sebagai keseluruhan dan ke sumber daya sistem tertentu. Sistem Operasi Sebagai Pengelola Fasilitas Sebuah komputer adalah sekumpulan fasilitas untuk pemindahan, penyimpanan, dan pengolahan data dan mengontrol ketiga fungsi ini. Pengontrolan fungsi-fungsi ini dilakukan oleh sistem operasi. Sistem operasi merupakan program yang dieksekusi oleh CPU SISTEM OPERASI PENDUKUNG Sistem operasi mengarahkan CPU dalam menggunakan fasilitas lainnya dan dalam pewaktuan dan atau penjadwalan eksekusi program. Jenis Sistem Operasi Pembedaan jenis sistem operasi didasarkan pada karakteristik. Karakteristik dapat dibagi menjadi 2 dimensi: a. Dimensi pertama: Ditinjau dari segi interaksi pengguna dengan sistem komputer, ada dua jenis sistem operasi yang independen, yaitu: sistem bersifat interaktif dan sistem bersifat batch. a. Sistem interaktif Pengguna/pemrogram berinteraksi secara langsung dengan komputer, biasanya melalui keyboard/layar monitor, untuk meminta eksekusi tugas atau membentuk transaksi. b. Sistem batch Program-program pengguna ditampung bersama-sama (secara offline) dengan pengguna lainnya dan kemudian diserahkan ke sistem operasi oleh operator komputer. Program diselesaikan, hasilnya dicetak dan dikembalikan ke pengguna. Sistem batch murni sudah jarang ditemukan saat ini. b. Dimensi kedua: Ditinjau dari segi banyaknya program yang dieksekusi secara simultan, ada dua jenis sistem operasi, yaitu: sistem yang menggunakan Multiprogramming dan sistem yang tidak menggunakan Multiprogramming yaitu: Uniprogrammed / One task at a time. a. Dimensi Multiprogramming Prosesor selalu berada dalam keadaan sibuk karena prosesor mengerjakan lebih dari satu program pada saat yang sama, Beberapa program dimuatkan ke dalam memori, Prosesor beralih dengan cepat dari satu program ke program lainnya SISTEM OPERASI PENDUKUNG Bila menggunakan sistem interaktif, menerapkan time sharing Persyaratan lain untuk meningkatkan kecanggihan dibanding dengan sistem operasi tipe batch adalah manajemen memori dan penjadwalan. Tabel Jenis Sistem Operasi Batch System Interactive System Simple batch Dedicated system Sophisticated batch Time sharing Uniprogrammed / One task at a time Multiprogrammed Jadi ada empat jenis sistem operasi secara umum: 1. Sistem Batch sederhana 2. Sistem Batch canggih 3. Sistem Multiprogramming 4. Sistem Time Sharing Dua permasalahan yang ada pada sistem komputer lama (terdahulu): 1. Penjadwalan (Scheduling): pengguna memesan waktu pelayanan mesin, pemesanan waktu mesin hendaknya sama dengan waktu penyelesaian pekerjaan. 2. Waktu setup (Setup Time): Waktu yang diperlukan untuk pemuatan compiler dan program berbahasa tingkat tinggi (program sumber) ke dalam memori, penyimpanan program yang telah dikompilasi (program object), dan kemudian memuatkan dan melakukan link program object dengan fungsi-fungsi agar program dapat berjalan. Waktu setup harus diusahakan sependek mungkin. SISTEM OPERASI PENDUKUNG Sistem Batch Sederhana Dalam sistem batch, pengguna tidak perlu lagi memiliki akses langsung ke mesin. Pengguna menyerahkan pekerjaanya kepada operator komputer yang akan melakukan batch pekerjaan secara berurutan. Untuk memahami pola kerja batch, kita tinjau dari dua sudut pandang, yaitu: sudut pandang monitor dansudut pandang CPU. a. Dari sudut pandang monitor Monitorlah yang mengontrol rangkaian kejadian. Untuk itu monitor harus selalu berada di dalam memori utama (disebut resident monitor) dan selalu tersedia untuk melakukan eksekusi. Monitor membaca job satu persatu. Setelah membaca, job tersebut ditempatkan pada daerah program pengguna, dan kontrol diberikan ke job ini. Pada saat job telah selesai, akan terjadi interupt (internal interupt terhadap komputer) yang mengembalikan kontrol ke monitor, dan segera membaca job berikutnya. Hasil setiap job dicetak dan dikirim ke pengguna. b. Dari sudut pandang CPU CPU mengeksekusi instruksi-instruksi yang berasal dari lokasi memori yang berisi monitor. Instruksi-instruksi ini akan menyebabkan job berikutnya dibaca ke bagian lain memori utama. Setelah sebuah job dibaca, CPU akan menemukan instruksi cabang pada monitor yang meminta CPU untuk melanjutkan eksekusi di lokasi lain pada memori (awal program pengguna). Kemudian CPU akan mengeksekusi instruksi pada program pengguna sampai CPU menemukan akhir program atau error. Salah satu kejadian itu akan menyebabkan CPU mengambil instruksi berikutnya dari program monitor. “Kontrol diserahkan ke CPU” berarti CPU mengambil dan mengeksekusi instruksi dalam program pengguna. “Kontrol dikembalikan ke monitor” berarti CPU mengambil dan mengeksekusi instruksi dari program monitor. Beberapa feature yang perlu diperhatikan dalam sistem operasi batch: Proteksi Memori: Pada saat program pengguna dieksekusi, maka program itu tidak boleh mengubah area memori yang berisi monitor. Bila terjadi perubahan area memori, maka hardware CPU akan mendeteksi suatu error SISTEM OPERASI PENDUKUNG dan memindahkan kontrol ke monitor. Kemudian monitor membatalkan job, mencetak pesan error, dan memuatkan job berikutnya. Pewaktu (Timer): Pewaktu digunakan untuk mencegah sebuah job memonopoli sistem. Pewaktu disetel pada awal setiap job. Bila waktu habis, terjadi sebuah interrupt, dan kontrol kembali ke monitor. Privileged Instruction: Instruksi tertentu ditandai dengan privileged dan hanya dapat dieksekusi oleh monitor. Instruksi ini meliputi instruksi I/O, sehingga monitor menguasai kontrol semua perangkat I/O. Hal ini akan mencegah pembacaan instruksi kontrol job dari job berikutnya secara tidak sengaja. Karena kecepatan prosesor lebih cepat dibandingkan kecepatan perangkat I/O, maka sering terjadi prosesor berada pada keadaan idle. Pada contoh di atas komputer menghabiskan lebih dari 96% waktunya untuk menunggu perangkat I/O menyelesaikan proses transfer data. Untuk mengatasi hal ini maka diterapkan sistem operasi modern yang dikenal dengan Multiprogramming. Dalam multiprogramming, bila sebuah job perlu menunggu I/O, maka prosesor dapat beralih ke job lainnya, yang tidak sedang menunggu I/O. Dalam multiprogramming, memori dapat menampung tiga atau lebih program dan dapat beralih ke setiap program tersebut. Multiprogramming banyak digunakan dalam sistem operasi modern. Berikut contoh operasi multiprogramming dan uniprogramming: Wait Run Run Waktu a) Sistem Operasi Uniprogramming SISTEM OPERASI PENDUKUNG Wait