struktur sistem operasi

Upload: rmkt-andika

Post on 19-Oct-2015

30 views

Category:

Documents


0 download

DESCRIPTION

menjelaskan apasaja komponen yang terdapat didalam sistem operasi

TRANSCRIPT

  • Sistem Operasi 2

    Struktur Sistem Operasi

  • Definisi SO

    Dari sudut pandang user Sistem Operasi sebagai alat untuk mempermudah

    penggunaan Komputer Sistem Operasi sebagai alat untuk memaksimalkan

    penggunaan sumber daya komputer (dalam lingkungan multi-user)

    Dari sudut pandang sistem Sistem Operasi sebagai alat yang menempatkan sumber

    daya secara efisien (Resource Allocator) Sistem Operasi sebagai alat yang mangatur eksekusi

    aplikasi dan operasi dari alat I/O (Control Program) Sistem Operasi sebagai sebuah program yang selalu

    berjalan setiap saat pada komputer (Kernel)

  • Layanan SO

    User interface hampir semua SO ada GUI-nya Varies between Command-Line (CLI), Graphics

    User Interface (GUI), Batch Program execution SO harus bisa meload

    program ke memory dan mengeksekusinya, menghentikan eksekusi program, baik normal maupun tidak normal (abnormal exit)

    I/O operations - Program yang sedang berjalan butuh I/O, I/O device

    baik mengakses file ataupun

    File-system manipulation - Programs butuh read dan write baik file atau directories, create dan delete, search file/dir, list file information, dan permission management.

  • Layanan SO

    Communications proses harus berkomunikasi antar proses dalam komputer yang sama atau antar komputer dalam jaringan Menggunakan shared memory atau

    menggunakan message passing

    Error detection harus mampu menangani error Dalam terjadi pada CPU, memory hardware,

    dalam I/O devices, dan dalam user program Untuk setiap error, OS harus menanganinya

    dengan aksi yang sesuai, benar, dan konsisten Harus adanya fasilitas debugging

  • Layanan SO

    Resource allocation ketika multiple users atau multiple jobs berjalan bersama-sama (concurent), resources harus dialokasikan

    Accounting menentukan berapa banyak dan berapa lama users menggunakan sumber daya sistem

    Protection and security Protection menyakinkan hak akses yang

    diperbolehkan Security sistem, baik program atau I/O

    dari pihak luar menggunakan autentikasi.

  • A View of Operating System Services

  • Command Line Interpreter

    Sistem Operasi menunggu instruksi dari pengguna (command driven).

    Sometimes commands built-in, names of programs

    sometimes just

    If the latter, adding new features doesnt require shell modification

    CLI: Program yang membaca instruksi dan mengartikan control statements (keinginan user) umumnya disebut: control-card interpreter command-line interpreter UNIX shell.

  • User Operating System Interface - GUI

    User-friendly desktop metaphor interface Menggunakan mouse, keyboard, and monitor Icons merepresentasikan files, programs, actions, dll Menggunakan directory = folder Invented at Xerox PARC

    SO sekarang menggunakan antara CLI dan GUI interfaces Microsoft Windows is GUI with CLI command shell Apple Mac OS X as Aqua GUI interface with UNIX

    kernel underneath and shells available Solaris is CLI with optional GUI interfaces (Java

    Desktop, KDE)

  • Command Interpreter

  • The Mac OS X GUI

  • Sistem Calls

    System calls menyediakan interface antara proses (program yang sedang dijalankan) dan sistem operasi.

    Biasanya dibuat menggunakan bahasa tingkat tinggi (C or C++)

    Diakses menggunakan Application Program Interface (API) daripada pemanggilan langsung

    3 API yang umum adalah: Win32 API for Windows, POSIX API for POSIX-based systems (including virtually

    all versions of UNIX, Linux, and Mac OS X), Java API for the Java virtual machine (JVM)

  • Example of System Calls

    System call sequence to copy the contents of one file to another file

  • Example of Standard API

    Consider the ReadFile() function in the Win32 APIa function for reading from a file

    A description of the parameters passed to ReadFile() HANDLE filethe file to be read LPVOID buffera buffer where the data will be read into and written

    from DWORD bytesToReadthe number of bytes to be read into the buffer LPDWORD bytesReadthe number of bytes read during the last read LPOVERLAPPED ovlindicates if overlapped I/O is being used

  • System Call implementation

    The caller need know nothing about how the system call is implemented Just needs to obey API and understand

    what OS will do as a result call Most details of OS interface hidden

    from programmer by API Managed by run-time support library (set

    of functions built into libraries included with compiler)

  • API System Call OS Relationship

  • Standard C Library Example

    C program invoking printf() library call, which calls write() system call

  • System Calls

    Tiga metode umum yang digunakan dalam memberikan parameter kepada sistem operasi Melalui registers

    In some cases, may be more parameters than registers

    Menyimpan parameter dalam block / tabel pada memori dan alamat block tsb diberikan sebagai parameter pada register This approach taken by Linux and Solaris

    Menyimpan parameter (push) ke dalam stack (oleh program), dan melakukan pop off pada stack (oleh sistem operasi) Sifatnya dinamis

  • Parameter Passing via Table

  • Jenis System Calls System Program

    Process Control

    Manajemen file

    Manajemen Device

    Information Maintenance Komunikasi

    Proteksi

    Biasanya digunakan pada system program

  • Examples of Windows and Unix System Calls

  • 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

  • MS-DOS execution

    (a) At system startup (b) running a program

  • FreeBSD Running Multiple Programs

  • Manajemen File

    Membuat dan menghapus file

    Membuka dan menutup file

    Read, write, reposition

    Mengambil dan men-set file attributes

  • Manajemen Device

    Meminta device, melepaskan device

    Read, write, reposition

    Mengambil dan men-set device attributes

    Logically attach or detach device (mount / umount)

  • Information Maintenance

    Mengambil dan men-set waktu dan tanggal

    Men-set proses, file, or device attributes

  • 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

  • Struktur Sistem Operasi

    Struktur Sederhana Tidak dibagi dalam modul-modul Contoh : Struktur sistem MS-DOS:

    disusun untuk mendukung fungsi yang banyak pada space yang kecil

    Metode pendekatan Layer / Leve Contoh: UNIX, terdiri dari kernel (berisi device driver

    dan interface) dan program

    Mikrokernel Menyusun sistem operasi dengan menghapus semua

    komponen yang tidak esensial dari kernel, dan mengimplementasikannya sebagai sistem program pada user-level

    Modular

  • MS-DOS Layer Structure

  • Traditional UNIX System Structure

  • Layered Operating System

    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

  • Layered OS

    Keuntungan: modularitas

    mempermudah debug dan verifikasi sistem

    layer pertama bisa didebug tanpa mengganggu sistem yang lain

    Kesulitan: hanya bisa menggunakan layer

    dibawahnya

  • Mikrokernel

    Fungsi utama: mendukung fasilitas komunikasi antara program user dan bermacam-macam layanan yang juga berjalan di user-space

    Kernel menjadi lebih kecil Komunikasi melalui message passing Keuntungan:

    ketika layanan baru akan ditambahkan ke user-space, kernel tidak perlu di modif

    mendukung keamanan reliabilitas lebih, karena sebagian besar pada level pengguna, SO jadi terjaga

    Contoh sistem operasi : Tru64 UNIX, MacOSX, QNX

  • Monolithic vs Microkernel

  • Modules

    Most modern operating systems implement kernel modules Uses object-oriented approach

    Each core component is separate

    Each talks to the others over known interfaces

    Each is loadable as needed within the kernel

    Overall, similar to layers but with more flexible

  • Solaris Modular Approach

  • Virtual Machine

    Mesin virtual mengambil pendekatan layer secara logika. 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 seluruh hardware yang ada.

    Sistem Operasi host membuat ilusi dari banyak proses, masing-masing dieksekusi pada prosesornya sendiri dengan virtual memorinya sendiri.

    Setiap guest menyediakan sebuah (virtual) copy dari semua hal yang ada pada komputer

    VM dibuat dengan pembagian sumber daya oleh physical computer

    VM ada 2: system VM dan application VM

  • Virtual Machine (2)

    Sumber daya fisik dibagi oleh VM untuk: Penjadwalan CPU bisa menciptakan

    penampilan seakan user mempunyai prosesor sendiri

    Spooling bisa menyediakan virtual card readers dan virtual line printers

    Sebuah time-sharing terminal, yang dapat melayani user dengan tepat

    VM software membutuhkan disk space untuk menyediakan Virtual memory dan spooling, yaitu sebuah virtual disk

  • Virtual Machines History and Benefits

    First appeared commercially in IBM mainframes in 1972

    Fundamentally, multiple execution environments (different operating systems) can share the same hardware

    Protect from each other VM

    Commutate with each other, other physical systems via networking

    Useful for development, testing Open Virtual Machine Format, standard format

    of virtual machines, allows a VM to run within many different virtual machine (host) platforms

  • Keuntungan VM

    Keamanan bukanlah masalah

    VM mempunyai pelindungan lengkap pada berbagai sistem sumber daya

    Tidak ada pembagian sumber daya secara langsung

    VM sistem adalah kendaraan yang sempurna untuk penelitian dan pengembangan sistem operasi

    Dengan VM perubahan suatu bagian tidak akan mempengaruhi komponen yang lain

  • Kesulitan VM

    VM sulit diimplementasikan karena banyak syarat yang dibutuhkan untuk menyediakan duplikat yang tepat dari mesin host Harus punya virtual-user mode dan virtual-monitor

    mode yang keduanya berjalan di pysichal mode. Akibatnya, saat instruksi yang hanya membutuhkan

    virtual monitor mode dijalankan, register berubah dan bisa berefek pada virtual user mode, bahkan bisa me- restart VM

    Waktu yang dibutuhkan I/O bisa lebih cepat(karena ada spooling), tapi bisa lebih lambat (karena diinterpreted)

  • Non-virtual Machine Virtual Machine

    Virtual Machines (Cont)

    (a) Nonvirtual machine (b) virtual machine

  • VMware Architecture

  • VMWare

  • Java Virtual Machine

    Program Java yang telah dicompile adalah platform-neutral bytecodes yang dieksekusi oleh Java Virtual Machine(JVM)

    JVM terdiri dari:

    Class loader

    Class verificatier

    runtime interpreter

    Just In-Time(JIT) compilers meningkatkan performance

  • The Java Virtual Machine

  • Flow Chart of BIOS Functions

    Turn on Computer Post = power on self test

    Pass through POST Error Free YES

    NO Output to Monitor

    PlugnPlay

    Test Boot Drive Pass through POST Error

    Free

    Bootable media found NO Pass through POST Error

    Free NO YES

    Load boot program Pass through POST Error

    Free

    Start operating system

  • Bootstrap loader

    Operating system must be made available to hardware, so hardware can start it

    Small piece of code bootstrap loader, locates the kernel, loads it into memory, and starts it

    boot block at fixed location loads bootstrap loader

    When power initialized on system, execution starts at a fixed memory location Firmware used to hold initial boot code