Senin, 22 April 2013

Pencatatan Pemakaian memori


NAMA : SUKMA ABDI PRAKASA
KELAS : 2KA09
NPM : 16111930


1.     Pencatatan memakai peta bit (Bit Map)

Memori dibagi menjadi unit-unit alokasi, berkorespondensi dengan tiap unit alokasi, yaitu 1 bit pada bit map.

•      nilai 0 pada peta bit berarti unit itu masih bebas

•      nilai 1 berarti unit sudah digunakan

Masalah pada peta bit adalah penetapan mengenai ukuran unit alokasi

memori, yaitu :
  • unit lokasi memori berukuran kecil berarti membesarkan ukuran peta bit
  • unit alokasi memori n berukuran besar berarti peta bit kecil tapi memori banyak disiapkan pada unit terakhir jika ukuran proses bukan kelipatan unit alokasi

Keunggulan : dealokasi dapat dilakukan dengan mudah, hanya tinggal

mengeset bit yang berkorespondensi dengan unit yang telah tidak digunakan dengan 0.

Kelemahan :
  • dilakukan penghitungan blok lubang memori saat unit memori bebas
  • memerlukan ukuran bit map besar untuk memori yang besar.

2.     Pencatatan memakai linked list

Sistem operasi mengelola senarai berkait (linked list) untuk segmen-segmen memori yang telah dialokasikan dan bebas. Segmen memori menyatakan memori untuk proses atau memori yang bebas (lubang). Senarai segmen diurutkan sesuai alamat blok. Memori yang digunakan pada metode ini lebh kecil dibandingkan dengan peta bit.

Keunggulan :

·         tidak harus dilakukan perhitungan blok lubang memori karena sudah tercatat di node

·         memori yang diperlukan relatif lebih kecilKelemahan :

Dealokasi sulit dilakukan karena terjadi berbagai operasi penggabungan node di senarai







materi selanjutnya : http://wkwibisono.blogspot.com/

Minggu, 21 April 2013

MANAJEMEN MEMORI BERDASARKAN KEBERADAAN SWAPPING ATAU PAGING




NAMA : SUKMA ABDI PRAKASA
KELAS : 2KA09
NPM : 16111930


MANAJEMEN MEMORI BERDASARKAN
KEBERADAAN SWAPPING ATAU PAGING
Terbagi dua yaitu :

1.    Manajemen tanpa swapping atau paging

Yaitu manajemen memori tanpa  pemindahan citra proses antara memori utama dan disk selama eksekusi

2.    Manajemen dengan swapping atau paging


Merupakan Suatu metode yang memungkinkan suatu alamat memori fisis yang tersedia dapat tidak berurutan.
Sistem paging mengimplementasikan ruang alamat besar pada memori kecil menggunakan index register, base register, dan segmen register, dll. Pemakai seolah-olah mempunyai ruang memori yang sangat besar tanpa mengelola overlay.
Setiap alamat dibangkitkan oleh CPU dengan membagi ke dalam 2 bagian yaitu :
Page number (p) digunakan sebagai indeks ke dalam table page (page table). Page table berisi alamat basis dari setiap page pada memori fisik.
Page offset (d) mengkombinasikan alamat basis dengan page offset untuk mendefinisikan alamat memori fisik yang dikirim ke unit memori.


MEMORI TANPA SWAPPING OR PAGING


Yaitu manajemen memori tanpa pemindahan citra proses
antara memori utama dan disk selama eksekusi.

Terdiri dari :

Monoprogramming

  
 Merupakan manajemen memori paling sederhana, sistem komputer hanya mengijinkan satu program/pemakai berjalan pada satu waktu. Semua sumber daya sepenuhnya dikuasi proses yang sedang berjalan.
    Karena hanya terdapat satu proses dan menguasai seluruh sistem maka alokasi memori dilakukan secara berturutan
Ciri-ciri :
• Hanya satu proses pada satu saat
• Hanya satu proses menggunakan semua memori
• Pemakai memuatkan program ke seluruh memori dari
  disk atau tape
• Program mengambil kendali seluruh mesin

Multiprogramming Dengan Pemartisian Statis Terbagi dua :
1.    Pemartisian menjadi partisi-partisi berukuran sama, yaitu ukuran semua partisi memori adalah sama
2.    Pemartisian menjadi partisi-partisi berukuran berbeda, yaitu ukuran semua partisi memori adalah berbeda.

Multiprogrammning dengan Pemartisian Tetap dengan Satu Antrian



Multiprogrammning dengan Pemartisian Tetap dengan Banyak Antrian





Contoh : IBM PC menggunakan cara ketiga di mana device driver
ROM ditempatkan pada blok 8K tertinggi dari address space 1M.
Program pada ROM disebut BIOS (Basic Input Output System).

Senin, 01 April 2013

SISTEM OPERASI


NAMA                 : SUKMA ABDI PRAKASA
NPM                    : 16111930
KELAS               : 2KA09


Tugas Sistem Operasi
1.  1.    Apa yang dimaksud dengan proses dan thread?.

A.      Proses
Secara informal; proses adalah program dalam eksekusi. Suatu proses adalah lebih dari kode program, dimana kadang kala dikenal sebagai bagian tulisan. Proses juga termasuk aktivitas yang sedang terjadi, sebagaimana digambarkan oleh nilai pada program counter dan isi dari daftar prosesor/ processor's register. Suatu proses umumnya juga termasuk process stack, yang berisikan data temporer (seperti parameter metoda, address yang kembali, dan variabel lokal) dan sebuah data section, yang berisikan variabel global.
program itu sendiri bukanlah sebuah proses; suatu program adalah satu entitas pasif; seperti isi dari sebuah berkas yang disimpan didalam disket, sebagaimana sebuah proses dalam suatu entitas aktif, dengan sebuah program counter yang mengkhususkan pada instruksi selanjutnya untuk dijalankan dan seperangkat sumber daya/ resource yang berkenaan dengannya.
·         New: Proses sedang dikerjakan/ dibuat.
·         Running: Instruksi sedang dikerjakan.
·         Waiting: Proses sedang menunggu sejumlah kejadian untuk terjadi (seperti sebuah penyelesaian I/O atau penerimaan sebuah tanda/ signal).
·         Ready: Proses sedang menunggu untuk ditugaskan pada sebuah prosesor.
·         Terminated: Proses telah selsesai melaksanakan tugasnya/ mengeksekusi.
B.     Thread
alur kontrol dari sebuah proses. Suatu proses yang multithreaded mengandung beberapa perbedaan alur kontrol dengan ruang alamat yang sama. Keuntungan dari multithreaded meliputi peningkatan respon dari user, pembagian sumber daya proses, ekonomis, dan kemampuan untuk mengambil keuntungan dari arsitektur multiprosesor.
User level thread adalah thread yang tampak oleh programmer dan tidak diketahui oleh kernel. User level thread secara tipikal dikelola oleh sebuah library thread di ruang user. Kernel level thread didukung dan dikelola oleh kernel sistem operasi. Secara umum, user level thread lebih cepat dalam pembuatan dan pengelolaan dari pada kernel thread. Ada tiga perbedaan tipe dari model yang berhubungan dengan user dan kernel thread.
·         Model many to one: memetakan beberapa user level thread hanya ke satu buah kernel thread.
·         Model one to one: memetakan setiap user thread ke dalam satu kernel thread. Berakhir.
·         Model many to many: mengizinkan pengembang untuk membuat user thread sebanyak mungkin, konkurensi tidak dapat tercapai karena hanya satu thread yang dapat dijadualkan oleh kernel dalam satu waktu.
2.      Apa perbedaan proses dan thread?
Sebuah proses adalah sebuah peristiwa adanya sebuah program yang dapat dieksekusi. Sebagai sebuah eksekusi proses, maka hal tersebut membutuhkan perubahan keadaan. Keadaan dari sebuah proses dapat didefinisikan oleh aktivitas proses tersebut.
 Suatu proses adalah lebih dari kode program, dimana kadang kala dikenal sebagai bagian tulisan. Proses juga termasuk aktivitas yang sedang terjadi, sebagaimana digambarkan oleh nilai pada program counter dan isi dari daftar prosesor/ processor’s register.
 Suatu proses umumnya juga termasuk process stack, yang berisikan data temporer (seperti parameter metoda, address yang kembali, dan variabel lokal) dan sebuah data section, yang berisikan variabel global. Setiap proses mungkin menjadi satu dari beberapa state berikut, antara lain: new, ready, running, waiting, atau terminated. Setiap proses direpresentasikan ada sistem operasi berdasarkan proses-control-block (PCB)-nya.
program itu sendiri bukanlah sebuah proses. Suatu program adalah satu entitas pasif, seperti isi dari sebuah berkas yang disimpan didalam disket, sebagaimana sebuah proses dalam suatu entitas aktif, dengan sebuah program counter yang mengkhususkan pada instruksi selanjutnya untuk dijalankan dan seperangkatsumber daya/resource yang berkenaan dengannya.

Proses memiliki dua karakteristik namun kedua karakteristik dilakukan secara independen oleh sistem operasi :
·         Resource ownership (kepemilikan sumber daya)
Proses mempunyai ruang alamat virtual untuk menangani image proses yang didefinisikan dalam PCB.

·         Scheduling-execution (penjadwalan-eksekusi
Mengikuti suatu path eksekusi (trace), ada pergatian dari satu proses ke lainnya Unit dari kepemilikan sumber daya diacu sebagai proses atau taskuatu thread yang salah dapat menganggu thread yang lain didalam proses yang sama,karena thread berbagai pakai ruang memori virtual dan sumber daya lain yang sama.
Thread adalah unit dasar dari penggunaan CPU, thread mengandung Thread ID, program counter, register set, dan stack. Sebuah Thread berbagi code section, data section, dan sumber daya sistem operasi dengan Thread lain yang dimiliki oleh proses yang sama. Thread juga sering disebut lightweight process. Sebuah proses tradisional atau heavyweight process mempunyai thread tunggal yang berfungsi sebagai pengendali. Perbedaan antara proses dengan thread tunggal dengan proses dengan thread yang banyak adalah proses dengan thread yang banyak dapat mengerjakan lebih dari satu tugas pada satu satuan waktu.

Perbedaan proses dan thread?
ü    Pembentukan thread lebih singkat di banding proses
ü    Membutuhkan waktu yang lebih sedikit untuk menhakhiri  Thread daripada process.
ü    Lebih mudah dan cepat untuk melakukan switch antar Thread daripada switch antar process.
ü    Thread menggunakan secara bersama ruang alamat dari  proses yang menciptakannya. Proses memiliki ruang alamat sendiri-sendiri.
ü    Thread memiliki akses langsung ke segemen data dari prosesnya. Masing-masing proses memiliki salinan segmen data dari parent process-nya.
ü    Thread dapat saling komunikasi dengan thread lain dalamsatu process. Antar proses harus menggunakan komunikasi antar proses.
ü    Thread hampir tidak memiliki overhead. Proses memiliki overhead.
ü    Thread dapat memiliki pengaruh kontrol yang besar
ü    terhadap thread lain dalam satu proses. Proses hanya dapat mengendalikan proses anakannya. Perubahan pada thread utama seperti pembatalan atau perubahan prioritas dapat mempengaruhi tingkah laku thread lain dalam satu proses. Perubahan pada parent proses tidak mempengaruhi proses anakan.

3.      Gambarkan dan definisikan keadaan state proses!
Sebuah proses akan mengalami serangkaian state diskrit. Beragam kejadian dapat menyebabkan perubahan state proses. Tiga state tersebut adalah sebagai berikut :

ü  Running, Proses sedang mengeksekusi instruksi proses
ü  Ready, Proses   siap   dieksekusi,   tetapi   proses   tidak tersedia untuk eksekusi proses ini.
ü  Blocked, Proses   menunggu   kejadian   untuk   melengkapi tugasnya
ü  Proses yang baru diciptakan akan mempunyai state ready.
Proses berstate running menjadi blocked, karena sumbar daya yang diminta belum tersedia atau meminta layanan perangkat masukan/keluaran, sehingga menunggu kejadian muncul. Proses menunggu kejadian alokasi sumber daya atau selesainya layanan perangkat masukan/keluaran (event wait).
Proses berstate running menjadi ready, karena penjadwal memutuskan eksekusi proses lain karena jatah waktu untuk proses tersebut telah habis (time out).
Proses berstate blocked menjadi ready saat sumber daya yang diminta/ diperlukan telah tersedia atau layanan perangkat masukan/keluaran selesai (event occurs).
Proses berstate ready menjadi running, karena penjadwal memutuskan penggunaan pemroses utnuk proses itu karena proses yang saat itu running berubah statenya (menjadi ready atau blocked) atau telah menyelesaikan sehingga disingkirkan dari sistem. Proses menjadi mendapatkan jatah pemroses.

Gambar Proses State:








Sumber :