For more widgets please visit www.yourminis.com

Penjadwalan Proses

  • Jika banyak proses yang akan dijalankan maka SO harus memutuskan proses mana yang dijalankan terlebih dahulu
  • Bagian SO yang menjadi pembuat keputusan disebut dgn : Penjadwal (Scheduler)
  • Algoritmanya : Scheduling Algorithm

Kriteria Penjadwalan yang baik
  1. Adil (fairness) : memastikan tiap proses berbagi CPU secara adil
  2. Efisiensi : menjaga agar CPU senantiasa sibuk sepanjang waktu
  3. Response time (wkatu tanggap) : meminimumkan waktu respon untuk pemakai interaktif
  4. Turnaround : meminimumkan waktu batch pemakai untuk menunggu output
  5. Throughput : memaksimumkan jumlah pekerjaan per jam

Beberapa kriteria diatas ada yang bertentangan ??

Preemptive dan Non Preemptive Scheduling

  • Preemptive Scheduling :
  1. Strategi yang memungkinkan sebuah proses yang siap dijalankan ditunda sementara
  • Non Preemptive Schedulling
  1. Tidak bisa ditunda

Penjadwalan Round Robin

  • Paling tua dan paling banyak digunakan
  • Semua proses dianggap sama penting dan diberikan suatu interval waktu yang sama yang disebut dengan quantum
  • Jika quantum habis dan proses masih berjalan, CPU menghentikan proses dan memberikan quantum kepada yang lain
  • Jika proses selesai sebelum quantum habis atau terblok, CPU akan melakukan switch ke proses yang lain.
  • Masalah : ukuran quantum yang tepat (tidak terlalu pendek atau terlalu panjang)

Penjadwalan Prioritas

  • Setiap proses diberi prioritas
  • Prioritas tertinggi akan dijalankan terlebih dahulu
  • Untuk mencegah proses dengan prioritas tinggi terus menerus maka prioritas proses akan diturunkan setiap interupsi sampai ada prioritas lain yang lebih tinggi.
  • Kombinasi Round Robin dan Prioritas


Job Terpendek Pertama (Shortest Job First)

  • Digunakan untuk sistem batch
  • Run time diketahui lebih dahulu
  • Mengetahuinya dengan teknik estimasi
  • Misal 4 job dengan waktu 8, 4, 4, 4
Turnaround dengan :R.R.-> 8, 12, 16, 20
SJF -> 4, 8, 12, 20

Pendahuluan Proses

  • Proses adalah abstraksi tentang suatu program yang sedang dijalankan
  • Komponen proses
  1. program yang sedang dieksekusi
  2. data
  3. sumber daya (resource)
  4. status dari eksekusi
  • Semua komputer modern bisa melakukan beberapa pekerjaan dalam saat yang sama.
  • Dalam multiprogramming , CPU berpindah dari satu program ke program lain dalam waktu yang sangat singkat. Kenyataannya CPU hanya menjalankan satu program pada suatu saat.
  • paralelisme vs pseudoparalelisme

MODEL PROSES
  • Semua S/W dikelompokkan menjadi sejumlah proses sekuensial.
  • Menggunakan model pseudoparalelisme
  • Suatu prosesor tunggal dapat dibagi diantara beberapa proses menggunakan suatu algoritma penjadwalan.

HIRARKI PROSES
  • Ada cara untuk menghapus dan membentuk proses
  • Pada UNIX , proses dibentuk dengan (system call) FORK
  • Proses utama dan subproses yang dipanggil dapat berjalan secara paralel
  • Pada MS-DOS, system call me-load suatu file biner tertentu ke memori dan mengeksekusinya sebagai subproses.
  • Proses utama dan subproses tidak dapat berjalan secara paralel

KEADAAN PROSES
Proses butuh berinteraksi dengan proses lain dan perlu diketahui kondisi dari proses lainnya itu.
Ada 3 keadaan proses :
1. Running
  • Kondisi dimana suatu proses sedang menggunakan CPU pada saat tersebut
2. Ready
  • Kondisi dimana proses sebenarnya runable, namun berhenti sementara karena CPU sedang digunakan proses lain
3. Blocked
  • Kondisi dimana proses belum dapat dijalankan karena menunggu kelengkapan proses eksternal

Transisi Proses
1. Running menjadi blocked
transisi ini terjadi karena ditemukan proses tidak dapat dilanjutkan karena ada sesuatu yang terjadi
2. Running menjadi ready
terjadi karena penjadwal proses memutuskan bahwa suatu proses terlalu lama menggunakan CPU
3. Ready menjadi running
terjadi jika semua proses telah mendapatkan bagiannya menggunakan CPU dan saatnya proses dalam kondisi ready untuk menggunakan CPU
4. Blocked menjadi ready
terjadi jika kelengkapan eksternal yang ditunggu proses sudah terpenuhi

IMPLEMENTASI PROSES
  • OS menggunakan tabel proses, satu entry per proses
  • Tabel proses berisi :
  1. informasi tentang status proses
  2. program counter
  3. stack pointer
  4. alokasi memori
  5. status-status file yang sedang dibuka
  6. informasi akunting dan penjadwalan
  7. segala sesuatu yang perlu disimpan pada saat berpindah dari kondisi running ke ready
  • Isi tabel proses secara umum umum memuat manajemen proses, menajemen memori, manajemen file.

INTERPROSES COMMUNICATION (IPC)
  • Proses bisa berkomunikasi dengan proses lain dengan menggunakan primitif interproses communication (IPC).
  • Primitif ini digunakan untuk mencegah dua proses / lebih mengakses bagian memori yang sama pada saat bersamaan (critical section).

RACE CONDITION
  • Proses-proses yang bekerja bersama sering harus berbagi (storage) dimana masing-masing proses dapat mambaca dan menulis shared data pada waktu yang sama.
  • Terjadi kondisi race (balapan) untuk mengakses satu lokasi yang sama dan hasil akhir tergantung pada proses yang berjalan tepat waktu
  • contoh :
  1. print spooler (spooler directory) , print daemon

Menghindari race condition

  • Hindarkan proses membaca, menulis shared data pada saat yang sama

Mutual Exclusion (Mutex)
  • Jika satu proses sedang melakukan sesuatu, maka proses lain dicegah untuk tidak bisa melakukan proses yang sama terhadap data yang sama.

CRITICAL SECTION
  • Bagian dari program dimana shared memori diakses.
Ada 4 kondisi untuk mendapatkan pemecahan yang baik bagi race condition
  1. Tidak ada dua proses secara simultan berada pada critical-sectionnya.
  2. Kecepatan dan banyaknya CPU tidak diperhatikan
  3. Tidak ada proses yang sedang running diluar critical section dapat memblock proses lain.
  4. Tidak ada proses yang terus-menerus menunggu untuk masuk pada critical sectionnya.

Cara mencapai mutual exclusion (Mutual Exclusion dengan busy waiting)
1. Disabling Interrupt (Menon-aktifkan)
  • Interrupt non aktif setelah memasuki critical section
  • Bisa lagi di interupsi sesaat sebelum meninggalkan critical section
  • Kurang bijaksana
  • Bagaimana kalau lupa mengaktifkan lagi
  • berguna pada saat-saat tertentu untuk Kernal, tetapi untuk user kurang tepat

Cara mencapai mutual exclusion (Mutual Exclusion dengan busy waiting)
2. Mengunci (lock) variabel
  • Jika akan masuk ke critical section maka variabel akan ditest : Jika 0 berarti tidak ada proses dalam critical section dan jika 1 berarti ada
  • Resiko sama saja dengan teknik interrupt

Cara mencapai mutual exclusion (Mutual Exclusion dengan busy waiting)
3. Strict Alternation (Fig 2-7 hal 36)

4. Solusi Peterson
  • Kombinasi antara variabel turn dan lock variabel

5. Instruksi TSL (Test and Set Lock)
  • Butuh sedikit bantuan dari H/W
  • Banyak pada prosesor ganda
  • TSL membaca isi dari memory word ke dalam suatu register dan memberi nilai bukan nol pada alamat memori. Operasi pembacaan dan store ini dijamin tak terbagi, tidak ada prosesor lain dapat mengakses kata tersebut sampai instruksi selesai.
  • CPU mengeksekusi instruksi TSL mengunci bus untuk melarang CPU lain mengakses memori sampai proses ini selesai.
  • Penyelesaian dengan solusi Peterson dan TSL keduanya benar tetapi memboroskan waktu CPU dengan harus memenuhi busy waiting.

Ada berbagai macam primitif IPC yang diantaranya :
  • semaphore
  • monitors
  • event counters
  • message passing

Secara teoritis semuanya ini equivalent yang masing-masingnya dapat diimplementasikan untuk yang lain. Semaphore dan message passing secara luas banyak digunakan.

Masalah Klasik dalam S.O

The Dinning Philosophers Problem

Sistem Operasi (Operating System)

Program / perangkat lunak yang mengontrol eksekusi program-program aplikasi dan berfungsi sebagai perantara (interface) antara pemakai komputer (user) dan komputer (hardware)

P.K ------- S.O. --------- User


Sebuah sistem komputer terdiri dari hardware, program sistem dan program aplikasi , terlihat dari gambar berikut :


Fungsi dasar Sistem Operasi :
1. S.O. sebagai ‘Extended machine’ atau ‘virtual machine’
contoh:
Untuk membaca atau menulis sesuatu ke disk, beberapa parameter harus diketahui :
misalnya :
alamat block yang akan dibaca
jumlah sektor per track
mode perekaman
jarak antar sektor
apa yang akan dilakukan bila ada tanda terhapus

S.O. menyembunyikan semua masalah kerumitan ini dengan penamaan file yang bisa dibaca dan ditulis yang sederhana. Begitu juga dengan masalah interrupt, timers, memori manajemen, dan semua feature low level lainnya.

2. S.O. sebagai ‘Resource manajer’ atau pengelola sumber daya

Komputer modern terdiri dari :
prosesor, memori, timer, disk, terminal, tape drive,
network interface , laser printer dll

Perangkat tsb memiliki keterbatasan kapasitas, sedangkan program yang yang menggunakannya banyak.

Tugas O.S. mengatur agar semua peralatan tsb diatas dapat bekerja dengan baik tanpa ada saling berebut atau berkompetisi,

SEJARAH SISTEM OPERASI
Generasi I (1945 - 1955)

Tabung hampa (vacuum tube)
plugboard
Orang yang berhasil membangun Mesin Hitung manggunakan tabung hampa : Howard Aiken , Joh Van Neumann , J. Presper Eckert dan William Mauchley, Konrad Zuse.
Sangat besar dengan 10.000 tabung
bahasa mesin
tanpa S.O.

Generasi II (1955 - 1965)

transistor
sistem batch
mahal
menggunakan punch card
bahasanya FORTRAN dan Assembly
menggunakan tape drive
berisi sistem operasi (FMS - Fortran Monitor System, dan IBSYS)
Off line printing (tidak tersambung ke komputer utama)

Generasi III (1965 - 1980)

IC (Integrated Circuit)
multi programming
misal : IBM System / 360
OS / 360
Menggunakan disk (hard disk)
Teknik Spooling (dari : Simultaneous Peripheral Operation On line)
MULTICS (MULTiplexed Information and Computer Service) --> PDP 1 s.d. mini PDP 11
Cikal bakal UNIX oleh Ken-Thomson (PDP-7)

Generasi IV (1980 - ....)

PC
LSI (Large Scale Integration) --> VLSI
MS DOS
UNIX
IBM PC
Intel 8088, 80286, 80386, 80486, pentium, & Power PC
RISC Computer
Network Operating System
Distributed Operating System
Uni processor, multi processor
Internet
Windows 3.1, windows 3.11, Windows 95, Windows NT
OS/2
X Windows
Client Server Computing

Jenis-jenis Pengoperasian Komputer

1.  Single Program Operation
·        Memproses satu program dalam satu waktu
·        micro computer
·        menggunakan S.O. sederhana
2.  Batch Processing
·       Sejumlah program dikumpulkan (batch) dan di-run secara kelompok (group)
·        di-run satu pada satu waktu tetapi untuk proses I/O memungkinkan overlap
·        Program berada dalam antrian
3.  Multi programming
·    Sejumlah program dapat dijalankan pada suatu waktu
·        Resources (sumber daya) dialokasikan sesuai dengan kebutuhan.
4.   Multi access
·  Sejumlah user dapat berinteraksi, melalui terminal


Suatu Struktur Sistem Operasi Yang Ideal mempunyai komponen-komponen sbb:
·        Nukleus
·        Memory management
·        I/O control
·        Backing Store management
·        Resource Allocation & Scheduling
·        Protection

4 Komponen utama S.O. dikategorikan sbb:
manajemen proses, manajemen memori, manajemen file dan manajemen I/O


Nukleus

Modul paling rendah dari suatu S.O
ditunjang langsung ke H/W
melayani modul-modul / layer lainnya
contoh tugas
penanganan interrupt
lokasi waktu kerja proses
membantu komunikasi antar program

Memory management

·  keterbatasan main memory
·  berfungsi untuk mengalokasikan memory bagi program yang sangat membutuhkan

contoh : virtual memori
memori komputer terlihat jauh lebih besar daripada yang sebenarnya


Pengendalian I/O

· problem : variasi dalam karakteristik dan kecepatan
· berfungsi untuk menyamakan perbedaan-perbedaan tsb sehingga I/O menjadi device independent
· Menyembunyikan kompleksitas akses I/O
· teknik SPOOL

Backing Store Management
·  file sistem
·  memelihara struktur semua informasi mengenai data dan program
·   menjamin efisiensi pemakaian
·   data dna program disimpan dalam file
·  BSM bersama dengan MM modul bekerjasama dalam transfer data antara main memory dan backing store
memelihara access previleges setiap file (share,private atau secret)

Resource Allocation & Scedulling
·  menghindari deadlock
·  menerapkan resource allocation policy
· menerapkan penjadwalan pemakaian processor berdasarkan kebijakan penjadwalan (schedulling policy) misalnya berdasarkan tingkat prioritas setiap program
contoh : scheduling policy : timeslicing

Resource Allocation & Scedulling
·  menghindari deadlock
·  menerapkan resource allocation policy
· menerapkan penjadwalan pemakaian processor berdasarkan kebijakan penjadwalan (schedulling policy) misalnya berdasarkan tingkat prioritas setiap program
contoh : scheduling policy : timeslicing

Protection
·terhadap pemakaian yang illegal
·terhadap keamanan file
·terhadap main memory pada saat eksekusi program
·pengamanan bertingkat (level of privilege)
·nukleus (tertinggi) ---> aplikasi (terendah)
Selamat Datang © 2008 Template by:
SkinCorner