0

Managemen Memori, Pengelola Alat dan Sistem Berkas

JUDUL                         :           Managemen Memori, Pengelola Alat dan Sistem Berkas
NAMA                          :           Anggi Oktafiandari
NPM                            :           10408065
NAMA DOSEN              :           Puji Sulisworo
Tgl                               :           21 December 2010

I.        Managemen memori
1.1   Pengertian memori
1.2   Swapping
1.3   Alokasi Memori
1.4   Proteksi Memori
1.5   Alokasi Penyimpanan Dinamis
1.6   Fragmentasi
1.6.1          Fragmentasi Ekternal
1.6.2          Fragmentasi Internal
1.7   Linear Address
1.8   Overlays

II.     Manajemen File / Input – Output
2.1   Pengelola alat
2.2   Sistem Berkas
2.2.1          Pengertian Sistem Berkas
2.2.2          File
a.       Pengertian File
b.       Konsep File
2.2.3          Direktori
a.       Manfaatnya
b.       Tugas Sistem File
2.2.4          Data
a.       Reprentasi Data
b.       Klasifikasi Data
c.       Klasifikasi File
2.2.5          Model Akses
a.       Input File
b.       Output File
c.       Input / Output File
2.2.6          Organisasi File
2.2.7          Catatan


I.                  Managemen memori

1.1              Pengertian memori
  Memori adalah salah satu pusat kegiatan pada sebuah komputer, karena setiap proses yang akan dijalankan harus melalui memori terlebih dahulu. CPU mengambil instruksi dari memori sesuai yang ada pada program counter. Instruksi memerlukan proses memasukkan/menyimpan ke alamat di memori.

Tugas sistem operasi adalah mengatur peletakan banyak proses pada suatu memori. Memori harus dapat digunakan dengan baik, sehingga dapat memuat banyak proses dalam suatu waktu. Sebuah proses agar bisa dieksekusi bukan hanya membutuhkan sumber daya dari CPU, tetapi juga harus terletak dalam memori.

1.2              Swapping
  Dalam tahapannya, suatu proses bisa saja ditukar sementara keluar memori ke sebuah penyimpanan sementara dan kemudian dibawa lagi ke memori untuk melanjutkan pengeksekusian. Hal ini dalam sistem operasi disebut swapping.

Contoh Swapping
  Asumsikan sebuah multiprogramming environment dengan penjadwalan CPU Round-Robin. Ketika waktu kuantum habis, pengatur memori akan menukar proses yang telah selesai dan memasukkan proses yang lain ke dalam memori yang sudah bebas. Di saat yang bersamaan, penjadwal CPU akan mengalokasikan waktu untuk proses lain di dalam memori. Ketika waktu kuantum setiap proses sudah habis, proses tersebut akan ditukar dengan proses lain.

  Untuk kondisi ideal, penukaran proses dapat dilakukan dengan cepat sehingga proses akan selalu berada dalam memori dan siap dieksekusi saat penjadwal CPU hendak menjadwal CPU. Hal ini berkaitan dengan CPU utilization. Swapping dapat juga terdapat dalam penjadwalan berbasis prioritas (priority scheduling).

Jika proses dengan prioritas lebih tinggi tiba dan meminta layanan, manajer memori dapat menukar keluar memori proses-proses yang prioritasnya rendah sehingga proses-proses yang prioritasnya lebih tinggi tersebut dapat dieksekusi. Setelah proses-proses yang memiliki prioritas lebih tinggi tersebut selesai dieksekusi, proses-proses dengan prioritas rendah dapat ditukar kembali ke dalam memori dan dilanjutkan eksekusinya. Cara ini disebut juga dengan metoda roll in, roll out.

1.3              Alokasi Memori
Ketika proses yang sebelumnya ditukar, akan dikembalikan ke ruang memori. Ada 2 kemungkinan yang terjadi
  • Pertama, apabila pemberian alamat dilakukan pada waktu pembuatan atau waktu pengambilan, maka proses tersebut pasti akan menempati ruang memori yang sama.
  • Kedua, apabila pemberian alamat diberikan pada waktu eksekusi, ada kemungkinan proses akan dikembalikan ke ruang memori yang berbeda dengan sebelumnya.
Penukaran membutuhkan sebuah penyimpanan sementara. Penyimpanan sementara pada umumnya adalah sebuah fast disk, dan harus cukup untuk menampung salinan dari seluruh gambaran memori untuk semua pengguna, dan harus mendukung akses langsung terhadap gambaran memori tersebut.

Sistem mengatur ready queue yang berisikan semua proses yang gambaran memorinya berada di memori dan siap untuk dijalankan. Saat sebuah penjadwal CPU ingin menjalankan sebuah proses, ia akan memeriksa apakah proses yang mengantri di ready queue tersebut sudah berada di dalam memori tersebut atau belum.

Apabila belum, penjadwal CPU akan melakukan penukaran keluar terhadap proses-proses yang berada di dalam memori sehingga tersedia tempat untuk memasukkan proses yang hendak dieksekusi tersebut. Setelah itu proses yang diinginkan akan dieksekusi.

1.4              Proteksi Memori
Proteksi memori adalah sebuah sistem yang mencegah sebuah proses dari pengambilan memori proses lain yang sedang berjalan pada komputer yang sama dan pada saat yang sama pula. Proteksi memori selalu mempekerjakan hardware (Memori Manajemen Unit/MMU) dan sistem software untuk mengalokasikan memori yang berbeda untuk proses yang berbeda.


Memori utama harus dapat melayani baik sistem operasi maupun proses pengguna. Harus ada alokasi pembagian memori seefisien mungkin. Salah satunya adalah dengan cara alokasi memori berkesinambungan. Alokasi memori berkesinambungan berarti alamat memori diberikan kepada proses secara berurutan dari kecil ke besar.

Keuntungan Alokasi Memori Berkesinambungan:
  1.  Sederhana
  2. Cepat
  3. Mendukung proteksi memori
Sedangkan kerugian dari menggunakan alokasi memori berkesinambungan adalah
Apabila tidak semua proses dialokasikan di waktu yang sama, akan menjadi sangat tidak efektif sehingga mempercepat habisnya memori. Alokasi memori berkesinambungan dapat dilakukan baik menggunakan sistem partisi banyak, maupun menggunakan sistem partisi tunggal.
 
Sistem partisi tunggal berarti alamat memori yang akan dialokasikan untuk proses adalah kelanjutan dari alamat memori proses sebelumnya. Sedangkan sistem partisi banyak berarti sistem operasi menyimpan informasi tentang semua bagian memori yang tersedia untuk dapat diisi oleh proses-proses (disebut lubang / hole).

1.5              Alokasi Penyimpanan Dinamis
Alokasi penyimpanan dinamis, yakni bagaimana memenuhi permintaan sebesar n dari kumpulan lubang-lubang (alokasi untuk proses) yang tersedia.
Ada berbagai solusi untuk mengatasi hal ini, yaitu:
  •  First fit : Mengalokasikan lubang pertama ditemukan yang besarnya mencukupi. Pencarian dimulai dari awal
  •   Best fit : Mengalokasikan lubang dengan besar minimum yang mencukupi permintaan.
  • Worst fit : Mengalokasikan lubang terbesar yang ada
Setiap metoda memiliki kelebihan dan kekurangan masing-masing. Menggunakan best fit dan worst fit berarti kita harus selalu memulai pencarian lubang dari awal, kecuali apabila lubang sudah disusun berdasarkan ukuran.
Metode worst fit akan menghasilkan sisa lubang yang terbesar. Sementara metoda best fit akan menghasilkan sisa lubang yang terkecil.



1.6              Fragmentasi
Fragmentasi adalah munculnya lubang-lubang yang tidak cukup besar untuk menampung permintaan dari proses.  Fragmentasi dapat berupa fragmentasi internal maupun fragmentasi eksternal.


1.6.1        Fragmentasi Ekternal

Fragmentasi ekstern muncul apabila jumlah keseluruhan memori kosong yang tersedia memang mencukupi untuk menampung permintaan tempat dari proses, tetapi letaknya tidak berkesinambungan atau terpecah menjadi beberapa bagian kecil sehingga proses tidak dapat masuk.

Misalnya, sebuah proses meminta ruang memori sebesar 17 KB, sedangkan memori dipartisi menjadi blok-blok yang besarnya masing-masing 5 KB. Maka, yang akan diberikan pada proses adalah 3 blok ditambah 2 KB dari sebuah blok. Sisa blok yang besarnya 3 KB akan disiapkan untuk menampung proses lain atau jika ia bertetangga dengan ruang memori yang kosong, ia akan bergabung dengannya.

Akibatnya dengan sistem partisi banyak dinamis, bisa tercipta lubang-lubang di memori, yaitu ruang memori yang kosong. Keadaan saat lubang-lubang ini tersebar yang masing-masing lubang tersebut tidak ada yang bisa memenuhi kebutuhan proses padahal jumlah dari besarnya lubang tersebut cukup untuk memenuhi kebutuhan proses disebut sebagai fragmentasi ekstern.

Fragmentasi intern muncul apabila jumlah memori yang diberikan oleh penjadwal CPU untuk ditempati proses lebih besar daripada yang diminta proses karena adanya selisih antara permintaan proses dengan alokasi lubang yang sudah ditetapkan.

1.6.2 Fragmentasi Internal

Misalnya ada proses dengan permintaan memori sebesar 17 KB dan memori dipartisi menjadi blok yang masing-masing besarnya 5 KB. Pada sistem partisi banyak tetap, memori yang dialokasikan untuk proses adalah 4 blok, atau sebesar 20 KB. Padahal, yang terpakai hanya 17 KB.

Sisa 3 KB tetap diberikan pada proses tersebut, walaupun tidak dipakai oleh proses tersebut. Hal ini berarti pula proses lain tidak dapat memakainya. Perbedaan memori yang dialokasikan dengan yang diminta inilah yang disebut fragmentasi intern.



1.7              Linear Address
Salah satu jenis alamat memori pada arsitektur mikroprosesor Intel 80×86. Merupakan penghubung antara segmentation unit dan paging unit. 32-bit unsigned integer tunggal yang dapat digunakan untuk pengalamatan hingga 4 GB

Umumnya berupa notasi heksadesimal. Kernel menggunakan bagian awal dari memori yang dimulai dari PAGE_OFFSET. Semua linear address setelah PAGE_OFFSET dapat digunakan untuk memetakan berbagai area memori non-kontigu.Setiap area memori dipisahkan oleh interval sebesar 4-8 KB. Untuk mencari interval linear address dapat dimulai dari PAGE_OFFSET


1.8              Overlays
Overlays berguna untuk memasukkan suatu proses yang membutuhkan memori lebih besar dari yang tersedia. Idenya untuk menjaga agar di dalam memori berisi hanya instruksi dan data yang dibutuhkan dalam satuan waktu. Routine -nya dimasukkan ke memori secara bergantian. ini merupakan skema dari two-Pass Assembler

Sebagai contoh, sebuah two-pass assembler . selama pass1 dibangun sebuah tabel simbol, kemudian selama pass2, akan membuat kode bahasa mesin. kita dapat mempartisi sebuah assembler menjadi kode pass1, kode pass2, dan simbol tabel, dan routine biasa digunakan untuk kedua pass1 dan pass2.

Untuk menempatkan semuanya sekaligus, kita akan membutuhkan 200K memori. Jika hanya 150K yang tersedia, kita tidak dapat menjalankan proses. Bagaimana pun perhatikan bahwa pass1 dan pass2 tidak harus berada di memori pada saat yang sama. Kita mendefinisikan dua overlays . Overlays A untuk pass1, tabel simbol dan routine , overlays 2 untuk simbol tabel, routine , dan pass2.

Kita menambahkan sebuah driver overlays (10K) dan mulai dengan overlays A di memori. Ketika selesai pass1, pindah ke driver , dan membaca overlays B ke dalam memori, menimpa overlays A, dan mengirim kontrol ke pass2. Overlays A butuh hanya 120K, dan B membutuhkan 150K memori. Kita sekarang dapat menjalankan assembler dalam 150K memori. 

Pemanggilan akan lebih cepat, karena lebih sedikit data yang ditransfer sebelum eksekusi dimulai. Jalan program akan lebih lambat, karena ekstra I/O dari kode overlays B melalui overlays A.

Seperti dalam pemanggilan dinamis, overlays tidak membutuhkan bantuan dari sistem operasi. Implementasi dapat dilakukan secara lengkap oleh user dengan berkas struktur yang sederhana, membaca dari berkas ke memori, dan pindah dari memori tersebut, dan mengeksekusi instruksi yang baru dibaca. Sistem operasi hanya memperhatikan jika ada lebih banyak I/O dari biasanya.

Di sisi lain pemrogram harus merancang program dengan struktur overlays yang layak. Tugas ini membutuhkan pengetahuan yang lengkap tentang struktur dari program, kode dan struktur data. Pemakaian dari overlays , dibatasi oleh komputer mikro, dan sistem lain yang mempunyai batasan jumlah memori fisik, dan kurangnya dukungan perangkat keras, untuk teknik yang lebih maju. Teknik otomatis menjalankan program besar dalam dalam jumlah memori fisik yang terbatas, lebih diutamakan.

II.               Manajemen File / Input – Output

2.1 Pengelola Alat

2.2 Sistem Berkas

2.2.1    Pengertian Sistem Berkas
Sistem penyimpanan, pengorganisasian, pengelolaan data pada alat penyimpan eksternal, dengan menggunakan teknik organisasi data tertentu. Merupakan mekanisme penyimpanan on-line serta untuk akses, baik data maupun program yang berada dalam sistem operasi.

Sistem Berkas dan Akses berkaitan dengan bagaimana cara melakukan insert data, update serta reorganisasi data. Terdapat dua bagian penting dalam sistem file, yaitu:
  • kumpulan berkas (file), sebagai tempat penyimpanan data, serta
  • struktur direktori, yang mengatur dan menyediakan informasi mengenai seluruh file dalam sistem.

2.2.2        File
a.                   Pengertian File
Merupakan Abstraksi penyimpanan dan pengambilan informasi di disk. Abstraksi ini membuat pemakai tidak dibebani rincian cara dan letak penyimpanan informasi, serta mekanisme kerja perangkat penyimpan data.
  •  Kumpulan dari record-record yang saling berhubungan.
  • Kumpulan dari statement-statement yang saling berhubungan Kumpulan informasi berkait yang diberi nama dan direkam pada penyimpanan sekunder.


Pandangan pemakai
: pemakai berkepentingan memahami berikut ; penamaan untuk file, tipe file, atribut file, perintah-perintah untuk manipulasi file

Pandangan pemrogram
: selain perlu memahami sebagai pemakai, pemrogram juga perlu memahami, operasi-operasi terhadap file.

Pandangan perancang sistem
: implementasi pengelolaan file

b.                   Konsep FileTerdiri dari nama dan ekstensi nama-nama file
  •  Nama – informasi untuk pengacuan file, disimpan dalam bentuk yg dapat dibaca use
  •  Tipe – diperlukan untuk sistem yang mendukung tipe berbeda
  •  Lokasi – pointer ke lokasi file pada perangkat
  • Size – ukuran file saat ini
  • Proteksi – mengontrol siapa yang bisa membaca, menulis, atau mengeksekusi file
  • Time, date, dan user identification – data untuk proteksi, security, dan monitoring penggunaan

2.2.2        Direktori
a.                   Pengertian Direktori
Berisi informasi mengenai file.Kebanyakan informasi berkaitan dengan penyimpanan.Biasanya dimiliki sistem operasi dan dapat diakses dengan rutin-rutin di sistem operasi
Pandangan pemakai

  • Direktori menyediakan pemetaan nama file ke file. Informasi terpenting pada direktori adalah berkaitan dengan penuimpanan, termasuk lokasi dan ukuran penyimpanan file.
Beberapa konsep penting yang dipahami oleh pemakai:
  •  Hirarki Direktor
  •  Jalur Pengaksesan (path-name)
  • Perintah-perintah memanipulasi direktori

b.                   Manfaatnya
Sebuah sistem file sangat membantu para programmer untuk memungkinkan mereka mengakses file, tanpa memperhatikan detail dari karakteristik dan waktu penyimpanan.
Sistem file ini juga yang mengatur direktori, device access dan buffer.

c.                   Tugas Sistem File
  • Memelihara direktori dari identifikasi file dan lokasi informasi 
  •   Menentukan jalan (pathway) bagi aliran data antara main memory dan alat penyimpanan sekundeR
  •  Mengkoordinasi komunikasi antara CPU dan alat penyimpanan sekunder, dan sebaliknya.
  • Menyiapkan file penggunaan input atau output.
  •  Mengatur file bila penggunaan input atau output telah selesai.
File dan Akses
Sistem penyimpanan, pengelolaan dan penyimpanan data pada alat penyimpanan external.  Pada file dan akses penyimpanan data dilakukan secara fisik.

2.2.3        Data
a.                   Reprentasi Data
  • Logic (Lojik)penggambaran data di level konseptual. : Misal penggambaran data dengan metode E-R, model objek, model semantik, dan lain-lain 
  • Physic (Fisik) penggambaran data di level fisik, bagaimana data direpresentasikan dalam media penyimpanan
b.                   Klaifikasi Data
  • ·Kelompok data tetap : Kelompok data yang tidak mengalami perubahan, paling tidak dalam kurun waktu yang lama.
Contoh ;  Data Pribadi Mahasiswa , Data Mata Kuliah
  • Kelompok data tak tetap : Kelompok data yang secara rutin mengalami perubahan Contoh ; Data Rencana Studi Mahasiswa
  • Kelompok data yang bertambah menurut kurun waktu : Kelompok data ini biasanya merupakan data akumulasi dari kelompok data tetap dan data tak tetap.
Contoh : Master file, Data Transkip, Nilai Semester, Master   Nilai


c.                   Klasifikasi File
  • Jenis Master File
  1. Reference master file 
  • File yang berisi record yang tidak berubah / jarang berubah Contoh : File pelanggan yang berisi field : nomor rekening, nama dan alamat
  • Dynamic master file: File yang berisi record yang terus menerus berubah dalam kurun waktu tertentu atau berdasarkan suatu peristiwa transaksi.
    Contoh : File stock barang, File pemesanan tempat duduk

    Transaction file  (berkas transaksi)
    File yang berisi record-record yang akan memperbaharui / meng-update record-record yg ada pada master file.
Meng-update dapat berupa: penambahan record, penghapusan dan perbaikan record. Report file (berkas laporan)
File yang berisi data yang dibuat untuk laporan atau keperluan user.  File tersebut dapat dicetak pada kertas printer atau hanya ditampilkan dilayar.
  • Work file (berkas kerja): Merupakan file sementara dalam sistem.  Suatu work file merupakan alat untuk melewatkan data yang dibuat oleh sebuah program ke program lain.
  • Program file (berkas program): File yg berisi instruksi-instruksi untuk memproses data yg akan disimpan pada file lain atau pd memori utama.
     Instruksi-instruksi tersebut dapat ditulis dalam bahasa tingkat tinggi (COBOL, FORTRAN, BASIC dll), bahasa assembler dan bahasa mesin.
  • Text file (berkas teks): File yang berisi input data alphanumerik dan grafik yang digunakan oleh sebuah text editor program.  Text file hanya dapat diproses dengan text editor.
  • Dump file (berkas tampung): File yang digunakan untuk tujuan pengamanan (security), mencatat tentang kegiatan peng-update-an, sekumpulan transaksi yang telah diproses atau sebuah program yang mengalami kekeliruan.
  • Library file (berkas pustaka): File yang digunakan untuk penyimpanan program aplikasi, program utilitas atau program lainnya.
  •  History file (berkas sejarah): File ini merupakan tempat akumulasi dari hasil pemrosesan master file dan transaction file.  File ini berisikan data yang selalu bertambah, sehingga file ini terus berkembang, sesuai dengan kegiatan yang terjadi.
2.2.4        Model Akses

a.                   Input File
: File yang hanya dapat dibaca dengan program
Contoh : 1. Transaction file merupakan input file untuk meng-update program
2. Program file dari source code merupakan input file untuk program compiler

b.                 Output File
: File yang hanya dapat ditulis oleh sebuah program / file yang dibuat dengan program.
Contoh : 1. Report file merupakan output dari program yang meng-update master file.
2. Program file yang berupa object code merupakan output file dari program compiler

c.                   Input / Output File
: File yang dapat dibaca dari dan ditulis ke selama eksekusi program
Contoh : Master File dan Work File dengan sort program

2.2.5        Organisasi File
  • Suatu teknik / cara yang digunakan untuk menyatakan / menggambarkan dan menyimpan record-record dalam sebuah file.
  •   Ada 4 teknik dasar organisasi file, yaitu :- Sequential File
    Relatif File
    - Index Sequential File
    - Multi-Key file
  • Secara umum keempat teknik dasar tersebut berbeda dalam cara pengaksesannya, yaitu :
    • Direct Access: Adalah suatu cara pengaksesan record yang langsung, tanpa mengakses seluruh record yang ada.
      Contoh : Magnetic Disk dan Compact Disk  
       
      Sequential Access
      : Adalah suatu cara pengaksesan record, yang didahului pengaksesan record-record di depannya.
      Contoh : Magnetic Tape.

  • Faktor-faktor yang mempengaruhi dalam proses pemilihan organisasi file- Karakteristik dari media penyimpanan yang digunakan
    - Volume dan frekuensi dari transaksi yang diproses
    - Response time yang diperlukan
  • Cara memilih organisasi file tidak terlepas dari 2 aspek utama, yaitu:- Model Penggunaannya
    - Model Operasi File
  •  Cara memilih organisasi file Berdasarkan Model Penggunaannya
Ada 2 cara :
ü                  Batch : Suatu proses yang dilakukan secara group atau kelompok.
ü                  Interactive : Suatu proses yang dilakukan secara satu persatu, yaitu record demi record.
  • Cara memilih organisasi file Berdasarkan Model Operasi File
Menurut operasi file ada 4 cara :
  1. File Creation
  •   Membuat struktur file lebih dahulu, menentukan banyak record baru, kemudian record-record dimuat ke dalam file tersebut.
  • Membuat file dengan cara merekam record demi record.
2.    File Update;
  • Untuk menjaga agar file tetap up to date
  • Insert / Add, Modification, Deletion.
3. File Retrieval;
Pengaksesan sebuah file dengan tujuan untuk mendapatkan informasi.
  • Inquiry : Volume data rendah, model proses interactive.
  • Report Generation : Volume data tinggi, model proses batch.
4.File Maintenance
Perubahan yang dibuat terhadap file dengan tujuan memperbaiki penampilan program dalam mengakses file tersebut.
  •   Restructuring
: Perubahan struktur file.
Misalnya : Panjang field diubah, penambahan field baru, panjang record dirubah.
 
  •  Reorganization
: Perubahan organisasi file dari organisasi yang satu, menjadi organisasi file yang lain.
Misalnya : 1. Dari organisasi file sequential menjadi indeks sequential. 2. Dari direct menjadi sequential.

2.2.6        Catatan
  • Tugas dari system File
  1.  Memelihara direktori dari identifikasi file dan lokasi informasi
  2. Menentukan jalan (pathway) bagi aliran data antara main memory dan alat penyimpan sekunder
  3. Mengkoordinasikan komunikasi antara CPU dan alat penyimpan sekundr dan sebaliknya
  4. Menyiapkan file penggunan input dan output
  5. Menggatur file, bila penggunaan input atau output telah selesai
  •  Model Operasi File :
  1. Untuk Master File dan Program File, kita dapat melakukan Create, Update, Retrieve, dan Maintenance.
  2. Untuk Work File, kita dapat melakukan Create, Update, dan Retrieve, tetapi tidak dapat dilakukan Maintenance.
  3. Untuk Report File, umumnya tidak dilakukan Update, Retrieve, atau Maintenance. 
  4. Untuk Transaction File, umumnya hanya dapat dilakukan Create dan digunakan untuk sekali proses.

Share
 
Copyright © anggiiyoo