Jojoshuajosh Journal

Just another Binusian blog site

Archive for the ‘Uncategorized’ Category

SisOp Session 21 & Session 22

without comments

*Session 21

Virtual Memory

Memori virtual adalah suatu teknik yang memisahkan antara memori logis dan memori fisiknya. Memori logis merupakan kumpulan keseluruhan halaman dari suatu program. Tanpa memori virtual, memori logis akan langsung dibawa ke memori fisik. Teknik ini memori virtual menempatkan keseluruhan program di disk sekunder dan membawa halaman-halaman yang diperlukan ke memori fisik sehingga memori utama hanya akan menyimpan sebagian alamat proses yang sering digunakan dan sebagian lainnya akan disimpan dalam disk sekunder dan dapat diambil sesuai dengan kebutuhan. Sehingga jika proses yang sedang berjalan membutuhkan instruksi atau data yang terdapat pada suatu halaman tertentu maka halaman tersebut akan dicari di memori utama dan apabila halaman yang diinginkan tidak ada maka akan dicari ke disk sekunder.

Virtual Memory Terminology

Real  Memory vs Virtual Memory

Real Memory = RAM

Virtual Memory =

–  memory di dalam disk

– memungkinkan efektivitas dalam multiprogramming dan memudahkan user dalam mengatasi    contraints di memori utama

Support needed for virtual memory

Untuk virtual memory yang praktikal dan efektif :

  • Hardware yang dimiliki harus mendukung paging dan segmentation
  • Sistem operasi harus memasukkan software untuk mengatur pergerakkan halaman dan segmen diantara secondary memory dan main memory

Paging

Sistem paging adalah suatu sistem manajemen pada sistem operasi yang mengatur program yang sedang berjalan. Metode dasar dari paging adalah dengan memecah memori fisik menjadi blok-blok yang berukuran tertentu yang disebut dengan frame dan memecah memori logika menjadi bok-blok yang berukuran sama dengan frame yang disebut page. Untuk mengatasi apabila suatu program lebih besar dibandingkan dengan memori utama adalah dengan konsep overlay dan konsep memori maya(virtual memori):

# Konsep Overlay,

yaitu dimana program yang di jalankan dipecah menjadi beberapa bagian yang dapat dimuat oleh memory (overlay), sedangkan yang belum dieksekusi akan disimpan di dalam disk, yang nantinya akan dimuat ke memori begitu diperlukan dalam ekekusi.

# Konsep Memori Maya

yaitu kemampuan untuk mengalamati ruang memori melebihi memori utama yang tersedia.

Segmentasi

Segmentasi merupakan skema manajemen memori yang mendukung cara pandang seorang programmer terhadap memori. Ruang alamat logika merupakan sekumpulan dari segmen-segmen. Masing-masing segment mempunyai panjang dan nama. Alamat diartikan sebagai nama segmen dan offset dalam suatu segmen. Jadi jika seorang pengguna ingin menunjuk sebuah alamat dapat dilakukan dengan menunjuk nama segmen dan offsetnya. Untuk lebih menyederhanakan implementasi, segmen-segmen diberi nomor yang digunakan sebagai pengganti nama segment. Sehingga, alamat logika terdiri dari dua tupple: [segment-number, offset].

Segmentasi Perangkat Keras

Meskipun seorang pengguna dapat memandang suatu objek dalam suatu program sebagai alamat berdimensi dua, memori fisik yang sebenarnya tentu saja masih satu dimensi barisan byte. Jadi kita harus bisa mendefinisikan pemetaan dari dua dimensi alamat yang didefinisikan oleh pengguna ke satu dimensi alamat fisik. Pemetaan ini disebut sebagai sebuah segment table. Masing-masing masukan dari mempunyai segment base dan segment limit. Segment base merupakan alamat fisik dan segmen limit diartikan sebagai panjang dari segmen.

Perbedaan Segmentasi dan Paging:

  • Segmentasi melibatkan programer, sedangkan dengan paging programer tidak perlu tahu teknik yang digunakan.
  • Pada segmentasi kompilasi dilakukan secara terpisah sedangkan pada paging, kompilasinya tidak terpisah.
  • Pada segmentasi proteksinya terpisah sedangkan pada paging proteksinya tidak terpisah.
  • Pada segmentasi ada shared code sedangkan pada paging tidak ada shared code.
  • Pada segmentasi terdapat banyak ruang alamat linier sedangkan pada paging hanya terdapat satu ruang alamat linier.
  • Pada segmentasi prosedur dan data dapat dibedakan dan diproteksi terpisah sedangkan pada paging prosedur dan data tidak dapat dibedakan dan diproteksi terpisah.
  • Pada segmentasi pengubahan ukuran tabel dapat dilakukan dengan mudah sedangkan pada Paging pengubahan ukuran tabel tidak dapat dilakukan dengan mudah.
  • Segmentasi digunakan untuk mengizinkan program dan data dapat dipecahkan jadi ruang alamat mandiri dan juga untuk mendukung sharing dan proteksi sedangkan paging digunakan untuk mendapatkan ruang alamat linier yang besar tanpa perlu membeli memori fisik lebih.

Fetch Policy

*Menentukan kapan sebuah page harus dibawa ke memory

2 Jenis Fetch Policy :

  1. Demand Paging
  2. Prepaging

Placement Policy

  • Menentukan dimana real memory dari sebuah proses disimpan.
  • Masalah desain di sistem segmentasi.
  • Paging atau combined paging dengan segmentation placement tidak relevan karena hardware.
  • Untuk NUMA systems placement strategy harus assign pages ke modul memori yang memberikan performa terbaik.

Replacement Policy

  • Melakukan selection page di memori utama yang akan diganti ketika page baru harus dibawa ke memori.
  • Semakin baik elaborasi replacement memori maka semakin besar hardware dan software yang harus di Implementasikan.

Basic Algorithm

  1. Optimal Policy
  • Memilih page yang memiliki jarak referensi berikutnya yang terpanjang/jauh.
  • Produksi tiga page faults setelah alokasi frame telah terisi.

56

  1. Least Recently Used (LRU)
  • Menganti halaman yang belum direferensikan dengan page yang memiliki waktu terpanjang/lama.
  • Sulit di implementasikan.

57

  1. First-in-First-out (FIFO)
  • Page frame dialokasikan secara circular buffer.
  • Pages dipindahkan dengan cara round-robin.
  • Page yang sudah berada lama di memori yang diganti.

58

  1. Clock Policy
  • Membutuhkan asosiasi tambahan bit di setiap frame
  • Ketika page pertama telah terisi ke memori, use bit di set ke 1.
  • Kumpulan frame ini disebut sebagai circular buffer

59

Thanks…

www.binusmaya.binus.ac.id

www.skyconnectiva.com

Written by jojoshuajosh

January 12th, 2016 at 9:40 pm

Posted in Uncategorized

SisOp Session 15 – SisOp Session 20

without comments

*Session 15

File Management

File manajemen merupakan salah satu bagian dari sistem operasi. File manajemen adalah metode dan struktur data yang digunakan sistem operasi untuk mengatur dan mengorganisir file pada disk ataupun partisi. File system juga dapat diartikan sebagai partisi atau disk yang digunakan untuk menyimpan file-file dalam cara tertentu. Cara yang biasanya digunakan untuk memberi suatu file system ke dalam disk atau partisi adalah dengan cara melakukan Format.

Sifat – sifat file

  1. Persistence : Informasi dapat bertahan meski proses spawn berakhir atau daya listrik dihilangkan. Dengan sifat ini maka file dapat digunakan untuk hasil-hasil yang diperoleh dari suatu proses dapat digunakan di masa datang.
  2. Size : File umumnya berukuran besar. Memungkinkan menyimpan informasi yang sangat disimpan
  3. Shareability : File dapat digunakan banyak proses mengakses informasi secara kongkruen.

Sasaran Manajemen File

  • Memenuhi kebutuhan manajemen data bagi pemakai
  • Menjamin data pada file adalah valid
  • Optimasi kinerja
  • Menyediakan dukungan masukan/keluaran beragam tipe perangkat penyimpanan
  • Meminimalkan atau mengeliminasi potensi kehilangan atau perusahaan data
  • Menyediakan sekumpulan rutin interface masukan/keluaran
  • Menyediakan dukungan masukan/keluaran banyak pemakai di sistem multiuser

FUNGSI MANAJEMEN FILE

Beberapa fungsi yang diharapkan dari pengelolaan file adalah :

  1. Penciptaan, modifikasi, dan penghapusan file
  2. Mekanisme pemakaian file secara bersama
  3. Kemampuan backup dan recovery untuk mencegah kehilangan karena kecelakaan atau dari upaya penghancuran informasi.
  4. Pemakai dapat mengacu file dengan nama simbolik (Symbolic name) bukan menggunakanpenamaan yang mengacu perangkat fisik.
  5. Pada lingkungan sensitif dikehendaki informasi tersimpan aman dan rahasia.
  6. Sistem file harus menyediakan interface user-friendly.

File Management Layer

Written by jojoshuajosh

January 4th, 2016 at 11:19 pm

Posted in Uncategorized

SisOp Session 11 & Session 12

without comments

*Session 11

Concurrency


Concurensy merupakan proses-proses (lebih dari satu proses) berada pada saat yang sama. Proses-proses yang mengalami kongkuren dapat berdiri sendiri (independen) atau dapat saling berinteraksi, sehingga membutuhkan sinkronisasi atau koordinasi proses yang baik. Untuk penanganan kongkuren, bahasa pemograman saat ini telah memiliki mekanisme kongkurensi dimana dalam penerapannya perlu dukungan sistem operasi dimana bahasa berada.

Tujuan Concurrency

  • Proses komunikasi antar proses
  • Berbagi sumber daya
  • Sinkronisasi antara beberapa proses
  • Alokasi waktu proses

Masalah pada concurrency

  • Berbagi sumber daya yang sama atau bersifat global
  • Manajemen alokasi di sumber daya
  • Error dalam programming yang susah diidentifikasi

OS Concerns

  • Menelusuri proses – prose yang aktif
  • Mengatur alokasi sumber daya

– Processor time

– Memory

– Files

– I/O devices

  • Melindungi data dan sumber daya
  • Hasil proses harus independen dari proses lainnya

Competition among Processes for Resources

  • Mutual exclusion : Mutual Exclusion adalah suatu cara yang menjamin jika ada sebuah proses yang menggunakan variabel atau berkas yang sama (digunakan juga oleh proses lain), maka proses lain akan dikeluarkan dari pekerjaan yang sama. Mutual Exclusive terjadi ketika hanya ada satu proses yang boleh memakai sumber daya, dan proses lain yang ingin memakai sumber daya tersebut harus menunggu hingga sumber daya tadi dilepaskan atau tidak ada proses yang memakai sumber daya tersebut.
  • Sinkronisasi : Sinkronisasi adalah proses pengaturan jalannya beberapa proses pada saat yang bersamaan. Tujuan utama sinkronisasi adalah menghindari terjadinya inkonsitensi data karena pengaksesan oleh beberapa proses yang berbeda.
  • Deadlock : Deadlock adalah suatu kondisi dimana dua proses atau lebih saling menunggu proses yang lain untuk melepaskan resource yang sedang dipakai. Karena beberapa proses itu saling menunggu, maka tidak terjadi kemajuan dalam kerja proses-proses tersebut.
  • Starvation : Starvation adalah kondisi yang biasanya terjadi setelah deadlock. Proses yang kekurangan resource (karena terjadi deadlock) tidak akan pernah mendapat resource yang dibutuhkan sehingga mengalami starvation (kelaparan). Namun, starvation juga bisa terjadi tanpa deadlock. Hal ini ketika terdapat kesalahan dalam sistem sehingga terjadi ketimpangan dalam pembagian resouce.

Semaphores

Semaphore adalah sebuah variabel bertipe integer yang selain saat inisialisasi, hanya dapat diakses melalui dua operasi standar, yaitu increment dan decrement. Semaphore digunakan untuk menyelesaikan masalah sinkronisasi secara umum. Semaphores memiliki antrian (queue) yang digunakan untuk menangani proses yang menunggu (waiting) pada semaphore. Semaphore Kuat menggunakan FIFO sedangkan semaphore Lemah tidak menentukan urutan penghapusan dari antrian.

Semaphore memiliki dua jenis :

  • Binary semaphore. Semaphore ini hanya memiliki nilai 1 atau 0. Sering juga disebut sebagai semaphore primitive.
  • Counting semaphore. Semaphore ini memiliki nilai 0, 1, serta integer lainnya. Banyak sistem operasi yang tidak secara langsung mengimplementasikan semaphore ini, tetapi dengan memanfaatkan binary semaphore

*Session 12

Deadlock


Deadlock adalah keadaan dimana dua program memegang kontrol terhadap sumber daya yang dibutuhkan oleh program yang lain. Tidak ada yang dapat melanjutkan proses masing-masing sampai program yang lain memberikan sumber dayanya, tetapi tidak ada yang mengalah.

sisop 54

Deadlock Modeling

sisop 55

*Ilustrasi resource allocation. (a) Holding a resource. (b) Requesting a resource. (c) Deadlock.

Karakteristik Deadlock

Menurut Coffman(1971) ada empat kondisi yang dapat menyebabkan terjadinya deadloock. Keempat kondisi tersebut tidak dapat berdiri sendiri, saling mendukung.

  • Mutual Eksklusif: hanya ada satu proses yang bisa menggunakan sumber daya tersebut. Jika ada proses lain yang meminta sumber daya tersebut, maka proses itu harus menunggu sampai sumber daya dilepaskan.
  • Hold and wait : proses yang meminta sumber daya sudah memegang sumber daya lainnya(meminta sumber daya tambahan).
  • No Preemption: sumber daya yang sudah dialokasikan untuk sebuah proses tidak bisa diminta oleh proses lain. Sumber daya hanya bisa dilepaskan secara sukarela atau setelah proses tersebut selesai menggunakannya.
  • Circular Wait : kondisi seperti rantai yaitu saling menunggu smber daya yang dipakai oleh proses yang menunggu sumber daya tersebut.

Strategi mengatasi Deadlock

  • Mengabaikan masalah deadlock.
  • Mendeteksi dan memperbaiki.
  • Penghindaran yang terus – menerus dan pengalokasian yang baik dengan menggunakan protocol untuk memastikan sistem tidak pernah memasuki keadaan deadlock. Yaitu dengan deadlock avoidance sistem untuk mendata informasi tambahan tentang proses mana yang akan meminta dan menggunakan sumber daya.
  • Pencegahan yang secara struktur bertentangan dengan empat kondisi terjadinya deadlock dengan deadlock prevention sistem untuk memastikan bahwa salah satu kondisi yang penting tidak dapat menunggu.

Untitled1

Pemulihan Deadlock

  1. Terminasi Proses

Metode ini akan mematahkan deadlock cycle, tetapi bisa saja proses-proses yang deadlock telah dikomputasi dalam waktu yang lama dan hasil-hasil komputasi parsial harus dibuang, sehingga ada kemungkinan harus dikomputasi ulang. Abort satu proses pada satu waktu sampai deadlock tereleminasi.

  1. Resources Preemption

Mengeliminasi deadlock menggunakan preempt sumber daya berarti kita berturut-turut preempt beberapa sumber daya dari suatu proses dan memberikan sumber daya ini ke proses lain sampai deadlock cycle path.

Soal latihan :

IMG_0772

IMG_0773

IMG_0774

Thanks…

www.binusmaya.binus.ac.id

www.skyconnectiva.com

Written by jojoshuajosh

November 10th, 2015 at 10:20 pm

Posted in Uncategorized

SisOp Session 9 & Session 10

without comments

*Session 9

Scheduling


Process Behaviour

  1. Process-bound
  2. I/O bound

sisop 33

CPU scheduler

  • Memilih dari antara proses – proses di memori yang siap untuk dieksekusi dan alokasikan CPU ke salah satu dari proses tersebut.
  • Keputusan penjadawalan CPU dapat terjadi ketika proses :

Read the rest of this entry »

Written by jojoshuajosh

November 3rd, 2015 at 11:44 pm

Posted in Uncategorized

SisOp Session 7 & Session 8

without comments

*Session 7

Threads


Thread

  • State eksekusi (running, ready, terminated)
  • Isi thread disimpan ketika tidak berjalan
  • Memiliki tumpukan eksekusi
  • Beberapa penyimpanan per thread static dipakai untuk variabel lokal
  • Akses ke memori dan resource terjadi saat proses
  • Theads mengijinkan beberapa eksekusi terjadi dilingkungan proses yang sama
  • Light weight process :threads punya beberapa sifat dari proses
  • Multi threading : mengijinkan beberaa threads diproses yang sama

Thread Model

sisop 18

sisop 19

* kolom pertama berisi beberapa item yang dibagi oleh semua thread dalam sebuah proses.

* kolom kedua berisi beberapa item private ke setiap thread.

 sisop 20

*setiap proses memiliki stack tersendiri

sisop 21

Benefit of thread

  • Membutuhkan waktu yang sedikit untuk membuat thread baru ketimbang sebuah proses
  • Membutuhkan waktu yang sedikit untuk menterminate sebuah thread dibanding sebuah proses
  • Membutuhkan waktu yang sedikit untuk menukar dua thread diproses yag sama
  • Karena memiliki proses yang sama (memori dan files), thread bisa saling berkomunikasi satu sama lain tanpa menggunakan kernel

        sisop 22

*contoh koding menggunakan thread Read the rest of this entry »

Written by jojoshuajosh

October 27th, 2015 at 8:56 pm

Posted in Uncategorized

SisOp Session 3 & Session 4

without comments

*Session 3

Process


Process vs Program

Program : Berisi instruksi – instruksi untuk melakukan perintah atau pekerjaan

Process : Eksekusi dari program

Process Characteristic

  • Identifier : Kode unik yang digunakan untuk membedakannya dari proses lain
  • State : Menentukan kondisi dari program (apakah program itu sedang Running / Suspended / Terminated)
  • Priority : Menentukan level prioritas saat eksekusi dilakukan
  • Program Counter : Menyimpan alamat instruksi selanjutnya
  • Memory pointers : Menunjukkan posisi memori
  • Context data : Data yang disimpan saat eksekusi
  • I/O status confirmation : Menunjukkan informasi status I/O
  • Accounting information : menunjukkan informasi mengenai perhitungan numerik mengenai proses yang terjadi di komputer.

Process Creation

  • Membuat ID Unik
  • Mengalokasi memori untuk proses
  • Menginisiasi Process Control Block (PCB)
  • Menyiapkan antrian program
  • Membuat expand data

Process Termination

  • Normal completion
  • Time limit exceeded
  • Memory unavailable
  • Bounds violation
  • Protection error
  • Arithmetic error
  • Time overrun
  • I/O failure
  • Invalid instruction
  • Privileged instruction
  • Data misuse
  • Operating system intervention
  • Parent terminates so child processes terminate
  • Parent request

Process Table

  • Merupakan tempat proses terjadi
  • Atribut dari process table

– Process ID

– Process state

– Location in memory

Process Location

  • Berisi sekumpulan program yang akan dieksekusi
  • Program Control Block (PCB)
  • Process image

Read the rest of this entry »

Written by jojoshuajosh

October 6th, 2015 at 7:42 pm

Posted in Uncategorized

SisOp Session 1 & Session 2

without comments

*Session 1

COMPUTER AND OPERATING SYSTEM OVERVIEW


Basic Elements in a Computer System

  • Processor
  • Main Memory
  • I/O Modules
  • System Bus

Computer Architecture

sisop1

  • Program Counter (PC) bertugas untuk memastikan tempat instruksi selamjutnya berada sehingga Salinan dari instruksi tersebut dapat ditempatkan di Instruction Register (IR)
  • Instruction Register (IR) bertugas untuk menyimpan instruksi/perintah yang akan dieksekusi
  • Memory Address Register (MAR) berfungsi untuk menampung data alamat memori yang akan digunakan pada data atau instruksi berikutnya
  • Didalam Central Processor terdapat Arithmetic-Logic Unit (ALU) dan Control Unit. ALU adalah tempat dimana data akan diproses
  • Control Unit bertugas untuk mengambil, mendecode, dan mensikronisasi instruksi sebelum mengirimkannya kebagian lain dari komputer
  • Accumulator berada dalam Arithmetic Unit, PC dan IR berada didalam Control Unit, MAR dan MBR berada di Processor

Instruction Cycle

sisop2

Types of Instruction

  • Processor – Memory (Transfer data antara Processor dan memory)
  • Processor – I/O (Proses transfer data dari atau menuju peripheral device)
  • Data Processing (Proses aritmatik atau operasi logika pada data)
  • Control (Mengubah urutan dari eksekusi data)

Execution Cycle

  • Pipelining

sisop3

  • Superscalar

sisop4 Read the rest of this entry »

Written by jojoshuajosh

September 29th, 2015 at 1:48 am

Posted in Uncategorized