Welcome

Selamat Datang Gan

Minggu, 23 Juni 2013

REGISTER


A.     Pengertian Register

Register adalah memori berukuran sangat kecil dengan kecepatan akses sangat tinggi. Register digunakan untuk menyimpan data dan instruksi yang sedang diproses, sementara itu data dan instruksi lainnya yang menunggu giliran diproses akan disimpan dalam main memory. Register dari sebuah komputer secara kolektif disebut sebagai kumpulan register (register set).
. Register dapat menyimpan informasi dalam kode biner dan menampilkannya kembali dan dikatakan dapat melakukan operasi baca dan tulis. Register didalam prosesor mempunyai dua fungsi, sebagai berikut:
• User-visible register : memungkinkan bahasa mesin dapat mengurangi resensi memori utama dengan mengoptimalkan penggunaan register.
• Control dan status register : digunakan oleh prosesor untuk mengontrol operasi prosesor dan mengontrol eksekusi program.

B.    Register User General Purpose

General Purpose  Register yaitu register yang mempunyai berbagai macam fungsi yang berhubungan dengan data yang sedang diproses. Misal, jika digunakan untuk menampung data yang sedang diolah disebut sebagai operand register, sedangkan jika digunakan untuk menampung hasil olahan disebut sebagai accumulator. Setiap register  dapat dialamati sebagai register 32-bit, register 16-bit, dan register 8-bit

Ø  Register Akumulator
Akumulator merupakan sebuah register di mana aritmatika menengah dan hasil logika disimpan. Sebuah komputer yang register seperti akumulator, maka akan sangat diperlukan untuk menulis hasil perhitungan masing-masing (penjumlahan, perkalian, pembagian, dll) ke memori utama, yang mungkin hanya untuk dibaca kembali lagi untuk digunakan dalam operasi berikutnya. Register  ini berfungsi sebagai:
a. tempat penyimpanan sementara hasil suatu operasi aritmatika atau logika;
b. tempat memasukkan nomor layanan interupsi, untuk keperluan pemesanan sebuah layanan interupsi;

Ø  Register Data
Data register merupakan register serbaguna yang berfungsi sebagai:
a. tempat menyimpan setengah bagian terbesar hasil suatu perkalian bilangan 16-bit dan 32-bit;
b. tempat menyimpan setengah bagian terbesar suatu bilangan yang akan dikenai operasi pembagian, serta sisa suatu pembagian.
Register data hanya dapat dipakai untuk menampung data dan tidak dapat digunakan untuk kalkulasi dan alamat operand.
  
Ø  Register Alamat

Register Alamat hanya dapat digunakan untuk menyimpan alamat atau untuk kalkulasi alamat operand. Register alamat, dapat berisi:
(a) alamat di main memory,
(b) alamat instruksi di main memory,
(c) bagian alamat yang digunakan dalam penghitungan alamat lengkap.
Contoh register alamat yaitu Base Registers, Segment Register, Index Register, Stack Pointer.

Ø  Register Kode Kondisi / Register Flag
flag register merupakan suatu pemberi tanda setiap operasi contohnya jika kita sedang menjalankan interupt maka if akan hidup atau jika sedang menjalankan debugger maka if akan hidup. Macam-macam dari flag register adalah of (oferflow flag), df (direction flag), if (intterupt flag), tf (trap flag), sf (sign flag), zf (zero flag), dan cf (carry flag).
Bit-bit pada flag register akan mengalami perubahan, tergantung proses yang baru saja berlangsung. Bit-bit tersebut adalah sebagai berikut:
1. C (carry): mengindikasikan ada/tidaknya bawaan (carry) setelah operasi pengurangan. C = 1 berarti ada bawaan, C = 0 berarti tidak ada bawaan. Bit C berfungsi mengidentifikasi kesalahan (error) pada beberapa program dan prosedur (procedure).
2. P (parity): mengindikasikan jumlah bit dalam suatu data. P = 0 berarti paritasnya ganjil, P = 1 berarti paritasnya genap. Paritas dapat digunakan untuk pengecekan kesalahan pengiriman data.
3. A (auxiliary carry): mengindikasikan ada/tidaknya bawaan (carry) pada bit ke-3 dan ke-4 setelah operasi pengurangan. A=1 berarti ada bawaan, A=0 berarti tidak ada bawaan. Bit A ini relatif jarang digunakan dalam pemrograman.
4. Z (zero) : mengindikasikan apakah hasil suatu operasi aritmatika atau logika bernilai nol atau bukan. Bila Z = 1 berarti hasilnya nol dan Z = 0 berarti hasilnya bukan nol. Bit Z ini hampir sama dengan bit C, yakni berfungsi untuk mengidentifikasi kesalahan dalam suatu program.
5. S (sign) : mengindikasikan apakah hasil suatu operasi aritmatika atau logika positif atau negatif. Bila S = 1 berarti hasil negatif dan S = 0 berarti hasilnya positif.
6. T (trap) : bila di set 1, dimungkinkan melakukan debugging (penelusuran kesalahan).
7. I (interrupt) : mengendalikan operasi interupsi perangkat keras. Bila I = 1 berarti pin INTR enable (bisa digunakan), bila I = 0 berarti INTR disable (tidak bisa digunakan). Untuk mengendalikannya dapat dilakukan dengan instruksi STI (mengeset I=1) dan CLI (mereset I=0).
8. D (direction) : mengendalikan arah pencacahan (increment atau decrement) DI dan SI pada operasi string. Bila D = 1 arah pencacahan adalah turun (decrement), bila D = 0 pencacahan naik (increment). Untuk mengendalikannya bisa dengan instruksi STD (mengeset D=1) dan CLD (mereset D=0).
9. O (overflow) : mengindikasikan apakah hasil operasi penjumlahan atau pengurangan melampaui kapasitas mesin atau tidak.
10. IOPL (input-output privilege level) : digunakan untuk operasi protected mode untuk memilih tingkat keistimewaan (privilege level) piranti masuk-keluaran.
11. NT (nested task) : mengindikasikan apakah operasi yang sedang dilakukan digandeng (nested) dengan operasi lain pada operasi protected mode.
12. RF (resume) : digunakan saat debugging untuk mengendalikan kelanjutan eksekusi.
13. VF (virtual mode) : memilih operasi virtual mode pada operasi protected mode.
14. AC (alignment check) : untuk mengecek apakah suatu data word atau doubleword dialamati ke memori yang bukan data word atau bukan doubleword.

Ø  Register Indeks
Index Register ini dapat digunakan sebagai sebuah register serbaguna, akan tetapi lebih sering digunakan untuk menunjukkan alamat sebuah data di lokasi memori pada operasi-operasi string. Index register yang terbagi atas dua register yaitu :
1)      register si (source index register)
register si merupakan register yang mencatat alamat memori yang isi memorinya akan digunakan. Register si sebagai sumber pembacaan memori.
2)      register di (destination index register)
register di seperti si juga membaca alamat memori untuk tempat tujuan penulisan data di memori

Ø  Register Pointer
Pointer register adalah rergister yang mempunyai tugas khusus untuk menunjukan alamat offset, yang terbagi atas tiga register yaitu :
1)      register ip (instruction pointer)
register ip fungsinya menunjukkan offset dari alamat program. Yang berpasangan dengan register cs
2)      register sp (stack pointer)
register sp fungsinya mencatat alamat stack dan menunjukkan offset dari alamat stack, yang berpasangan dengan register ss
3)      register bp (base pointer)
fungsi dari register bp adalah untuk membaca dan menulis dengan segment ss (stack pointer)

C.    Register Control dan Status

Register control dan status adalah register-register yang digunakan oleh unit kontrol untuk mengontrol operasi CPU dan oleh program sistem operasi untuk mengontrol eksekusi program. Sebagian dapat diakses dengan instruksi mesin yang dieksekusi dalam mode kontrol atau kernel sistem operasi.
1)    Program Counter/ Register Counter/ PC
register cx biasanya berfungsi sebagai counter atau digunakan jika nanti ada melakukan berapa banyak kita melakukan looping atau pengulangan. Atau lebih tepatnya menentukan banyaknya looping atau pengulangan. Cx terbagi atas high dan low yaitu :
·        register ch (8bit) sebagai register high
·        register cl (8bit) sebagai register low
2)    Register Intruksi
Register instruksi adalah register yang berisi instruksi terakhir yang diambil.
a.      IR (Instruction Register) digunakan untuk menyimpan instruksi yang sedang dieksekusi dalam CPU.
b.       Instruction Buffer untuk menyimpan instruksi instruksi yang menunggu giliran untuk dieksekusi dalam CPU.

3)    Memory Addres Register (MAR)
MAR (Memory Address Register) atau register penunjuk alamat memori merupakan register yang menampung alamat data atau instruksi pada main memory yang akan diakses, baik itu yang akan diambil (dibaca) maupun yang akan diletakkan (disimpan/ditulis).
Spesifikasi MAR :
·        Memuat alamat dari lokasi memori yang akan diakses (baca/tulis)
·        Jumlah bit MAR menentukan jumlah maksimum dari memori fisik yang dapat dipasang dalam suatu komputer.
·        Jika MAR terdiri dari n bit berarti alamat memori yang valid adalah 0 hingga 2n – 1

Proses kerja MAR (antara CPU dan memory)
MAR merupakan salah satu register yang digunakan sebagai interface antara CPU dan main memory. MAR menampung alamat data atau instruksi yang dikirim dari main Memory ke CPU atau yang akan direkamkan ke Main Memory.

4)    Memory Buffer Register (MBR)
Memory buffer register merupakan tempat penyimpanan (sementara) data yang baru saja dibaca dari atau  data yang akan dituliskan ke memory. Atau dengan kata lain merupakan tempat untuk menampung data yang akan ditulis ke memori yang alamatnya ditunjuk MAR atau untuk menampung data dari memori (yang alamatnya ditunjuk oleh MAR) yang akan dibaca.
MBR berperan dalam proses pengaksesan memori yaitu dalam proses read/write dari atau ke memori.

source : Dari berbagai sumber 

Sabtu, 22 Juni 2013

KONSEP DASAR SISTEM OPERASI

  1.   Sebutkan komponen-komponen Sistem Operasi!

Ada dua pendapat tentang komponen-komponen sistem operasi, yaitu
A.     Menurut Avi Silberschatz, Peter Galvin, dan Greg Gagne, komponen sistem operasi terdiri dari :
\     Managemen Proses.
\     Managemen Memori Utama.
\     Managemen Berkas.
\     Managemen Sistem Masukan/Keluaran.
\     Managemen Penyimpanan Sekunder.
\     Sistem Proteksi.
\     Jaringan.
\     Command-Interpreter System.
B.     Sedangkan menurut A.S. Tanenbaum, ada 4 komponen utama sistem operasi, yaitu
\     Managemen proses,
\     Masukan/Keluaran
\     Managemen Memori, dan
\     Sistem Berkas.
      2.   Sebutkan aktivitas yang dilakukan oleh Sistem Operasi yang berkaitan dengan managemen proses!
Aktivitas-aktivitas yang berkaitan dengan managemen proses seperti:
a.    Membuat dan menghapus proses pengguna dan sistem proses.
b.    Menunda atau melanjutkan proses.
c.    Menyediakan mekanisme untuk proses sinkronisasi.
d.    Menyediakan mekanisme untuk proses komunikasi.
e.    Menyediakan mekanisme untuk penanganan deadlock.
3.      Sebutkan aktivitas yang dilakukan oleh Sistem Operasi yang berkaitan dengan managemen berkas!
Aktifitas-aktivitas yang berhubungan dengan managemen berkas:
a.    Pembuatan dan penghapusan berkas.
b.    Pembuatan dan penghapusan direktori.
c.    Mendukung manipulasi berkas dan direktori.
d.    Memetakan berkas ke secondary-storage.
e.    Mem-back-up berkas ke media penyimpanan yang permanen (non-volatile).

LAYANAN SISTEM OPERASI


  1. Jelaskan apa yang dimaksud dengan Command-Interpreter System!
Command interprenter system adalah semacam aplikasi yang berfungsi untuk membaca instruksi dan menyediakan beberapa fungsi standar dan fungsi dasar yang dapat dipanggil oleh aplikasi/program maupun piranti lunak lain. Command-Interpreter System bisa untu, mengeksekusi  kode program secara langsung, menterjemahkan kode ke dalam beberapa representasi intermediate yang efisien lalu segera mengeksekusinya, atau juga mengeksekusi kode tersimpan yang di buat oleh kompiler secara eksplisit sebagai bagian dari sistem penerjemah. Contohnya adalah Command Prompt pada Windows XP (DOS pada Windows 98). Perbedaan  Command Interpreter dengan Shell : Shel adalah  bagian dari sistem operasi yang menyediakan antarmuka untuk pengguna, sedangkan Command Interpreter lebih ke mengekseskusi perintah-perintah yang di buat oleh user tadi, sehingga dapat di jalankan oleh sistem.

  1. Apakah tujuan dari System Calls?
Tujuan dari system calls adalah sebagai jembatan operasi antara OS dengan proses. Lebih tepatnya dikatakan bahwa sistem call merupakan cara pemanggilan di program aplikasi untuk memperoleh layanan yang disediakan oleh sistem operasi.

  1. Sebutkan lima layanan yang disediakan oleh Sistem Operasi!
a.        Pembuatan program.
b.        Eksekusi program.
c.        Operasi masukan/keluaran.
d.        Manipulasi sistem berkas.
e.        Komunikasi
  1. Sebutkan tujuan dari system program!
Sistem program bertujuan membaca berkas yang diberikan atau mungkin bertanya pada operator tentang informasi yang berhubungan dengan perangkat keras tersebut.

  1. Jelaskan dua model komunikasi pada Sistem Operasi!
Dua model komunikasi:
Message-passing -->Pertukaran informasi dilakukan melalui fasilitas komunikasi antar proses yang disediakan oleh sistem operasi.
        Shared-memory -->Proses menggunakan memori yang bisa digunakan oleh berbagai proses untuk pertukaran informasi dengan membaca dan menulis data pada memori tersebut

“ Layanan Sistem Operasi” bagian II


    1. Terangkan dengan singkat, pasangan konsep berikut ini. Terangkan pula perbedaan atau/dan    persamaan pasangan konsep tersebut  :

a.    ''Symetric Multiprocessing'' vs. ''Asymetric Multiprocessing''.

               Dalam ''Symetric Multiprocessing setiap prosesor menjalankan salinan identik dari sistem operasi dan banyak job yang dapat berjalan di suatu waktu tanpa pengurangan kinerja. Sementara itu dalam Asymetric Multiprocessing setiap prosesor diberikan suatu tugas yang spesifik.
perbedaan antara Symetric Multiprocessing dan Asymetric Multiprocessing :
Pada symmetric multiprocessing tiap processor mempunyai sistem operasi yang sama dan dapat melakukan komunikasi antar processor,
               sedangkan asymmetric multiprocessing satu processor berfungsi sebagai master  rocessor yang bertugas mengatur penjadwalan dan mengalokasikan kerja tiap processor dan processor lain berfungsi sebagai slave

b.    ''Distributed Systems'' vs. ''Clustered Systems''.

               Sistem terdistribusi adalah mendistribusikan komputasi di antara beberapa processorProcessor berkomunikasi dengan processor lain melalui saluran komunikasi, misalnya bus kecepatan tinggi atau saluran telepon. Sedangkan sistem terklaster adalah pengembangan dari sistem terdistribusi yaitu sistem komputer yang memungkinkan dua atau lebih sistem untuk membagi penyimpan sekunder (storage) bersama-sama.
                Perbedaan sistem terklaster dengan sistem terdistribusi adalah pada sistem terklaster memungkinkan dua atau lebih sistem untuk membagi penyimpan sekunder (storage) bersama-sama. Sistem terklaster mempunyai kehandalan sistem yang tinggi seperti pada sistem terdistribusi

c.    ''Microkernels'' vs. ''Virtual Machines''.

                Kernel adalah komponen sentral dari sistem operasi. Ia mengatur hal-hal seperti interrupt handler(untuk menyediakan layanan interupsi), process scheduler(membagi-bagi proses dalam prosesor), memory management, I/O, dan sebagainya. Atau dengan kata lain, ia adalah jembatan antara hardware dengan software.
Virtual machine, atau sering disebut VM saja merupakan software yang digunakan untuk mensimulasikan lingkungan kerja suatu perangkat komputer secara virtual.dengan menggunakan VM berarti anda membuka OS didalam OS dalam artian  untuk hal - hal yang sifatnya coba - coba (eksperimental).

d.    ''Hard Real-time'' vs ''Soft Real-time''.

                Hard real time system menjamin suatu proses yang paling penting dalam sistem akan selesai dalam jangka waktu yang valid. Jaminan waktu yang ketat ini berdampak pada operasi dan perangkat keras (hardware) yang mendukung sistem. Dari segi (hardware), memori jangka pendek (short-term memory) atau read-only memory (ROM) menggantikan hard-disk sebagai tempat penyimpanan data. Kedua jenis memori ini dapat mempertahankan data mereka tanpa suplai energi. Ketatnya aturan waktu dan keterbatasan hardware dalam sistem ini membuat ia sulit untuk dikombinasikan dengan sistem lain, seperti sistim multiprosesor dengan sistem time-sharing.
Soft real time system tidak memberlakukan aturan waktu seketat hard real time system. Namun, sistem ini menjamin bahwa suatu proses terpenting selalu mendapat prioritas tertinggi untuk diselesaikan diantara proses-proses lainnya. Sama halnya dengan hard real time system, berbagai operasi dalam sistem tetap harus ada batas waktu maksimum.

2. Sebutkan keuntungan dalam penggunaan sistem lapisan! Jelaskan!
Keuntungan utamanya adalah modularitas atau rancangan modular, yaitu sistem dibagi menjadi beberapa modul dan tiap modul dirancang secara independen.. Pendekatan berlapis menyederhanakan rancangan, spesifikasi dan implementasi sistem operasi. Pendekatan ini mempermudah debug dan verifikasi sistem. Lapisan pertama bisa di debug tanpa mengganggu sistem yang lain karena hanya menggunakan perangkat keras dasar untuk implementasi fungsinya. Bila terjadi error saat debugging sejumlah lapisan, error pasti pada lapisan yang baru saja di debug, karena lapisan dibawahnya sudah di debug.

3. Jelaskan salah satu kesulitan besar dalam penggunaan sistem lapisan !
                Salah satu kesulitan besar dalam sistem terlapis disebabkan karena sebuah lapisan hanya bisa menggunakan lapisan-lapisan dibawahnya, misalnya: backing-store driver, normalnya diatas penjadual CPU sedangkan pada sistem yang besar, penjadual CPU punya informasi tentang proses yang aktif yang ada di memori. Oleh karena itu, info ini harus dimasukkan dan dikeluarkan dari memori, sehingga membutuhkan backing-store driver dibawah penjadual CPU. Kesulitan lainnya adalah paling tidak efisien dibandingkan tipe lain. Ketika pengguna mengeksekusi M/K, akan mengeksekusi lapisan M/K, lapisan managemen memori, yang memanggil lapisan penjadual CPU. Yang lain adalah fungsi-funsgi sistem operasi harus diberikan ke tiap lapisan secara hati-hati
4. Sebutkan beberapa obyek yang ada pada level dua sistem lapisan!
Pada level ini adalah set instruksi pada prosesor. Operasinya adalah instruksi bahasa-mesin, seperti menambah, mengurangi, load dan store.

5. Sebutkan cara-cara yang dipakai untuk membuat alamat logis yang dilakukan pada level tujuh!

Cara-cara yang sering dipakai adalah menggunakan ukuran halaman yang tetap, menggunakan segmen sepanjang variabelnya, dan menggunakan cara keduanya. Ketika blok yang dibutuhkan tidak ada dimemori utama, alamat logis pada level ini meminta transfer darilevel6.

Sampai point ini, sistem operasi mengatasi sumber daya dari prosesor tunggal. Mulai level 8, sistem operasi mengatasi obyek eksternal seperti peranti bagian luar, jaringan, dan sisipan komputer kepada jaringan

6. Sebutkan salah satu keuntungan kernelmikro!
            Keuntungan dari kernel mikro adalah :
a.      sangat suport terhadap os yang berorientasi objek
b.      kemudahan dalam memperluas sistem operasi
c.      mudah untuk diubah ke bentuk arsitektur baru
d.   kode yang kecil dan lebih aman

KERNEL

            “Hei Ben, aku ada tugas dari dosen nih, bantu aku nyarinya ya? “
            “Memangnya tugasmu itu di suruh nyari apa Jo?”
            “Aku di suruh nyari Kernel ben, kira-kira dimana ya...?”
            “walah jo, nyari caramel aja kamu pusing, di warung sebelah juga ada!”
            “Haaaaa???, Kernel Ben, Bukan Caramel!”
            “Emang Kernel itu apaan Jo?”
            ...
        Bagi kebanyakan orang, kernel adalah sebuah kata baru bagi mereka, karena istilah ini jarang sekali digunakan dalam kehidupan sehari-hari. Kernel ini kebanyakan dipahami oleh orang-orang yang mempelajari tentang komputer, bahkan mungkin sebagian dari mereka yang mempelajari komputer itu pun belum tau.
        Kernel merupakan sebuah software penting yang terdapat pada sistem operasi. Kernel ini berfungsi untuk menghubungkan antara software dengan hardware. Tanpa kernel, hardware pada perangkat komputer itu pun tidak bisa dijalankan.
Kernel juga bisa dikatakan sebagai penghubung antara software dan hardware, yang artinya bahwa kernel memiliki peran sebagai pembuat hubungan atau mediator antara aplikasi komputer dan perangkat keras. Kernel menyediakan layanan sistem seperti pengaturan memori, pengaturan file, pengaturan input/output, dan lain-lain.
  Terkadang aplikasi yang terdapat pada komputer kita jalankan secara bersamaan(Multitasking), sedangkan akses terhadap perangkat keras itu terbatas, maka kernel bekerja sebagai pengatur kapan suatu program akan menggunakan perangkat keras yang ada, dan kapan suatu program akan berhenti menggunakan perangkat keras itu. Dengan adanya kernel, semua kegatan program akan dapat dikendalikan, dan dengan begitu, akses terhadap perangkat keras pun menjadi lebih efisien tanpa khawatir penggunaan perangkat keras yang sia-sia.
       Kompilasi kernel merupakan proses konfigurasi pada kernel yang di dalamnya tidak dimuat dukungan kinerja pada device yang ada. Agar kernel dapat bekerja secara optimal, perlu diadakan konfigurasai terhadap hardware yang ada. Saat itulah kompilasi kernel dilakukan. Dengan kompilasi kernel, suatu sistem operasi akan dapat mengenali dan menambahkan device yang ada dan dapat mengaktifkan fitur tertentu dari sistem operasi itu sendiri terhadap device tersebut. Oleh karena iu, kernel pada linux perlu untuk dikompilasi.
   Tahap awal untuk kompilasi yaitu dengan tool sompiler dsb. Tahap ini sering menimbulkan kesalahan dan kegagalan. Sebelum mengalami hal tersebut, ada baiknya untuk mempersiapkan emergency boot disk. Setelah tahap konfigurasi, selanjutnya yaitu kompilasi modul, instalasi kernel, dan patch kernel.

     Kernel pada Linux semua sama, baik kernel yang ada di Ubuntu, CentOS, dan lain-lainnya. Yang membuatnya berbeda hanya terletak di pengembangnya saja, ada kekurangan dan kelebihannya. 
      

MANAJEMEN MEMORY


Memori adalah pusat dari operasi pada sistem komputer modern.  Memori adalah array besar dari word atau byte, yang disebut alamat.  CPU mengambil instruksi dari memory berdasarkan nilai dari program counter.  Instruksi ini menyebabkan penambahan muatan dari dan ke alamat memori tertentu.
Instruksi eksekusi yang umum, contohnya, pertama mengambil instruksi dari memori.  Instruksi dikodekan dan mungkin mengambil operand dari memory.  Setelah instruksi dieksekusi pada operand, hasilnya ada yang dikirim kembali ke memory.  Sebagai catatan, unit memory hanya merupakan deretan alamat memory; tanpa tahu bagaimana membangkitkan (instruction counter, indexing, indirection, literal address dan lainnya) atau untuk apa (instruksi atau data).  Oleh karena itu, kita dapat mengabaikan bagaimana alamat memori dibangkitkan oleh program, yang lebih menarik bagaimana deretan alamat memori dibangkitkan oleh program yang sedang berjalan.
Ø  Jenis Memori
 - Memori Kerja
• ROM/PROM/EPROM/EEPROM
• RAM
• Cache memory
- Memori Dukung Floppy, harddisk, CD, dll. 
Ø  Alamat Memori
– Alamat memori mutlak (alamat fisik)
 – Alamat memori relatif (alamat logika)
Ø  Isi Memori
 – Sistem bahasa penataolahan
 – Sistem Utilitas
– Inti Sistem Operasi
 – Sistem Operasi
– Pengendali alat (device drivers)
 – File pemakai 
Manajemen Memory adalah Salah satu bagian sistem operasi yang mempengaruhi dalam menentukan proses mana yang diletakkan pada antrian. Proses ini menyediakan cara mengalokasikan memori untuk proses atas permintaan mereka, membebaskan untuk digunakan kembali ketika tidak lagi diperlukan serta menjaga alokasi ruang memori bagi proses. Pengelolaan memori utama sangat penting untuk sistem komputer.
Manajemen memori sangat penting untuk memproses dan fasilitas masukan/keluaran secara efisien, sehingga memori dapat menampung sebanyak mungkin proses dan sebagai upaya agar pemogram atau proses tidak dibatasi kapasitas memori fisik di sistem komputer
Fungsi manajemen memori :
• Mengelola informasi yang dipakai dan tidak dipakai.
 • Mengalokasikan memori ke proses yang memerlukan.
• Mendealokasikan memori dari proses telah selesai.
• Mengelola swapping atau paging antara memori utama dan disk
Manajemen memori berdasarkan keberadaan swapping atau paging terbagi dua yaitu :
1. Manajemen tanpa swapping atau paging
2. Manajemen dengan swapping atau paging  
Memori tanpa swapping or paging  Yaitu manajemen memori tanpa pemindahan citra proses antara memori utama dan disk selama eksekusi.
 Terdiri dari : ‰
Ø  Monoprogramming
 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.
Multiprogramming dengan swapping  adalah pemindahan proses dari memori utama ke disk dan kembali lagi.
1. Multiprogramming dengan Pemartisisan Dinamis 
Jumlah , lokasi dan ukuran proses di memori dapat beragam sepanjang waktu secara dinamis. Kelemahannya adalah dapat terjadi lubang-lubang kecil memori di antara partisi- partisi yang dipakai dan Merumitkan alokasi dan dealokasi memori.
2. Strategi Alokasi Memori
§  First fit algorithm : memory  manager men-scan list untuk menemukan hole yg cukup untuk menampung proses yg baru. Proses akan menempati hole pertama yg ditemuinya yg cukup untuk dirinya.
§  Next fit algorithm : sama dengan first fit, tetapi pencarian hole dimulai dari hole ditemuinya dari scan sebelumnya.
§  Best fit algorithm : dicari hole yang akan menghasilkan sisa paling sedikit setelah dimasuki proses.
§  Worst fit algorithm : kebalikan dari best fit.
§  Quick fit algorithm : mengelompokkan hole-hole dan membuat listnya sendiri. Misalnya, ada list untuk hole 4K, satu list untuk 8K, dst
Dari berbagai cara alokasi tersebut, sebuah hole yg ditempati proses akan terbagi menjadi bagian yang dipakai proses dan memori yang tidak terpakai (fragmen). Timbulnya memori yang tidak terpakai disebut fragmentasi. Ada dua macam fragmen :
• Internal : sisa hole yang tidak terpakai setelah terisi proses.
• Eksternal : hole yang secara utuh terlalu kecil untuk dipakai oleh proses manapun.
Alokasi Ruang Swap pada Disk (Penempatan proses pada disk setelah di-swap-out dari memori) yaitu :
§  Ruang disk tempat swap dialokasikan begitu diperlukan
§  Ruang disk tempat swap dialokasikan lebih dahulu.
Algoritma untuk pengaturan ruang swap pada disk sama dengan untuk memori utama. Perbedaannya adalah ruang pada disk harus dialokasikan sebagai kelipatan bilangan bulat dari disk block.
Memori maya adalah kemampuan mengalamati ruang memori melebihi memori utama yang tersedia.Gagasan memori maya adalah ukuran gabungan program, data dan stack melampaui jumlah memori fisik yang tersedia. Memori maya dapat dilakukan dengan tiga cara, yaitu Paging, SegmentasiKombinasi paging dan segmentasi.
Demand Paging atau permintaan pemberian halaman adalah salah satu implementasi dari memori virtual yang paling umum digunakan. Sistem Demand Paging pada prinsipnya hampir sama dengan sistem permintaan halaman yang menggunakan swapping, hanya saja pada sistem demand paging, halaman tidak akan dibawa ke dalam memori fisik sampai ia benar-benar diperlukan.
               Sistem operasi dapat memindahkan suatu proses dari memori fisik, lalu menghapus semua bingkai yang semula digunakannya, dan mengurangi level of multiprogramming (dengan mengurangi jumlah proses yang berjalan) dengan cara penggantian halaman (page replacement).
               Terdapat macam-macam variasi untuk strategi sederhana ini, kita bisa meminta sistem operasi untuk mengalokasikan seluruh buffer dan ruang tabel-nya dari daftar frame bebas. Saat ruang ini tidak digunakan oleh sistem operasi, ruang ini bisa digunakan untuk mendukung paging dari user. Kita juga dapat menyimpan tiga frame bebas yang dari daftar frame bebas, sehingga ketika terjadi page fault, ada frame bebas yang dapat digunakan untuk paging. Saat pertukaran halaman terjadi, penggantinya dapat dipilih, kemudian ditulis ke disk, sementara proses user tetap berjalan.
Variasi lain juga ada, tetapi ide dasarnya tetap yaitu proses pengguna diberikan frame bebas yang mana saja. Masalah lain muncul ketika demand paging dikombinasikan dengan multiprogramming. Hal ini terjadi karena multiprogramming menaruh dua (atau lebih) proses di memori pada waktu yang bersamaan.




Entri Populer