1. Sistem Operasi → pengertian/definisi → mengawasi - SISTEM OPERASI & KOMPUTER

  

SISTEM OPERASI & SISTEM

KOMPUTER

  

1. Sistem Operasi → pengertian/defnisi → mengawasi

   Seperangkat program : memantau & mengatur (kontrol)

   Penghubung  Karnel  Guardian

  2. Sisem Operasi → fungsi/peran sebagai

   Extended machine (virtual machine)  Resource manager  Resource allocator

  3. Sistem Operasi → tujuan

   Lingkungan dimana user dapat mengeksekusi program program  Umum : untuk berbagai keperluan → p.l. memadai  Khusus : untuk penelitian  Sistem komputer nyaman  Efesiensikan hardware

  4. Sejarah perkembangan sistem operasi Generasi 1

   Belum ada bahasa pemrograman

   Menggunakan plugboard  Mengenal punched card

  Generasi 2

   Pengenalan fungsi personil  Pengenalan program (seperangkat prg)  Penggunaan bahasa  Penerapan batch fle  Pengoperasian offline  Penggunaan mesin mesin besar (sains.eng)

  Generasi 3

   Menggunakan IC  Menangani komputasi sains & bisnis  Sistem operasi yang besar dan kompleks  Multiprogramming & multiprocessing  SPOOLING  Time sharing/Multitaksing  Komputer mini  UNIX  Realtime system

  Generasi 4

   LSI – VLSI → PC & workstation (dekstop system)  Perangkat lunak user friendly  Sistem operasi → MS DOS & UNIX  Network operating system  Distributed operating system

  Generasi 5

   Pentium pada server & workstation  Sistem operasi windows

   Internet & multimedia & aplikasi berasis web

  5. Istilah istilah  Batch system  Multiprogramming system  Time sharing system / multitasking  Parallel system (multiprocessing system)/tightly coupled  Real time system  Distributed system / loosely coupled system

1. Block diagram komputer

  CONTROL

  INPUT

  UNIT

  Saluran OUTPU

  PROCESS Penghubu

  T OR ng

  MEMORI

  MEMOR

  PENDUKUN

  Y

  G

  CLOCK

  Konsep Sistem komputer

  Tertinggi : Diagram block Arsitektur Transfer register Rangkaian sakelar

  Terrendah: Elektronika

  Komponen Sistem komputer

  Para pemakai komputer Program aplikasi & berkas data Sistem utilitas & sistem bahasa

  Sistem Operasi komputer Hardware

STRUKTUR SISTEM KOMPUTER

  Arsitektur sistem komputer

   CPU device dan I/O dapat beroperasi serentak (concurrent) → effisiensi

   Semua request ke I/O dikendalikan oleh I/O system o Setiap device terdapat controller o Setiap device controller mempunyai local bufer

   CPU memindahkan data dari / ke memory ke / dari local bufer o Lalu controller akan mengirim data dari bufer ke device Interrupt (softwarefhardware) → jenis :

   Polling (tanya) : mellalui Prosesor  Vectored interrupt system (langsung) dari berbagai sumber daya Interrupt Handler : Jika terjadi intterupt maka kendali perossesor diserahkan ke I H : f device yang intterupt

  CPU Disk Controller

  Printer Controller Tape Drive

  Controlle Memory Controller Memory

1. Operasi Sistem Komputer

  f menyimpan status CPU

  2. Struktur Input / Output

   User request I/O o CPU : load instruksi ke register controller o Controller : menjalankan instruksi  Setelah I/O mulai, control kembali ke user jika operasi I/

  O belum selesai  Dua metode I/O o Synchronous (blocking) o Asynchronous (Interrupt Driver)

   I/O intterupt o Pilihan lebih baik: asynchronous I/O o Setelah I/O mulai kendali langsung kembali ke user program tanpa menunggu I/O selesai  User dapat / harus menunggu I/O selesai

   Potensi lebih dari satu device (sharable vs dedicated) o User dapat menggunakan I/O melalui system call o Device status table : informasi I/O device (tipe, alm, status (idle/busy), dll)

  3. Struktur storage

   Main memory → CPU dapat akses langsung  Secondary storage → kapasitas besar dan nonvolatile

   Magnetic disks → piringan o Terbagi secara logikal dalam track lalu sector o Disk controller menentuka interaksi logical antara device dan komputer

  Hirarki storage

  Dikategorikan dalam bentuk

   o Kecepatan o Biaya o Volatilitas Caching  o Penduplikasian informasi ke dalam sistem storage yang cepat dapat dilakukan melalui cache pada secondary storage Migrasi dari disk ke register

  A A A

  Hardwar Magnetic Main Cache e disk memory register

4. Proteksi Hardware

  Dual mode operation  Proteksi I/O  Proteksi memory

   Proteksi CPU  Dual Mode Operation

  Menggunakan resource sharing membutuhkan sistem

   operasi yang menjamin program yang salah tidak menyebabkan program yang lain terpengaruh  Menyediakan dukungan hardware yang dibedakan dalam dua mode operasi

  1. user mode 2. monitor mode (karnel mode/system mode/supervisor mode/privileged mode)

   Mode bit ditambahkan pada komputer hardware (CPU) untuk indikasi mode sekarang : monitor (0) atau user (1)

   Jika terjadi intterupt/fault/error → hardware mengubah mode ke monitor Proteksi I/O

   Semua instruksi I/O adalah instruksi privileged  OS menjaga supaya program user tidak dapat menjadi

  “monitor mode” Proteksi memory

   Melindungi memory terutama untuk isi → interrupt  Cara umum adalah setiap user program hanya dapat mengakses lokasi memory yang telah dibatasi o Range address o Base register o Limit register  Memory di luar range tidak dapat di akses

  Proteksi CPU  Timer : f interupsi secara berkala oleh hardware f nilai timer akan berukarang sesuai “clock thick” f saat nilai timer menjadi 0, interrupt akan terjadi f Housekeeping : CPU scheduling, status device table dll  Timer digunakan untuk system time

  A Base : B limit x add=b+x

  B C D monitor Job 1

  Job 2 Job 3

STRUKTUR SISTEM OPERASI

A. Komponen sistem

  1. Management process  Procses adalah sebuah program yang sedang di eksekusi  Sistem operasi yang bertanggung jawab atas aktiftas yang berhubungan dengan manajemen proses : o Creation & deletion o Suspension (block) & resumption oMekanisme : sinkronasi & komunikasi proses

  2. Manajement main memory  Memori sebagai tempat penyimpanan instruksi/data dari program yang sifatnya volatile  Managemn memory oMelacak pemakaian memory (siapa&berapa besar) oMemilih program mana yang akan di load ke memori alokasi & defalokasi memori fsik untuk program

  3. Manajemen secondary storage  Penyimpanan permanen untuk semua program & data  OS bertanggung jawab untuk manajemen disk oManajemen ruang kosong oAlokasi storage oMenjadwalan disk

  4. Manajement I/O system  Disebut device manager → device driver : operasi

  I/O dapat seragam (open, read, write, close) pada hard disk, cd rom, foppy disk

   Komponen OS untuk sistem I/O oBufer : menampung sementara data dari/ke I/O device oSpooling : melakukan scheduling pemakaian I/O (antrian) oMenyediakan “driver” untuk operasi rinci untuk hardware tertentu

  5. Manajemen fle  OS bertanggung jawab atas : oMembuat dan menghapus fle/directory oDukungan primitif untuk manipulasi fle/directory oPemetaan fole ke dalam secondary storage oBackup fle ke media storage yang stabil / non volatile

  B. Layanan Sistem Operasi

  1. Eksekusi program → load & eksekusi proses

  2. Operasi I/O

  a. User tidak dapat langsung mengakses resources, OS harus menyediakan mekanisme untuk operasi I/O

  3. Manipulasi fle system

  4. Komunikasi

  5. Deteksi error

  6. Penggunaan system yang effisien

  a. Proteksi : menjamin akses ke resource di kendalikan b. Accounting : merekam kegiatan user, jatah pemakaian resources

  C. System Call o Menyediakan interface antara program dan OS o System call ditulis dalam assembly language atau bahasa tingkat tinggi yang dapat mengendalikan mesin (C) o Berkaitan dengan pembuatan dan penghentian setiap proces

  Tipe system call

  1. Kontrol proses o Mengakhiri (end) dan membatalkan (abort) o Mengambil (load) dan eksekusi o Membuat dan mengakhiri proses o Menentukan dan men set atribut proses o Wait for time, wait event, signal event o Mengalokasi dan membebaskan memory

  2. Manipulasi fle o Membuat dan menghapus fle o Membuka dan menutup fle o Membaca, menulis dan mereposisi fle o Menentukan dan mengeset atribut fle

  3. Management device o Meminta dan membebaskan device o Membaca, menulis dan mereposisi device o Menentukan dan mengeset atribut device

  4. Informasi lingkungan o Mengambil atau mengeset waktu atau tanggal o Mengambil atau mengeset sistem data proses, fle, attribut device

  5. Komunikasi o Membuat dan menghapus sambungan komunikasi o Mengirim dan menerima pesan o Mentransfer status informasi o Komunikasi dilakukan dengan passing/tukar atau sharing memory

D. Program System

  Menyediakan kemudahan pembangunan program dan eksekusi o Manipulasi fle o Informasi status o Modifkasi fle o Dukungan bahasa pemrograman o Loading dan eksekusi program/debugging o Komunikasi o Aplikasi program

  Kebanyakan user memandang sistem operasi sebagai program sistem bukan sebagau “actual system call”

II. Penjadwalan Proses

  Pada multi programming : maximize pemakaian CPU  secara efsien → CPU digunakan oleh proses terus menerus

  Pada time sharing : pemakaian CPU dapat di switch dari  satu proses ke proses lain → user dapat berinteraksi dengan sistem sesering mungkin Pada proses tunggal : hanya ada 1 proses yang dapat

  • dijalankan. Proses lain menunggu sampai CPU di jadwalkan ke proses tersebut

A. Shceduling Queque

  PCB 7 PCB 2 Queque header Hea

  READY Regis Regis d

  QUEQUE ter ter Tail

  TAIL MAG HEAD TAPE DISK HEAD UNIT1 UNIT TAIL TERMI HEAD NAL TAIL UNIT

  • Proses yang masuk ke system diletakkan di job queue

  Proses yang ada di memori utama menunggu untuk di  eksekusi di letakkan pada setiap list yang disebut ready queue Queue ini disimpan sebagai linked list yang berisi

  • pointer awal dan akhir PCB stiap PCB memiliki stiap pointer feld yang menunjuk ke proses berikutnya dalam ready queue

  B. Penjadwalan / Schedulers Scheduler memilih proses atau program (lebih dari satu)

  1. Longterm scheduler (job scheduler) Memilih program yang akan di load dan ada di ready queue : mungkin akan ada proses 1 job baru atau proses di pindahkan dari memori ke disk (swap out)

  2. Shortterm scheduler (CPU scheduler) Memilih proses yang berada di ready queue akan “run” mendapat jatah CPU. Dikenal dengan istilah context switch proses

  C. Alih konteks / Context swtich Saat terjadi swith (switching)

  Sistem harus menyimpan “informasi” proses sekarang  Load “informasi” dari proses baru yang berada di PCB

  • Waktu context switching adalah overhead, sistem tidak
  • bekerja

III. Operasi pada proses

A. Pembuatan proses

  Umumnya proses (parent) dapat membuat proses  baru (child process) Child process dapat membuat proses baru

  • sehingga terbentuk “tree process”

1. Resource sharing

   Parent & child berbagi resource  Child berbagi subset dari resource parent  Parent & child tidak berbagi resource

2. Struktur Sistem Operasi

  Metode untuk mengorganisasikan dan membangun sistem operasi

  1. Struktur Monolitnic (struktur sederhana dengan operasi dual mode) a. Kumpulan program yang menggunakan langsung resource hardware b. Terdapat program yang mewakili fungsi OS : processor management, memory management c. OS awal : satu kesatuan proses dimana kontrol berpindah dari program program tersebut (produce call)

  d. Program user (process) : menjadi satu bagian rutin dari (loop) program utama jika tidak melakukan fungsi os

  e. User program dijalankan “call” dari OS → eksekusi pada user mode akan berhenti : timeout, kembali ke OS, intterupt

  2. Pendekatan sederhana (karnel) Struktur terbatas pada 2 layer System program : bagian OS yang di bangun di atas karnel → extended machine Karnel (berisi semua layanan yang disediakan SO untuk user)  Operasi vital melindungi resources hardware  Semua service untuk user proses melakukan mekanisme system call  Tugas utama karnel menyediakan fasilitas untuk multitasking / multiprogramming → dimana proses proses berjalan serentak dan terpisah

  Contoh : UNIX Yang lainnya MSfDOS (tidak menggunakan dual mode & tanpa modul)

  Struktur Sistem UNIX

  • --------------------------------------------------------------------------

    --------------------------

    The users

  • --------------------------------------------------------------------------

    --------------------------

    Shell & commands

    Compilers & interpreters

    System libraries

  • --------------------------------------------------------------------------

    -------------------------

    System call interface to the karnel

    Signals terminal fle system CPU schedulling Handling swapping block I/O page replacement Char I/O system system demand

  paging

Terminal drivers disk & tape drivers virtual memory

Karnel interface to the hardware

  • --------------------------------------------------------------------------

    --------------------------

  Terminal controlers device controllers memory controllers Terminals disk & tapes Physical memory

  3. Pendekatan berlapis (layer approach)

   Susunan berlapis : lebih dari 2 layer  Setiap layer melingkupi layer dibawahnya (kendali, akses) o Layer paling bawah (o) → hardware o Layer paling atas (N) → user interface  Rancangan modular : o Layer disusun sehingga setiap fungsi / operasi layer atas akan menggunakan “services” pada layer bawah

  Application application application

  • --------------------------------------------------------------------------

    --------------------------

    Application programming interface API

    extention
  • --------------------------------------------------------------------------

    --------------------------
    • --------------- Subsystem

  subsystem

  • --------------------------------------------------------------------------

    -------------------------- Karnel

  • --------------------------------------------------------------------------

    -------------------------- Device driver

  device driver

  

PROSES

I. Konsep Proses

  A. Proses adalah sesuatu program yang sedang

  dieksekusi, banyak & beragam. Instruksi pada program (code) akan dieksekusi secara sekuensial sesuai dengan “line code” (stored program concept) Proses lebih dari “program code yang aktif” :

  o Melacak posisi insruksi (sequential execution) :

  program counter

  o Menyimpan data sementara var, parameter, return

  value, stack

  o Menyimpan data (initial, global variable, dll) : data

  section

  o Menyimpan status proses. Contoh : aktif, wait, I/O

  req, dll

  B. Status proses

  Saat saat proses dijalankan (executed) maka status dari proses akan berubah

  o New : proses di buat o Running : instruksi di eksekusi o Waiting : proses menunggu beberapa event yang

  akan terjadi

  

o Ready : proses menunggu jatah waktu dari

  prosessor

  o Terminated : proses selesai di eksekusi Diagram status proses New keluar

  Terminate disetujui d interrupt Read Runnin Informasi proses disimpan di? o Data structure dari OS dalam bentuk table o Satu entry table / linked list (array of structure) o Informasi yang disimpan o Informasi internal CPU : isi regeister, program counter, status CPU dll (umumnya bentuk stack frame) o Identifkasi Proses : nama proses, nomer proses/index, proses id o Accounting & timer : usertime, system time, alarm, dll o Resources : memory fle management

C. Proces control block (PCB)

  

Pointer Proses

Proses number

Program counter

Register

  

Memory limit

List of open fle

.

.

.

  2. Execution

  o Parent & child melakukan eksekusi secara serentak o Parent menunggu hinggal chilren selesai

  3. Addres space (ruang alamat) o Child menduplikasi parent o Child memiliki program yang di load kedalamnya

D. Terminasi proses (penghentian proses)

  o Proses dapat berakhir o Eksekusi instruksi trakhir (exit system call) o OS yang akan melakukan dealokasi (memory, fle resource) o Parent dapat menghenikan eksekusi proses child secara paksa : mengirim sinyal (abort, kill system call)

  IV. Kerjasama proses

  o Proses independent tidak mempengaruhi eksekusi proses lain o Kerja sama proses dapat mempengaruhi atau dipengaruhi oleh proses lain o Keuntungan kerja sama proses : o Sharing informasi o Meningkatkan kecepatan komputasi o Modularitas o Kemudahan

  V. Interprocess communication (IPC)

  o Mekanisme proses untuk komunikasi & sinkronasi aksi o Sistem pesan komunikasi proses satu dengan yang lain dapat dilakukan tanpa perlu pembagian data o IPC menyediakan 2 operasi : send dan receive o Jika P dan Q melakukan komunikasi maka keduanya memerlukan o Jalur komunikasi antar o Melakukan pertukaran pesan melalui send/receive o Implementasi jalur komunikasi o Phisical (shared memory, hardware bus) o Logical (logical properties)

  A. komunikasi langsung

  o Proses harus diberi nama dengan jelas o Send (P, message) o Receive (Q, massage) o Properti: jalur komunikasi o Di bangun secara otomatis o Setiap jalur memiliki pasangan masing masing dalam komunikasi o Jalur tersebut biasanya directional : unidr / bidr

B. Komunikasi tidak langsung

  

o Pesan dikirim dan diterima melalui mail boxes (port)

o Properti : jalur komunikasi o Dibangun jika proses di share dalam mailbox o Jalur merupakan gabungan beberapa proses o Setiap pasangan dibagi ke dalam beberapa jalur

  komunikasi

  o Operasi : o Membuat mailbox baru o Mengirim & menerima pesan melalui mailbox o Menghapus mailbox o Primitive didefnisikan o Send (A, massage) o Receive (A, massage)

  Sinkronisasi

  Pesan yang disampaikan dapat di block / blocking (synchronous) atau tidak diblock / nonblocking (Asynchronous)

  Buffering o Antrian pesan yang di hubungkan dalam setiap jalur, di

  implementasikan dalam 3 jalan

  

o Zero capacity : tidak ada pesan (max = nol)

  Sender menunggu reciever (rendezvous) 

  o Bounded capacity : memiliki panjang teratas (fnite

  length) dari n pesan Sender menunggu saat penuh 

  o Unbounded capacity : memiliki panjang tidak

  terbatas (infnity length) Sender tidak pernah menunggu 

  Kondisi kondisi perkecualian

1. Proses dihentikan

  Pengirim atau penerima menghentikan komunikasi sebelum pesan di proses

  2. Kehilangan pesan Pesan dari proses P ke proses Q bisa jadi hilang dalam setiap jaringan komunikasi. Untuk mendeteksi digunakan time out. Jika melebihi batas waktu maka pesan tersebut dianggap hilang dan dikirim kembali

  3. Pesan terganggu Pesan yang dikirim sebelum sampai tujuan terkadang mengalami gangguan di tengah jalan

  Thread o Program yang di eksekusi o Proses berat (heavyweight) →proses tradisional o Proses ringan (lightweight) → thread o Thread terdiri dari : o ID thread, program counter, himpunan register

  stack

  o Thread dapat melakukan lebih dari satu pekerjaan pada

  waktu yang sama Keuntungan o Tanggap o Pembagian sumberdaya o Ekonomis o Pemberdayaan arsitektur multiprosesor

  Proses single dan multithread 1. status sama dengan proses, hanya satu yang aktif dalam satu waktu dapat membuat child. Jika 1 thread di blocked yang lain dapat jalan

  Files Data Code Tread Tread Files Data Code reg

Stac reg reg reg

k

  Stac k Stac k

  Stac k trea d trea d trea d

  Single threaded Multi treaded

  2. tidak seperti proses, tidak saling bebas, tidak ada proteksi