29
BAGIAN I PENDAHULUAN - Komputer? Tanpa software? Segumpal mesin yang tidak berdaya guna! Dengan software? - Komputer dapat menyimpan, memproses dan mengambil informasi, dapat menemukan kesalahan2 dalam penulisan, bermain game serta hal2 lain sesuai dengan kebutuhan dan perkembangan jaman dan manusia. - Secara garis besar software yang telah disebutkan dibagi menjadi 2 bagian yaitu “system program” yang me-manage operasi komputer itu sendiri dan “application program” yang menyelesaikan masalah2 yang ditemui user. - Sebagai dasar yang paling penting dari keseluruhan system program adalah “operating system” yang mengendalikan seluruh sumber daya dari sebuah komputer dan memberikan fasilitas2 untuk keperluan pembuatan aplikasi-aplikasi. “What is an Operating System?” Extended machine or Virtual machine Kesulitan mengelola sebuah komputer langsung pada hardware ditangani melalui software, dalam hal ini Operating System berperan sebagai extended machine yang memudahkan pemakai seolah2 memprogram sebuah mesin secara nyata. Resource manager Seiring dengan perkembangan teknologi, alat2 tambahan yang menyertai sebuah komputer-pun bertambah. Prosesor, memori, timer, disk, terminal, network interface, printer dll akan terpasang bersama pada sebuah komputer. Apa yang terjadi bila keperluan dari masing2 peralatan tersebut tidak ada yang mengatur? - Tugas OS dalam hal ini adalah: 1. Mengawasi status semua sumber daya yang dimiliki setiap saat 2. Membuat kebijaksanaan penjadwalan dan penjatahan pemakaian sumber daya: - proses mana yang harus dipilih untuk mendapat sumber daya - kapan harus mendapatkan sumber daya Catatan Kuliah Sistem Operasi 1

SISTEM OPERASI - Puyuh Kalapa Jaya · Web viewTugas OS dalam hal ini adalah: Mengawasi status semua sumber daya yang dimiliki setiap saat Membuat kebijaksanaan penjadwalan dan penjatahan

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SISTEM OPERASI - Puyuh Kalapa Jaya · Web viewTugas OS dalam hal ini adalah: Mengawasi status semua sumber daya yang dimiliki setiap saat Membuat kebijaksanaan penjadwalan dan penjatahan

BAGIAN IPENDAHULUAN

- Komputer? Tanpa software? Segumpal mesin yang tidak berdaya guna! Dengan software?

- Komputer dapat menyimpan, memproses dan mengambil informasi, dapat menemukan kesalahan2 dalam penulisan, bermain game serta hal2 lain sesuai dengan kebutuhan dan perkembangan jaman dan manusia.

- Secara garis besar software yang telah disebutkan dibagi menjadi 2 bagian yaitu “system program” yang me-manage operasi komputer itu sendiri dan “application program” yang menyelesaikan masalah2 yang ditemui user.

- Sebagai dasar yang paling penting dari keseluruhan system program adalah “operating system” yang mengendalikan seluruh sumber daya dari sebuah komputer dan memberikan fasilitas2 untuk keperluan pembuatan aplikasi-aplikasi.

“What is an Operating System?”

Extended machine or Virtual machineKesulitan mengelola sebuah komputer langsung pada hardware ditangani melalui software, dalam hal ini Operating System berperan sebagai extended machine yang memudahkan pemakai seolah2 memprogram sebuah mesin secara nyata.

Resource managerSeiring dengan perkembangan teknologi, alat2 tambahan yang menyertai sebuah komputer-pun bertambah. Prosesor, memori, timer, disk, terminal, network interface, printer dll akan terpasang bersama pada sebuah komputer. Apa yang terjadi bila keperluan dari masing2 peralatan tersebut tidak ada yang mengatur?- Tugas OS dalam hal ini adalah:

1. Mengawasi status semua sumber daya yang dimiliki setiap saat2. Membuat kebijaksanaan penjadwalan dan penjatahan pemakaian sumber daya:- proses mana yang harus dipilih untuk mendapat sumber daya- kapan harus mendapatkan sumber daya- berapa banyak jatah yang didapatkan

3. Membagikan sumber daya yang sudah dialokasikan bila tiba saat yang sesuai dengan ketentuan 2.

4. Menerima atau menarik kembali sumber daya bila selesai atau tidak dimanfaatkan lagi.

Sumber daya utama sistem komputer adalah memory, prosesor, peralatan I/O dan File

Catatan Kuliah Sistem Operasi 1

Page 2: SISTEM OPERASI - Puyuh Kalapa Jaya · Web viewTugas OS dalam hal ini adalah: Mengawasi status semua sumber daya yang dimiliki setiap saat Membuat kebijaksanaan penjadwalan dan penjatahan

History of Operating Systems

- Dikembangkan sejak lama sejalan dengan perkembangan arsitektur pada sebuah komputer (hardware).

- Ahli matematika Inggris, Charles Babbage (1792 – 1871). “Analytical engine” rancangannya yang berupa rancangan mekanik murni, tidak pernah terwujud dikarenakan pada saat itu teknologi yang ada tidak bisa memenuhi tuntutan Babbage untuk memproduksi disk (wheel), roda gigi (gears), gigi (cog) dan kebutuhan2 mekanik lainnya dimana dibutuhkan tingkat presisi yang tinggi. Selain itu … “analytical engine” tidak mempunyai operating system.

1. Generasi pertama (1945 – 1955)

Sangat lambat Program dibuat dengan instruksi mesin Tidak ada bahasa pemrograman Menggunakan plugboard untuk mengontrol fungsi dasar mesin S/O belum dikenal

2. Generasi kedua (1955 – 1965) Program direkam didalam kartu Assembly dan Fortran sudah dikenal Menggunakan batch processing karena biaya pengoperasian komputer yang mahal Sistem operasi FMS (Fortran Monitor System), dan IBSYS untuk IBM 7094 Single programming

3. Generasi ketiga (1965 – 1980)

IBM memperkenalkan system 360 dengan IC S/O System 360 Multiprogramming dan time sharing General Electric (GE) memperkenalkan MULTICS

4. Generasi keempat (1980 – 1990)

Mempergunakan teknologi LSI Menggunakan network Tipe software user friendly Distributed operating system S/O MSDOS & UNIX

Catatan Kuliah Sistem Operasi 2

Page 3: SISTEM OPERASI - Puyuh Kalapa Jaya · Web viewTugas OS dalam hal ini adalah: Mengawasi status semua sumber daya yang dimiliki setiap saat Membuat kebijaksanaan penjadwalan dan penjatahan

Pengertian dan Istilah dalam Sistem Operasi

Perangkat keras (hardware)

Perangkat keras atau yang biasa disebut hardware (H/W) adalah komponen fisik komputer yang terdiri dari rangkaian elektronika dan peralatan mekanik lainnya. Contoh suatu konfigurasi perangkat keras:

Memory, (main storage, main memory) merupakan rangkaian elektronika yang dapat menyimoan kode2 biner. Instruksi dan data (berupa kode biner) yang akan diproses oleh CPU disimpan didalam memory ini, dan juga tersimpan dalam secondary storage bilamana diperlukan.

Processor, secara umum adalah rangkaian elektronika yang mempunyai kemampuan mengintepretasikan instruksi2 dan juga mengerjakan operasi2 dasar perhitungan (aritmatika) dan logika.

Perangkat Lunak (Software)

System- program untuk mengatur/melayani program-program lain banyak berinteraksi dengan

perangkat keras-

Rreal-time- perangkat lunak yang: memonitor, menganalisa, mengendalikan kejadian/peristiwa yang

sedang terjadi yang memiliki waktu tanggap(response time) singkat; milidetik

Catatan Kuliah Sistem Operasi 3

CPU

I/O PROCESSOR

I/O PROCESSOR

CONTROL UNIT

CONTROL UNIT

DISK DRUM

TAPE

PRINTERCARD

READER

MEMORY (MAIN STORAGE)

Page 4: SISTEM OPERASI - Puyuh Kalapa Jaya · Web viewTugas OS dalam hal ini adalah: Mengawasi status semua sumber daya yang dimiliki setiap saat Membuat kebijaksanaan penjadwalan dan penjatahan

Business- perangkat lunak aplikasi penggajian, penjualan, persediaan barang, dll; kadang terpadu

menjadi satu (SIM)

Engineering & Scientific- aplikasi perangkat lunak yang banyak memproses angka-angka; astronomi, otomotif,

peramalan cuaca, biologi, dll

Embedded- perangkat lunak yang tersimpan dalam rom, mengatur perangkat keras, mis mesin cuci,

microwave, lemari pendingin, dll

Personal Computer- sangat banyak, sangat beragam, pengolah kata, lembar kerja elektronik, basis data,

hiburan, dll

Artificial Intelligent- memanfaatkan nonnumerical algoritma, bidang pemanfaatan: patern recognition,

pengenalan pola bentuk, expert system, sistem pakar, neural network, jaringan syaraf tiruan

Pengertian-pengertian

Program (Code)- sederetan instruksi yang disusun untuk menyelesaikan masalah- program yang tidak segera digunakan, disimpan didalam secondary storage

User- pemakai/orang yang menginginkan permasalahannya diselesaikan dengan bantuan

komputer

Job- kumpulan kegiatan yang harus dikerjakan untuk mencapai satu tujuan (keinginan)- OS menyusun proses yang diperlukan oleh sebuah job berdasarkan sumber daya yang

dimiliki

Job-step- pembagian lebih kecil dari sebuah job (mis, compile, link, load, execute)

Proses (Task)- perhitungan / komputasi yang dapat dikerjakan bersama-sama dalam koordinasi dan

pengawasan OS

Address Space- daerah didalam memory yang terbentuk karena adanya pengerjaan program oleh CPU

Traffic Controller- modul OS yang melacak status prosesor dan berbagai proses yang ada di dalam sistem

Catatan Kuliah Sistem Operasi 4

Page 5: SISTEM OPERASI - Puyuh Kalapa Jaya · Web viewTugas OS dalam hal ini adalah: Mengawasi status semua sumber daya yang dimiliki setiap saat Membuat kebijaksanaan penjadwalan dan penjatahan

Scheduler- modul OS yang mengatur waktu dan besar pemakaian sumber daya

File System- modul OS yang melacak informasi, lokasi penggunaan dan status file yang dipakai

I/O initiator program- modul OS yang mengawali dan mengakhiri kerja untuk peralatan I/O

Multiprogramming- sistem yang mempunyai kemampuan untuk menangani lebih dari satu proses yang

masing-masing dalam keadaan berjalan (running / state of execution)

State of Execution- keadaan dimana sebuah proses sudah ada didalam pengawasan OS dan belum selesai

(terminated)

User State (Probelm State, Slave State)- keadaan dimana prosesor hanya diperbolehkan mengerjakan non-privileged instruction

Executive State (Supervisor State, Master State)- prosesor dapat mengeksekusi non-privileged maupun privileged instruction

Protection H/W- hardware yang dipakai untuk mengendalikan akses terhadap bagian-bagian memory

Interrupt H/W- memungkinkan OS untuk mengkoordinasikan kegiatan-kegiatan operasi yang berjalan

dan pembelokan arus jalannya sebuah program

Interrupt- mekanisme yang memaksakan OS untuk mempertimbangkan adanya event/keadaan

baru tertentu yang harus dilaksanakan

Catatan Kuliah Sistem Operasi 5

Page 6: SISTEM OPERASI - Puyuh Kalapa Jaya · Web viewTugas OS dalam hal ini adalah: Mengawasi status semua sumber daya yang dimiliki setiap saat Membuat kebijaksanaan penjadwalan dan penjatahan

BAGIAN IIPROCESSES

Hampir semua jenis komputer saat ini bisa mengerjakan beberapa pekerjaan dalam waktu yang bersamaan. Sementara mengeksekusi sebuah program milik user, sebuah komputer dapat juga membaca dari disk dan mencetak pada sebuah printer.

Pada sistem multiprogramming, CPU juga dapat switch dari sebuah program ke program yang lain, menjalankan puluhan bahkan ribuan instruksi per milisecond. Bahasan-bahasan itulah yang mendasari paralelisme dalam sebuah komputer.

Process model

Semua software yang bisa dijalankan pada sebuah komputer bisa disebut dengan sebuah proses

Sebuah proses bisa dibedakan dari program dengan melihat sebuah analogy, seorang ibu yang membuat kue ulang tahun untuk anaknya.

Resep dan dapur yang lengkap dengan peralatan dan bahan sudah tersedia. Resep disini bisa dianggap sebagai program dan proses adalah aktivitas yang meliputi membaca resep, mengambil bahan, mencampur dan akhirnya memanggang adonan roti tsb.

Bayangkan, pada saat proses pembuatan kue tsb berjalan, anak ibu tsb datang sambil menangis karena tersengat lebah, maka ibu tersebut dengan segera akan berhenti dan akan mengurus anaknya terlebih dahulu, dimana setelah selesai, dia akan melanjutkan pembuatan kue tsb.

Ide yang ada disini adalah sebuah proses adalah sebuah keigatan yang meliputi beberapa aktivitas, yakni adanya program, input, output dan tahapan2 (state)

Sebuah single processor dapat dipakai bersama diantara beberapa proses dengan menggunakan algoritma penjadwalan tertentu untuk menentukan kapan untuk berhenti dari sebuah proses dan melayani yang lainnya

Catatan Kuliah Sistem Operasi 6

Page 7: SISTEM OPERASI - Puyuh Kalapa Jaya · Web viewTugas OS dalam hal ini adalah: Mengawasi status semua sumber daya yang dimiliki setiap saat Membuat kebijaksanaan penjadwalan dan penjatahan

Process States

Sekumpulan proses dapat digambarkan dalam sebuah state sbb:

Running (actually using the CPU at that instant) Blocked (unable to run until some external event happens) Ready (runnable; temporarily stopped to let another process run)

1. Process blocks for inputTerjadi pada saat sebuah proses menemukan bahwa dirinya tidak bisa dilanjutkan, pada beberapa sistem, proses ini harus melaksanakan sistem call, blocked, pada sistem yang lain pada saat proses tidak mendapatkan apa yang diinginkan, secara otomatis akan masuk pada state blocked.

2. Scheduler picks another processScheduler memutuskan bahwa sebuah proses sudah berjalan telalu lama dan sudah waktunya untuk mengambil proses yang lain.

3. Scheduler picks this processProses2 yang lain sudah mendapatkan jatahnya, dan tiba giliran proses yang tertunda dijalankan.

4. Input becomes availableKejadian diluar yang sedang ditunggu sebuah proses sudah terlaksana, misal sebuah proses yang menunggu inputan dari sebuah output proses yang lain. Bila tidak ada proses yang sedang berjalan, maka transisi 3 segera dilaksanakan dan proses segera berjalan, atau menunggu di ready state sampai CPU tersedia

Catatan Kuliah Sistem Operasi 7

Blocked

Running

Ready

1 2

3

4

Page 8: SISTEM OPERASI - Puyuh Kalapa Jaya · Web viewTugas OS dalam hal ini adalah: Mengawasi status semua sumber daya yang dimiliki setiap saat Membuat kebijaksanaan penjadwalan dan penjatahan

Implementation of Process

O/S ma-maintain sebuah tabel yang disebut Process Table untuk mengimplementasikan proses, dimana satu proses memiliki satu entry pada tabel.

Satu entry pada tabel berisi informasi yang memuat process state, program counter, stack pointer, memory allocation, status open files, scheduling information dan informasi2 lainnya yang harus disimpan pada saat proses switch dari running ke ready state sehingga sebuah proses dapat dijalankan kembali dan sebaliknya

Interprocess Communication

Sebuah proses membutuhkan komunikasi dengan proses-proses yang lain, misalnya pada saat user process ingin membaca dari sebuah file harus memberitahukan pada file process apa yang diinginkan, kemudian file process harus menginformasikan pada disk process untuk membaca block yang diingkan dst.

Race conditions

Pada saat sebuah proses ingin mencetak sebuah file, proses tsb memasukkan nama file ke spooler directory, proses yang lain, printer daemon, secara periodik memeriksa untuk melihat apakah terdapat file yang harus dicetak, bila ada maka akan dilaksanakan pencetakan dan akan membuang nama file dari directory tsb

Bayangkan, spooler directory memiliki slot yang banyak, 0, 1, 2 dst dimana setiap slot mampu untuk memegang (hold) satu file. Juga terdapat 2 shared variabel, out (menunjuk file berikut yang akan dicetak) dan in (menunjuk slot yang bebas)

Pada suatu saat, slot 0 - 3 kosong dan slot 4 - 6 penuh, lebih kurang bersamaan (simultan), proses A dan B memutuskan untuk antri mencetak masing-masing filenya. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBB

Catatan Kuliah Sistem Operasi 8

Proses A

Proses B

abc

prog.c

prog.n

4

5

6

7 fileB

out = 4

in = 8

Page 9: SISTEM OPERASI - Puyuh Kalapa Jaya · Web viewTugas OS dalam hal ini adalah: Mengawasi status semua sumber daya yang dimiliki setiap saat Membuat kebijaksanaan penjadwalan dan penjatahan

Proses A:

Read in;tempA := in;put fileA ke slot yg ke tempA;tempA := tempA + 1;in := tempA;

Proses B:

Read in;tempB := in;put fileB ke slot yg ke tempB;tempB := tempB + 1;in := tempB;

Bagaimana kita menghindari race conditions?? Satu kunci untuk mencegah hal tsb maupun situasi2 lainnya meliputi share memory, share file, dan share apapun adalah menemukan cara untuk mencegah lebih dari satu proses untuk membaca dan menulis pada shared data pada saat yang bersamaan dengan kata lain dibutuhkan suatu pemakaian exclusive (mutual exclusion)

Mutual exclusion

Suatu cara untuk memastikan bila sebuah proses sedang menggunakan sebuah shared variable atau file, maka proses2 yang lain harus tidak diikutsertakan/diperkenankan (excluded) untuk melakukan hal yang sama.

Kesulitan pada contoh print spooler terjadi karena B menggunakan shared variable sebelum proses A selesai menggunakannya.

Sebuah proses yang sedang sibuk melakukan komputasi internal dan hal2 lain yang tidak menyebabkan adanya race conditions, namun terkadang sebuah proses tsb mengakses memory atau file atau melakukan hal2 kritis lain yang dapat mengakibatkan race condition. Bagian dari program dimana terjadi pengaksesan share memory maupun file maupun share2 yang lain disebut critical section.

Jika kita dapat membentuk program dimana tidak ada 2 proses yang berada pada critical section pada saat yang bersamaan maka race condition tidak akan pernah terjadi.

Catatan Kuliah Sistem Operasi 9

Page 10: SISTEM OPERASI - Puyuh Kalapa Jaya · Web viewTugas OS dalam hal ini adalah: Mengawasi status semua sumber daya yang dimiliki setiap saat Membuat kebijaksanaan penjadwalan dan penjatahan

Walaupun kebutuhan diatas terpenuhi, masih belum cukup untuk bisa melakukan proses secara paralel yang bisa bekerja sama secara benar dan efisien dalam menggunakan shared data. Dibutuhkan 4 kondisi untuk mendapatkan solusi yang baik:

1. No two processes may be simultaneously inside their critical section.Tidak ada 2 proses yang secara simultan bersama-sama berada dalam critical section

2. No assumptions may be made about speeds or the number of CPUs.Tidak ada asumsi yang dibuat yang berhubungan dengan kecepatan atau jumlah dari CPU

3. No process running outside its critical section may block other processes.Tidak ada proses yang berjalan diluar critical section yang bisa mengakibatkan proses lain ter-block

4. No process should have to wait forever to enter its critical section.Tidak ada proses yang menunggu untuk selamanya untuk bisa masuk ke critical section

Mutual Exclusion

Pada saat sebuah proses sedang sibuk untuk mengupdate shared memory pada critical section, tidak diperkenankan proses2 lain masuk juga ke critical section – nya sehingga tidak terjadi permasalahan (race conditions). Hal ini bisa diatasi dengan:

Disabling Interrupts

- Mengharuskan setiap proses untuk disable semua interrupt segera setelah memasuki critical section dan enable kembali setelah meninggalkan critical section.

- Bila user tidak mengembalikan dari disable ke enable baik disengaja maupun tidak, akan mengakibatkan berhentinya sistem.

- Bila sistem komputer memiliki lebih dari 2 CPU, dan disable interrupt hanya pada satu CPU, maka kemungkinan terjadi race condition masih ada

- Disabling interrupt cocok diterapkan pada level mesin (kernel), tidak untuk user proses.

Lock Variables

- Menggunakan sebuah shared lock variabel, dimana harga awalnya adalah 0.- Pada saat proses akan masuk ke critical section maka variable ini harus dirubah menjadi

1 dan menjalankan critical section.- Bila lock sudah berisi 1 maka proses harus menuggu sampai lock menjadi 0- Secara garis besar, lock berisi 0 bila tidak ada proses didalam critical section, dan berisi

1 bila terdapat proses yang sedang berada pada critical section- Bila sebuah proses A membaca variable lock dan mendapat harga 0, pada saat sebelum

A merubah lock menjadi 1, proses B berjalan dan merubah lock menjadi 1- Pada saat A berlanjut, akan merubah lock menjadi 1 (sudah berisi 1 dirubah oleh B)

sehingga terdapat 2 proses lagi yang masing2 berada pada critical section, sehingga masih memungkinkan terjadi race condition

Strict AlternationCatatan Kuliah Sistem Operasi 10

Page 11: SISTEM OPERASI - Puyuh Kalapa Jaya · Web viewTugas OS dalam hal ini adalah: Mengawasi status semua sumber daya yang dimiliki setiap saat Membuat kebijaksanaan penjadwalan dan penjatahan

- memanfaatkan sebuah algoritma busy waiting didalam program yang mempunyai critical section

- contoh:

turn = 0

while (TRUE){ while (turn != 0); // busy waiting critical_section(); turn = 1; noncritical_section();}

while (TRUE){ while (turn != 1); // busy waiting critical_section(); turn = 0; noncritical_section();}

Job Scheduling

Catatan Kuliah Sistem Operasi 11

Page 12: SISTEM OPERASI - Puyuh Kalapa Jaya · Web viewTugas OS dalam hal ini adalah: Mengawasi status semua sumber daya yang dimiliki setiap saat Membuat kebijaksanaan penjadwalan dan penjatahan

BAGIAN IIIMEMORY

Basic Memory Management

Secara garis besar dibagi menjadi 2 kelompok, pengelolaan dengan perpindahan proses antara main memory dengan disk (secondary memory) pada saat pelaksanaan proses (swapping & paging) dan yang tidak (tanpa swapping & paging)

Monoprogramming without Swaping or Paging

Pengelolaan paling sederhana, hanya terdapat satu program pada suatu saat yang berada pada memory serta OS

3 macam penempatan program bersama OS didalam memory:

Pada monoprogramming, dimanapun OS berada apakah pada memory bagian bawah/atas pada RAM maupun pada ROM, tetap hanya satu buah program yang bisa dilayani.

Sebuah program yang mempunyai kebutuhan memory yang lebih besar dari memory yang tersisa akan ditolak, sedangkan bila terdapat program yang lebih kecil dari memory yang tersedia akan terjadi waste memory (tidak bisa dimanfaatkan)

Multiprogramming with Fixed Partitions / Static Partitions

Salah satu pengelolaan multiprogramming yang sederhana, membagi memory menjadi beberapa bagian (partisi) dalam jumlah dan ukuran tertentu

Jumlah partisi dan ukurannya ditentukan pada saat sistem komputer dinyalakan (start-up) dimana jumlah dan ukuran ini tidak akan berubah sebelum sistem komputer dimatikan (shut-down)

Pada saat sebuah job datang, job ini dapat diletakkan pada partisi yang cukup besar untuk menampungnya, sehingga terdapat kemungkinan tidak ditempatinya sebuah partisi yang sudah disediakan

Untuk peletakan job ke partisi bisa dipakai Separate input queue maupun Single input queue

Catatan Kuliah Sistem Operasi 12

OS di RAM

OS di ROM

OS di RAM

User Program

User Program

User Program

Device driver di ROM

Page 13: SISTEM OPERASI - Puyuh Kalapa Jaya · Web viewTugas OS dalam hal ini adalah: Mengawasi status semua sumber daya yang dimiliki setiap saat Membuat kebijaksanaan penjadwalan dan penjatahan

Multiprogramming with Variable Partitions / Dynamic Partitions

Jumlah partisi dan ukurannya berubah-ubah tergantung masuk – keluarnya job Pada saat sebuah job datang, job ini diletakkan pada partisi yang cukup besar untuk

menampungnya dan selanjutnya akan terbentuk partisi baru (kosong) bila terdapat sisa Sebagai akibat yang mungkin terjadi adalah terbentuknya partisi-partisi kosong dengan

ukuran kecil yang tersebar di beberapa lokasi dimana kemungkinan besar partisi ini tidak dapat dimanfaatkan

Pada kondisi seperti ini, dibutuhkan sebuah proses compaction untuk menyatukan kembali partisi-partisi kecil tersebut

Bila dilakukan proses compaction juga harus dilakukan proses relocation yaitu penghitungan kembali alamat-alamat partisi maupun alamat-alamat yang diperlukan oleh job/program

Catatan Kuliah Sistem Operasi 13

100

0

825

700

400

200

Partition 4 – 125K

Partition 3 – 300K

Partition 1 – 100K

Operating System

Partition 2 – 200K

100

0

825

700

400

200

Partition 4

Partition 3

Partition 1

Operating System

Partition 2

Page 14: SISTEM OPERASI - Puyuh Kalapa Jaya · Web viewTugas OS dalam hal ini adalah: Mengawasi status semua sumber daya yang dimiliki setiap saat Membuat kebijaksanaan penjadwalan dan penjatahan

Informasi (alamat awal, size, status) setiap partisi disimpan pada sebuah tabel partisi yang diimplementasikan dengan sebuah linked-list.

Karena sangat mungkin terdapat lebih dari satu partisi yang bisa ditempati oleh sebuah job sehingga dibutuhkan sebuah algoritma untuk memilih partisi tersebut.

Algoritma-algoritma yang dipakai adalah:

1. First Fit Pencarian partisi kosong (free/hole) dilakukan dari awal tabel dan bila ditemukan

partisi (yang pertama kali) yang bisa menampung job maka akan dipakai

2. Next Fit Pencarian partisi kosong (free/hole) dilakukan dari entry tabel yang sedang ditunjuk

(posisi pointer) sampai dengan ditemukan partisi yang bisa menampung job maka akan dipakai

Bila sampai dengan akhir tabel tidak ditemukan partisi kosong, maka akan dilanjutkan ke awal tabel sampai ke posisi akhir pointer kembali

3. Best Fit Pencarian partisi kosong dari awal s/d akhir tabel Partisi kosong yang menghasilkan sisa paling kecil akan dipakai

4. Worst Fit Pencarian partisi kosong dari awal s/d akhir tabel Partisi kosong yang menghasilkan sisa paling besar akan dipakai

Pada algoritma Best Fit dan Worst Fit akan memakan waktu proses yang cukup lama apabila jumlah partisi banyak

Diatasi dengan cara mengurutkan secara Ascending (untuk Best Fit) dan descending (untuk Worst Fit) kemudian diterapkan algoritma First Fit.l

Catatan Kuliah Sistem Operasi 14

OS

A

OS

A

B

OS

A

B

C

OS

B

C

OS

B

C

D

OS

B

C

D

OS

B

D

E E

OS

B

D

E

F

OS

Page 15: SISTEM OPERASI - Puyuh Kalapa Jaya · Web viewTugas OS dalam hal ini adalah: Mengawasi status semua sumber daya yang dimiliki setiap saat Membuat kebijaksanaan penjadwalan dan penjatahan

Swap Space Allocation

Pada beberapa system, pada saat sebuah proses berada di memory, tidak ada alokasi space di disk

Pada saat proses tersebut harus keluar (swapped out) dari memory, alokasi space terjadi pada swap disk, dimana alokasi tersebut bisa ditempatkan dimana saja

Pada system yang lain, terjadi keadaan yang berbeda, pada saat proses dibentuk, alokasi space – pun terjadi sehingga kapanpun proses tersebut mengalami swaped out, proses itu akan langsung menempati alokasi space yang sudah tersedia dan pada saat proses keluar, swap space akan di-dealokasi

Virtual Memory

Kesulitan pada saat dijumpai “program too big to fit in memory” Pada saat itu, diatasi dengan sistem “overlay”, dimana program harus dibagi2 menjadi

bagian2 yang lebih kecil Metoda yang dikerjakan Fotheringham (1961), disebut virtual memory Memilih sejumlah ukuran yang harus menempati memory yang ada dan tetap berada pada

main memory (diatur oleh O/S) dan sisanya tetap berada pada disk. Sebagai contoh, program dengan ukuran 1MB, dapat berjalan pada mesin dengan memory

256K dengan memilih dengan tepat 256K yang mana yang harus masuk ke main memory dari potongan2 progam yang saling bertukar (swap) antara memory dengan disk.

Paging

Sebuah teknik yang dipakai pada virtual memory Program membentuk alamat memory, contoh:

MOVE REG,1000

Memindahkan isi dari alamat memory 1000 ke REG Alamat yang terbentuk disebut virtual addresses dan alokasi yang terbentuk disebut virtual

address space Untuk mapping dari virtual address ke physical address, digunakan MMU – memory

management unit.

Catatan Kuliah Sistem Operasi 15

Page 16: SISTEM OPERASI - Puyuh Kalapa Jaya · Web viewTugas OS dalam hal ini adalah: Mengawasi status semua sumber daya yang dimiliki setiap saat Membuat kebijaksanaan penjadwalan dan penjatahan

0 – 4K 2 0 – 4K4 – 8K 1 4 – 8K8 – 12K 6 8 – 12K

12 – 16K 0 12 – 16K16 – 20K 4 16 – 20K20 – 24K 3 20 – 24K24 – 28K X 24 – 28K28 – 32K X 28 – 32K32 – 36K X36 – 40K 540 – 44K X44 – 48K 748 – 52K X52 – 56K X56 – 60K X60 – 64K X

Contoh: MOVE REG,0 pindahkan isi di alamat 0 pada virtual memory

ke register REG

Pada instruksi ini, virtual address 0 (berada pada 0 – 4095) akan dikirimkan ke MMU untuk selanjutnya akan dicari pada page frame 2 (8192 – 12387).

Untuk keperluan proses, isi dari alamat 8192 (physical) dikirimkan ke bus dan memory board akan membacanya dari bus.

MMU memetakan address 0 – 4095 pada virtual memory ke address 8192 – 12387 pada physical memory

MOVE REG,8192 pindahkan isi di alamat 8192 pada virtual memoryke register REG

Mapping ke physical page frame = ? Alamat yang dikirim ke bus = ?

Catatan Kuliah Sistem Operasi 16

CPU

MMU

MEM

ORY Disk

Controller

BUS

Virtual address space dibagi menjadi unit-unit kecil, disebut page, dimana unit ini terkait pada physical memory yang disebut page frame

Page dan page frame mempunyai ukuran yang selalu sama, pada contoh tsb 4K.

Page 17: SISTEM OPERASI - Puyuh Kalapa Jaya · Web viewTugas OS dalam hal ini adalah: Mengawasi status semua sumber daya yang dimiliki setiap saat Membuat kebijaksanaan penjadwalan dan penjatahan

MOVE REG,21500 pindahkan isi di alamat 21500 pada virtual memory ke register REG

Mapping ke physical page frame = ? Alamat yang dikirim ke bus = ?

MOVE REG,32780 pindahkan isi di alamat 32780 pada virtual memoryke register REG

Mapping ke physical page frame = ? Alamat yang dikirim ke bus = ?

Catatan Kuliah Sistem Operasi 17

Page 18: SISTEM OPERASI - Puyuh Kalapa Jaya · Web viewTugas OS dalam hal ini adalah: Mengawasi status semua sumber daya yang dimiliki setiap saat Membuat kebijaksanaan penjadwalan dan penjatahan

Cara kerja MMU: MOVE REG,8196 8196 = 10000000000100

Catatan Kuliah Sistem Operasi 18

010 1001 1110 1000 1100 1011 1000 0000 0000 0101 1

000 0000 0000 0000 0

111 1000 0

0123456789

12131415

1110

1 0 0 0 0 0 0 0 0 0 0 010 0

0 0 0 0 0 0 0 0 0 0 01011

110

0

Page 19: SISTEM OPERASI - Puyuh Kalapa Jaya · Web viewTugas OS dalam hal ini adalah: Mengawasi status semua sumber daya yang dimiliki setiap saat Membuat kebijaksanaan penjadwalan dan penjatahan

Page Replacement Algorithms

Pada contoh pemetaan memory diatas, dapat dilihat bahwa virtual address space bisa lebih besar dari physical address space sehingga bila terjadi permintaan alokasi memory diluar physical address space akan terjadi interrupt yang disebut page fault

Pada keadaan page fault, O/S bertugas untuk memilih page mana yang harus keluar (remove)dari memory untuk menyediakan tempat bagi page yang akan masuk.

FIFO algorithm, First In First Out, O/S me-maintain sebuah list yang berisi semua page yang ada di dalam memory, dengan kepala (head) list berisi page yang "paling tua" (paling lama berada di list) dan ekor (tail) dari list berisi page yang "paling muda" (baru saja masuk dalam list).

Contoh: Sebuah program dengan 5 virtual page pada memory dengan 3 page frame. Page masuk dengan urutan

0 1 2 3 0 1 4 0 1 2 3 4

Youngest 0 1 2 3 0 1 4 4 4 2 3 30 1 2 3 0 1 1 1 4 2 2

Oldest 0 1 2 3 0 0 0 1 4 4F F F F F F F S S F F S

Bagaimana dengan 4 page frame??

%PF (Page Fault) = ( 9 / 12 ) * 100%= 75%

%PS (Page Success) = ( 3 / 12 ) * 100%= 25%

LRU algorithm, Least Recently Used, page yang akan dikeluarkan dipilih berdasarkan lamanya waktu page tersebut berada dalam memory semenjak terakhir digunakan (referenced) dengan pertimbangan bila suatu page dipergunakan maka kemungkinan untuk dipergunakan lagi sangat besar, sebaliknya bila sudah lama tidak digunakan, kemungkinan untuk digunakan lagi dalam waktu dekat sangat kecil

0 1 2 3 0 1 4 0 1 2 3 4

Youngest 0 1 2 3 0 1 4 0 1 2 3 40 1 2 3 0 1 4 0 1 2 3

Oldest 0 1 2 3 0 1 4 0 1 2F F F F F F F S S F F F

Bagaimana dengan 4 page frame??

%PF (Page Fault) = ( 10 / 12 ) * 100%= 83.33 %

%PS (Page Success) = ( 2 / 12 ) * 100%= 16.67 %

Catatan Kuliah Sistem Operasi 19

Page 20: SISTEM OPERASI - Puyuh Kalapa Jaya · Web viewTugas OS dalam hal ini adalah: Mengawasi status semua sumber daya yang dimiliki setiap saat Membuat kebijaksanaan penjadwalan dan penjatahan

BAGIAN IVI/O: Deadlock

System Model Sekumpulan proses yang saling memperebutkan sejumlah resource yang terbatas Jenis-jenis resource:

physical : CPU, memory, CD ROM drive

logical : database records, system table entries

Preemtable: sebuah resource yang bila diambil dari sebuah proses yang sedang memilikinya tidak akan mempengaruhi hasil proses tersebut.

Nonpreemtable: sebuah resource yang bila diambil dari sebuah proses yang sedang memilikinya akan mengakibatkan hasil dari proses tidak sempurna (garbled output)

Penggunaan resource harus mengikuti tahapan-tahapan sbb:

request yang akan mengakibatkan granted/wait

use

release

How Is Deadlock Characterized?

Secara formal deadlock didefinisikan sebagai:

“A set of processes in deadlock state when every process in the set is waiting for an event that can only be caused by another process in the set”

Secara umum deadlock melibatkan multiple proses yang memperebutkan multiple resource Deadlock model dapat digambarkan dalam bentuk direct graph dengan notasi:

untuk proses

untuk resource

Catatan Kuliah Sistem Operasi 20

Page 21: SISTEM OPERASI - Puyuh Kalapa Jaya · Web viewTugas OS dalam hal ini adalah: Mengawasi status semua sumber daya yang dimiliki setiap saat Membuat kebijaksanaan penjadwalan dan penjatahan

Contoh:

Holding a resource Requesting a resource

Kondisi-kondisi penyebab deadlock:

Mutual exclusion, setiap resource sudah di hold oleh proses didalam set Hold and Wait, sebuah proses yang sudah hold resource sebelumnya masih bisa

melakukan request terhadap resource yang lain No preemption, resource yang sudah di hold oleh proses hanya dapat di release oleh

proses itu sendiri Circular wait, terdapat mata rantai hold resource dan request resource pada beberapa

proses

PREVENTION

Attacking 4 kondisi penyebab deadlock

MUTUAL EXCLUSION Dengan membuat resource menjadi sharable, mis. dengan membuat sebuah file menjadi

read-only tidak selalu bisa dilakukan karena sangat tergantung dari jenis resource yang ada.

HOLD AND WAIT Setiap proses harus request semua resource dan harus diberikan sebelum dimulai

prosesnya. Masalah:

tidak semua proses diketahui sejak awal apa saja kebutuhannya.

kebutuhan proses sering terdapat pada urutan tahapan, mis: read tape to file, sort file, print file, file to tape

Sebuah proses boleh mengajukan request dan mendapatkannya bila tidak sedang hold sebuah resource.

Catatan Kuliah Sistem Operasi 21

A

R

B

S

D

C

T U

Process D is holding resource T and is waiting for U

Process C is holding resource U and is waiting for T

Page 22: SISTEM OPERASI - Puyuh Kalapa Jaya · Web viewTugas OS dalam hal ini adalah: Mengawasi status semua sumber daya yang dimiliki setiap saat Membuat kebijaksanaan penjadwalan dan penjatahan

NO PREEMPTION Jika sebuah resource yang diinginkan tidak tersedia, semua resource yang sedang di hold

harus direlease. Jika sebuah resource yang di request sedang di hold oleh sebuah proses yang sedang

menunggu request yang lain, maka resource dibuang dari proses tersebut

CIRCULAR WAIT Dengan memberikan id pada resource dan sebuah proses hanya dapat request resource

dengan urutan ascending. Sebuah proses yang meminta sebuah resource dengan nomor kecil harus merelease resource yang bernomor lebih besar. mis, tape drive 1

disk 2

printer 12 Masalah:

Sulit untuk mendapatkan urutan yang akan memuaskan semua user

Jumlah nomor akan banyak sekali

Banyak resource yang berjenis logical mis, database records, space/slots in system tables

RECOVERY

Recovery through Preemption memaksa untuk mengambil resource yang sedang dihold oleh sebuah proses membuang resource yang diperebutkan membuat resource menjadi sharable

Recovery through Rollback menggunakan checkpoint sebagai titik kembali bila terjadi deadlock

Recovery through Killing Process membuang salah satu proses yang menyebabkan deadlock.

Catatan Kuliah Sistem Operasi 22