• Breaking News

    Panduan dan Tutorial Lengkap serta Materi Pelajaran di Mulyono Blog. Konten Terlengkap dan Terpercaya

    Rabu, 31 Agustus 2011

    Konsep Dasar Sistem Operasi

    Konsep Dasar Sistem Operasi

    1.Komponen Sistem Operasi
    2.Layanan Sistem Operasi
    3.System Calls
    4.Pemrograman Sistem
    5.Struktur sistem
    6.Mesin Virtual
    7.Rancangan Sistem
    8.System Generation

    1)Komponen Sistem
    Managemen Proses
    Managemen Memori Utama
    Managemen Berkas
    Managemen I/O
    Managemen Penyimpanan Sekunder
    Jaringan
    Sistem Proteksi
    Command-Interpreter System

    1.1 Managemen Proses
    Proses adalah

    1.sebuah program yang sedang dijalankan (eksekusi). Suatu proses memerlukan sumberdaya pada saat ekesekusi:
    CPU time, memori, berkas dan peranti I/O
    Sistem operasi bertanggung jawab terhadap aktifitas yang berhubungan dengan manajemen proses:
    Pembuatan dan penghapusan proses
    Penundaan dan pelanjutan proses
    Penyedia mekanisme untuk:
    • Sinkronisasi antar proses
    • Komunikasi antar proses
    • Penanganan Deadlock
    1.2 Managemen Memori Utama
    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)
    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?).
    Memilih program mana yang akan diload ke memori ketika bisa digunakan.
    Alokasi dan dealokasi memori sesuai yang dibutuhkan

    1.3 Managemen File
    Berkas adalah kumpulan informasi yang berhubungan (sesuai dengan tujuan pembuat berkas tersebut). Biasanya berkas merepresentasikan program dan data.
    Sistem operasi bertanggung jawab untuk aktivitas berikut yang berhubungan dengan manajemen berkas:
    Pembuatan dan penghapusan berkas
    Pembuatan dan penghapusan direktori
    Mendukung primitive untuk manipulasi berkas dan direktori
    Memetakan berkas pada sistem sekunder
    Backup berkas pada media penyimpanan yang stabil (nonvolatile)
    Managemen system I/O
    Sistem I/O terdiri dari:
    Sistem buffer: menampung sementara data dari/ke peranti I/O
    Spooling: melakukan penjadwalan pemakaian I/O sistem supaya lebih efisien(antrian dsb)
    Antarmuka devices-driver yang umum: menyediakan device driver yang umum sehingga system operasi dapat seragam (buka, baca, tulis, tutup)
    Drivers untuk spesifik perangkat keras: menyediakan driver untuk melakukan operasi rinci /detail untuk perangkat keras tertentu.
    1.4 Manajemen Penyimpanan Sekunder
    Penyimpanan sekunder : Penyimpanan Permanen
    Karena memori utama bersifat sementara dan kapasitasnya terlalu kecil, maka untuk menyimpan semua data dan program secara permanen, system computer harus menyediakan penyimpanan sekunder untuk dijadikan back-up memori utama.
    Sistem Operasi bertanggung jawab dalam aktivitas yang berhubungan dengan manajemen penyimpanan sekunder:
    Manajemen ruang kosong
    Alokasi penyimpanan
    Penjadwalan disk
    1.5 Jaringan (Sistem Terdistribusi)
    Sistem Terdistribusi adalah kumpulan prosesor yang tidak berbagi memori atau clock. Setiap prosesor memiliki memori lokal masing-masing.
    Prosesor-prosesor dalam system terhubung dalam jaringan komunikasi.
    Sistem terdistribusi menyediakan akses pengguna ke bermacam-macam sumber daya. Akses tersebut menyebabkan:
    Peningkatan kecepatan kompuatsi
    Peningkatan penyediaan data
    Peningkatan keandalan
    1.6 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 control untuk diterima
    Menyediakan alat untuk pemberlakuan sistem.
    1.7 Command-Interpreter System
    Sistem Operasi menunggu instruksi dari pengguna (command driven).
    Program yang membaca instruksi dan mengartikan control statements (keinginan pengguna) umumnya disebut:
    control-card interpreter
    command-line interpreter
    UNIX shell.
    Command-Interpreter System sangat bervariasi dari satu sistem operasi ke sistem operasi yang lain dan disesuaikan dengan tujuan dan teknologi I/O peranti yang ada.
    Contohnya: CLI, Windows, Pen-based (touch), dan lain-lain.

    2)Pelayanan Sistem Operasi
    Eksekusi program : meload program ke memory dan menjalankannya (run)
    Operasi I/O: pengguna tidak bisa mengontrol I/O secara langsung ( untuk efisiensi dan keamanan), sistem harus bisa menyediakan mekanisme utk melakukan operasi I/O
    Manipulasi system berkas : membaca, menulis, membuat, dan menghapus file
    Komunikasi : pertukaran informasi, dapat dilaksanakan melalui shared memory atau message passing
    Deteksi error : mempertahankan kestabilan dengan mendeteksi error (pada CPU, perangkat keras memori, I/O, program pengguna) dan jika bisa, memperbaikinya
    Pelayanan Tambahan
    Lebih diarahkan kepada upaya untuk menjaga efisiensi sistem, bukan untuk membantu pengguna
    Alokasi sumber daya: mengalokasikan sumber daya kepada beberapa pengguna atau tugas 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 system terkontrol
    3)System calls
    System calls menyediakan antarmuka antara proses (program yang sedang dijalankan) dan system operasi.
    Biasanya tersedia sebagai instruksi bahasa rakitan
    Beberapa system mengizinkan system calls dibuat langsung dari bahasa pemrograman tingkat tinggi
    Beberapa bahasa pemrograman tingkat tinggi (contoh: C, C++) telah didefenisikan untuk menggantikan bahasa rakitan untuk sistem pemrograman
    Tiga metode umum yang digunakan dalam memberikan parameter kepada system operasi
    Melalui register
    Menyimpan parameter dalam blok atau table pada memori dan alamat blok tersebut diberikan sebagai parameter dalam register
    Menyimpan parameter (push) kedalam stack (oleh program), dan melakukan pop off pada stack (oleh sistim operasi)
    Memberikan Parameter dalam Tabel

    Sumber: Silberschatz,et.al, Operating System Concepts, 6thed, .2003, New York: John Wiley & Son.Inc , page 65
    Jenis System Calls
    Pengendalian proses
    Manajemen berkas
    Manajemen Peranti
    Mempertahankan informasi
    Komunikasi
    1.Process Control
    Selesai, abort
    Load, eksekusi
    Membuat dan mengakhiri proses
    Mengambil dan mengeset atribut proses
    Menunggu waktu
    Wait event, signal event
    Alokasi dan pengosongan memori
    2.Manajemen BerkasMembuat dan menghapus berkas
    Membuka dan menutup berkas
    Read, write, reposition
    Mengambil dan mengeset atribut berkas
    3.Manajemen Peranti
    Meminta peranti, melepaskan peranti
    Read, write, reposition
    Mengambil dan mengeset atribut peranti
    4.Information Maintenance
    Mengambil dan mengeset waktu dan tanggal
    Mengambil dan mengeset sistem data
    Mengambil proses, berkas atau atribut peranti
    Mengeset proses, berkas atau atribut peranti
    5.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
    4)Pemrograman sistem
    Pemrograman system menyediakan lingkungan yang memungkinkan pengembangan program dan eksekusi berjalan dengan baik
    Dapat dikategorikan : Manajemen/manipulasi berkas: membuat, menghapus, copy, rename, print, memanipulasi berkas dan direktori
    Informasi Status : tanggal, jam, jumlah memori dan disk yang tersedia, jumlah pengguna, dan informasi tentang status lainnya
    Modifikasi Berkas: modifikasi isi berkas
    Mendukung bahasa pemrograman: Kompilator, perakit, interpreter
    Loading dan eksekusi program: absolute loaders, relocatable loaders, linkage editors, overlay loaders
    Komunikasi: menyediakan mekanisme komunikasi antara proses, pengguna, dan sistem komputer yang berbeda
    System program yang paling penting adalah command interpreter (mengambil dan menerjemahkan user-specified command selanjutnya)
    5)Struktur Sistem
    Struktur Sederhana
    Metode pendekatan Terlapis
    Mikrokernel
    1.Struktur Sederhana
    Dimulai dengan system yang kecil, sederhana dan terbatas kemudian berkembang dengan cakupan original
    Struktur system MS-DOS : disusun untuk mendukung fungsi yang banyak pada ruang yang kecil
    Struktur Sistem UNIX
    Terdiri dari 2 bagian:
    -Kernel :
    •antarmuka
    •device drivers
    -Program Sistem
    2.Pendekatan Terlapis
    Lapisan adalah implementasi dari objek abstrak yang merupakan enkapsulasi dari data dan operasi yang bias memanipulasi data tersebut
    Lapisan paling bawah: perangkat keras
    Lapisan paling atas: antarmuka pengguna
    Tingkatan Desain Sistem Operasi

    3.Mikrokernel
    Menyusun system operasi dengan menghapus semua komponen yang tidak esensial dari kernel, dan mengimplementasikannya sebagai system program dan level pengguna
    Fungsi utama: mendukung fasilitas komunikasi antara program klien dan bermacam-macam layanan yang juga berjalan diuser-space
    Keuntungan:
    ketika layanan baru akan ditambahkan ke user-space, kernel tidak perlu dimodif
    OS lebih mudah ditempatkan pada suatu desain perangkat keras ke desain lainnya
    mendukung keamanan reliabilitas lebih
    Contoh system operasi:
    Tru64 UNIX, Mac OS X, QNX
    6)Mesin Virtual
    Mesin virtual mengambil pendekatan terlapis sebagai kesimpulan logis. Mesin virtual memperlakukan hardware dan system operasi seolah-olah berada pada level yang sama sebagai perangkat keras.
    Pendekatan Mesin virtual menyediakan sebuah antarmuka yang identik dengan underlying bare hardware.
    Sistem Operasimembuat ilusi dari banyak proses, masing-masing dieksekusi pada prosesornya sendiri dengan virtual memorinya sendiri.
    VM dibuat dengan pembagian sumber daya oleh komputer fisik
    Sumber daya dari komputer fisik dibagi untuk membuat VM
    Penjadwalan CPU bias menciptakan penampilan seakan–akan pengguna mempunyai prosesor sendiri
    Spooling dan system data bisa menyediakan virtual card readers dan virtual line printers
    Sebuah time-sharing terminal user yang normal melayani sebagai mana operator konsulat
    VM software membutuhkan ruang di dalam disk untuk menyediakan memori virtual dan spooling, yaitu sebuah disk virtual
    Keuntungan Penggunaan Mesin virtual
    Keamanan bukanlah masalah
    VM mempunyai pelindungan lengkap pada berbagai sistem sumber daya
    Tidak ada pembagian sumber daya secara langsung. Pembagian disk mini dan jaringan diimplementasikan pada perangkat lunak
    VM sistem adalah kendaraan yang“sempurna” untuk penelitian dan pengembangan sistem operasi
    Dengan VM perubahan suatu bagian tidak akan mempengaruhi komponen yang lain
    Kerugian Penggunaan VM
    VM sulit di implementasikan 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 dipysical mode. Akibatnya, saat instruksi yang hanya membutuhkan virtual monitor mode dijalankan, register berubah dan bias berefek pada virtual user mode, bahkan bisa me-restart VM
    Waktu yang dibutuhkan I/O bias lebih cepat (karena ada spooling), tapi bisa lebih lambat ( karena di interpreted)
    Java Virtual Machine
    Program Java yang telah di compile adalah platform-neutral byte codes yang dieksekusi oleh Java Virtual Machine(JVM)
    JVM terdiri dari:
    Pengeload kelas
    Pemverifikasi kelas
    Runtime interpreter
    Just In-Time(JIT) kompilator meningkatkan kinerja
    Java Development Environment (JDE) terdiri dari sebuah compile time environment yang mengubah java sources code menjadi byte code, dan sebuah run time environment yang menyediakan Java platform system untuk tuan rumah
    7)Perancangan SistemMasalah: menentukan tujuan dan spesifikasi sistem.
    Perancangan system dipengaruhi oleh perangkat keras dan jenis system sehingga kebutuhan-nya akan lebih sulit untuk dispesifikasikan.
    Kebutuhan terdiri dari tujuan pengguna dan tujuan sistem.
    Pengguna ingin system 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.
    Implementasi Sistem
    Secara tradisional, system operasi ditulis dalam bahasa rakitan, tapi sekarang sering dibuat dalam bahasa tingkat tinggi.
    Keuntungan ditulis dalam bahasa tingkat tinggi adalah
    Kodenya bias ditulis dengan lebih cepat
    Lebih padat
    Mudah dimengerti dan didebug
    Sistem operasi yang ditulis dengan bahasa tingkat tinggi akan mudah dipindahkan ke perangkat keras lain, tapi bisa mengurangi kecepatan dan membutuhkan penyimpanan yang lebih banyak.

    8)System GenerationSistem operasi dirancang untuk dapat dijalankan pada berbagai jenis mesin, sistemnya harus dikonfigurasikan untuk setiap komputer.
    Program Sysgen mendapatkan informasi mengenai konfigurasi khusus tentang system perangkat keras dari sebuah data, antara lain sebagai berikut:
    CPU apa yang digunakan, pilihan yang diinstal
    Berapa banyak memori yang tersedia
    Peralatan yang tersedia
    Sistem operasi pilihan apa yang diinginkanatau parameter apa yang digunakan
    Satu kali info diperoleh, bisa digunakan dengan berbagai cara.:d