Sistem Operasi Pertemuan 15 – 20

Session 15 & 16 : File Management
Pengertian File Management
File system atau manajemen file adalah metode dan struktur data yang digunakan sistem operasi untuk mengatur dan mengorganisir file pada disk atau partisi. File system juga dapat diartikan sebagai partisi atau disk yang digunakan untuk menyimpan file-file dalam cara tertentu. Cara memberi suatu file system ke dalam disk atau partisi dengan cara melakukan Format
Manfaat Manajemen File
Dapat mengurangi resiko kehilangan file yang dikarenakan: terhapus secara tidak disengaja, tertimpa file baru, tersimpan dimana saja dan hal lain yang tidak diinginkan

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 menggunakan penamaan yang mengacu perangkat fisik.
  5. Pada lingkungan sensitif dikehendaki informasi tersimpan aman dan rahasia.
  6. Sistem file harus menyediakan interface user-friendly

Operasi pada file

  • Create : Menciptakan berkas
  • Delete : Menghapus berkasOpen : Membuka berkas untuk menyimpan proses selanjutnya
  • Close : Menutup berkas utuk menyimpan semua informasi ke berkas dan mendealokasikansumber daya yang digunakan
  • Read : Membaca data pada berkas
  • Write : Memodifikasi data pada berkas, yaitu pada posisi yang ditunjuk
  • Append : Menambah data pada berkas, merupakan operasi write yang lebih spesifik, yaitu di akhir berkas
  • Seek : Mencari lokasi tertentu, hanya berlaku untuk berkas akses lacak Get attributes Membaca atribut-atribut berkas, Set attributes Menuliskan (memodifikasi) atribut-atribut berkas
  • Rename : Mengganti nama berkas
Storage

  • Short term : RAM (primary)
  •  Long term : Hard disk (secondary)
Sistem Akses File
Sistem akses merupakan pilihan, yaitu :

  • Dapat menjadi bagian dari sistem operasi atau
  • Sistem operasi sama sekali tidak mempunyai komponen sistem akses.

Cara akses perangkat penyimpanan
Perangkap penyimpanan berdasar disiplin pengaksesan dibagi dua, yaitu:

  • Perangkat akses sekuen (sequential access devices)
  • Perangkat akses acak (random access devices)
  • Perangkat akses sekuen, Proses harus membaca semua byte atau rekord file  secara berturutan mulai dari awal, tidak dapat meloncati dan membaca di luar uraian.
Session 17 & 18 : I/O Management
Sering disebut device manager. Menyediakan device driveryang umum sehingga operasi I/O dapat seragam (membuka, membaca, menulis,menutup). Contoh: pengguna menggunakan operasi yang sama untuk membaca berkas pada perangkat keras, CD-ROM dan floppy disk .Manajemen sistem I/O merupakan aspek perancangan sistem operasi yang terluas disebabkan sangat beragamnya perangkat dan begitu banyaknya aplikasi dari perangkat- perangkat itu.Sistem operasi bertanggung jawab dalam aktivitas yang berhubungan dengan manajemen sistem/perangkatI/O:

  • Mengirim perintah ke perangkat I/O agar menyediakan layanan.
  • Menangani interupsi perangakat I/O .
  • Menangani kesalahan pada perangakat I/O.
  • Menyediakan antarmuka ke pengguna.
Teknik Pengoperasian Perangkat I/O

Pengertian Sistem Input Dan Output Komputer I/O
Pengertian Sistem Input Dan Output Komputer I/O
a. Perangkat I/O terprogram (programmed I/O)
 Merupakan perangkat I/O komputer yang dikontrol oleh program. Contohnya, perintah mesin in, out, move. Perangkat I/O terprogram tidak sesuai, untuk pengalihan data dengan kecepatan tinggi karena dua alasan yaitu:
  • Memerlukan overhead (ongkos) yang tinggi, karena beberapa perintah program harus dieksekusi untuk         setiap kata data yang dialihkan antara peralatan eksternal dengan memori utama.
  • Banyak peralatan periferal kecepatan tinggi memiliki mode operasi sinkron, yaitu pengalihan data dikontrol oleh clock frekuensi tetap, tidak tergantung CPU.
b. Perangkat berkendalikan interupsi (Interrupt I/O)
Interupsi lebih dari sebuah mekanisme sederhana untuk mengkoordinasi pengalihan I/O. Konsep interupsi berguna di dalam sistem operasi dan pada banyak aplikasi kontrol di mana pemrosesan rutin tertentu harus diatur dengan seksama, relatif peristiwa-peristiwa eksternal.
c. DMA (Direct Memory Address)
Merupakan suatu pendekatan alternatif yang digunakan sebagai unit pengaturan khusus yang disediakan untuk memungkinkan pengalihan blok data secara langsung antara peralatan eksternal dan memori utama tanpa intervensi terus menerus oleh CPU.
Evolusi telah terjadi pada sistem komputer. Evolusi antara lain terjadi peningkatan kompleksitas dan kecanggihan komponen-komponen sistem komputer. Evolusi sangat tampak pada fungsi-fungsi I/O, yaitu sebagai berikut:
  • pemroses secara langsung mengendalikan peralatan I/O. Teknik ini masih dilakukan sampai saat ini, yaitu untuk peralatan sederhana yang dikendalikan mikroprosesor untuk menjadi intelligent device.
  • Peralatan dilengkapi pengendali I/O (I/O controller). Pemroses masih menggunakan I/O terprogram tanpa interupsi. Pada tahap ini, pemroses tak perlu memperhatikan rincian-rincian spesifik interface peralatan.
  • Tahap ini sama dengan tahap 2 ditambah fasilitas interupsi. Pemroses tidak perlu menghabiskan waktu untuk menunggu selesainya operasi I/O. Teknik ini meningkatkan efisiensi pemroses.
  • Pengendali I/O diberi kendali memori langsung lewat DMA. Pengendali dapat memindahkan blok data ke atau dari memori tanpa melibatkan pemroses kecuali di awal dan akhir transfer.
  • Pengendali I/O ditingkatkan menjadi pemroses yang terpisah dengan instruksi-instruksi khusus yang ditujukan untuk operasi I/O. Pemroses pusat mengendalikan/memerintahkan pemroses I/O untuk mengeksekusi program I/O yang terdapat di memori utama.
  • Pemroses I/O mengambil dan mengeksekusi instruksi-instruksi ini tanpa intervensi pemroses utama (pusat). Dengan teknik ini dimungkinkan pemroses pusat menspesifikasikan barisan aktivitas I/O dan hanya diinterupsi ketika seluruh barisan telah diselesaikan.
  • Pengendali I/O mempunyai memori lokal yang menjadi miliknya dan komputer juga memiliki memori sendiri. Dengan arsitektur ini, sekumpulan besar peralatan I/O dapat dikendalikan dengan keterlibatan pemroses pusat yang minimum.
Arsitektur ini digunakan untuk pengendalian komunikasi dengan terminalterminal interaksi. Pemroses I/O mengambil alih kebanyakan tugas yang melibatkan pengendalian terminal. Evolusi berlangsung terus, jalur yang dilalui oleh evolusi adalah agar fungsi-fungsi I/O dapat dilakukan lebih banyak dan lebih banyak lagi tanpa keterlibatan pemroses pusat. Pemroses pusat yang tidak disibukkan dengan tugas-tugas yang berhubungan dengan I/O akan meningkatkan kinerja sistem. Tahap 5 & 6 merupakan tahap perubahan utama, yaitu konsep pengendali I/O mampu mengeksekusi program sendiri.
Prinsip-Prinsip Perangkat I/O
Terdapat dua sasaran perancangan perangkat I/O, yaitu:
a. Efisiensi
Merupakan aspek penting karena operasi I/O karena sering menjadi operasi yang menimbulkan bottleneck pada sistem komputer/komputasi.
b. Generalitas (Device-independence)
Selain berkaitan dengan simplisitas dan bebas dari kesalahan diharapkan juga menangani semua gerak peralatan secara beragam. Pernyataan ini diterapkan dari cara proses-proses memandang peralatan I/O dan cara sistem operasi mengelola peralatan-peralatan dan operasi-operasi I/O.
Perangkat lunak diorganisasikan sebagai satu barisan lapisan. Lapisan-lapisan lebih bawah berurusan menyembunyikan kepelikan-kepelikan perangkatkeras. Untuk untuk lapisan-lapisan lebih atas berurusan memberikan interface yang bagus, bersih, nyaman dan seragam ke pemakai.
Masalah-masalah penting yang terdapat dan harus diselesaikan pada perancangan manajemen I/O adalah:
  • Penamaan yang seragam (uniform naming) Nama berkas atau peralatan adalah string atau integer, tidak tergantung pada peralatan sama sekali.
  • Penanganan kesalahan (error handling) Umumnya penanganan kesalahan ditangani sedekat mungkin dengan perangkat keras.
  • Transfer sinkron vs asinkron, Kebanyakan fisik I/O adalah asinkron. Pemroses mulai transfer dan mengabaikannya untuk melakukan kerja lain sampai interupsi tiba. Programprogram pemakai sangat lebih mudah ditulis jika operasi-operasi I/O berorientasi blok. Setelah perintah read, program kemudian secara otomatis ditunda sampai data tersedia di buffer.
  • Shareable vs dedicated Beberapa peralatan dapat dipakai bersama seperti disk, tapi ada juga peralatan yang harus hanya satu pemakai yang dibolehkan memakainya pada satu saat. Contohnya peralata yang harus dedicated misalnya printer.
Session 19 & 20 : Memory Management

Memori adalah pusat dari operasi pada sistem komputer modern, berfungsi sebagai tempat penyimpanan informasi yang harus diatur dan dijaga sebaik-baiknya. Memori adalah array besar dari word atau byte, yang disebut alamat. CPU mengambil instruksi dari memory berdasarkan nilai dari program counter.
Sedangkan manajemen memori adalah suatu kegiatan untuk mengelola memori komputer. 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, 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.
Jenis Memori
• Memori Kerja
– ROM/PROM/EPROM/EEPROM
– RAM
– Cache memory

• Memori Dukung
– Floppy
– Harddisk
– CD

b. Fungsi manajemen memori :
Manajemen memori merupakan salah satu bagian terpenting dalam sistem operasi. Memori perlu dikelola sebaik-baiknya agar :
1. Utilitas CPU meningkat.
2. Data dan instruksi dapat diakses dengan cepat oleh CPU.
3. Tercapai efisiensi dalam pemakaian memori yang terbatas.
4. Transfer data dari/ke memori utama ke/dari CPU dapat lebih efisien.
5. Mengelola informasi yang dipakai dan tidak dipakai.
6. Mengalokasikan memori ke proses yang memerlukan.
7. Mendealokasikan memori dari proses telah selesai.
8. Mengelola swapping atau paging antara memori utama dan disk.

1. Isi Memori
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.

a. Pengikatan Alamat (Address Binding)
Pengikatan alamat adalah cara instruksi dan data (yang berada di disk sebagai file yang dapat dieksekusi) dipetakan ke alamat memori. Sebagian besar sistem memperbolehkan sebuah proses user (user process) untuk meletakkan di sembarang tempat dari memori fisik. Sehingga, meskipun alamat dari komputer dimulai pada 00000, alamat pertama dari proses user tidak perlu harus dimulai 00000. Instruksi pengikatan instruksi dan data ke alamat memori dapat dilakukan pada saat :
o Compile time
Jika lokasi memori diketahui sejak awal, kode absolut dapat dibangkitkan, apabila terjadi perubahan alamat awal harus dilakukan kompilasi ulang.
o Load time
Harus membangkitkan kode relokasi jika lokasi memori tidak diketahui pada saat waktu kompilasi.
o Execution time
Pengikatan ditunda sampai waktu eksekusi jika proses dapat dipindahkan selama eksekusi dari satu segmen memori ke segmen memori lain.

b. Dinamic Loading
Untuk memperoleh utilitas ruang memori, dapat menggunakan dynamic loading. Dengan dynamic loading, sebuah rutin tidak disimpan di memori sampai dipanggil. Semua rutin disimpan pada disk dalam format relocatable load. Mekanisme dari dynamic loading adalah program utama di-load dahulu dan dieksekusi. Bila suatu routine perlu memanggil routine lain, routine yang dipanggil lebih dahulu diperiksa apakah rutin yang dipanggil sudah di-load. Jika tidak, relocatable linking loader dipanggil untuk me-load rutin yg diminta ke memori dan meng-ubah tabel alamat.
Keuntungan dari dynamic loading adalah rutin yang tidak digunakan tidak pernah di-load. Skema ini lebih berguna untuk kode dalam jumlah besar diperlukan untuk menangani kasus-kasus yang jarang terjadi seperti error routine. Dinamic loading tidak memerlukan dukungan khusus dari sistem operasi.

c. Dinamic Linking
Sebagian besar sistem operasi hanya men-support static linking, dimana sistem library language diperlakukan seperti obyek modul yang lain dan dikombinasikan dengan loader ke dalam binary program image. Dinamic linking biasanya digunakan dengan sistem library, seperti language subroutine library. Tanpa fasilitas ini, semua program pada sistem perlu mempunyai copy dari library language di dalam executable image. Bagaimanapun, tidak seperti dynamic loading, dynamic linking membutuhkan beberapa dukungan dari sistem operasi

d. Overlay
Sebuah proses dapat lebih besar daripada jumlah memori yang dialokasikan untuk proses, teknik overlay biasanya digunakan untuk kasus ini. Teknik Overlay biasanya digunakan untuk memungkinkan sebuah proses mempunyai jumlah yang lebih besar dari memori fisik daripada alokasi memori yang diperuntukkan. Overlay tidak membutuhkan dukungan khusus dari sistem operasi. User dapat mengimplementasikannya secara lengkap menggunakan struktur file sederhana, membaca dari file ke memori dan meloncat ke memori dan mengeksekusi instruksi read yang lebih baru.

2. Ruang Alamat Logika Dan Ruang Alamat Fisik
Alamat yang dibangkitkan oleh CPU disebut alamat logika (logical address) dimana alamat terlihat sebagai uni memory yang disebut alamat fisik (physical address). Tujuan utama manajemen memori adalah konsep meletakkan ruang alamat logika ke ruang alamat fisik. Hasil skema waktu kompilasi dan waktu pengikatan alamat pada alamat logika dan alamat memori adalah sama. Tetapi hasil skema waktu pengikatan alamat waktu eksekusi berbeda. dalam hal ini, alamat logika disebut dengan alamat maya (virtual address). Himpunan dari semua alamat logika yang dibangkitkan oleh program disebut dengan ruang alamat logika (logical address space); himpunan dari semua alamat fisik yang berhubungan dengan alamat logika disebut dengan ruang alamat fisik (physical address space). Memory Manajement Unit (MMU) adalah perangkat keras yang memetakan alamat virtual ke alamat fisik. Pada skema MMU, nilai register relokasi ditambahkan ke setiap alamat yang dibangkitkan oleh proses user pada waktu dikirim ke memori.


3. Swapping
Swapping merupakan pemindahan proses dari memori utama ke disk dan kembali lagi. Sebuah proses harus berada di memori untuk dieksekusi. Proses juga dapat ditukar (swap) sementara keluar memori ke backing store dan kemudian dibawa kembali ke memori untuk melanjutkan eksekusi. Backing store berupa disk besar dengan kecepatan tinggi yang cukup untuk meletakkan copy dari semua memory image untuk semua user, sistem juga harus menyediakan akses langsung ke memory image tersebut.

4. Alokasi Berurutan
Memori utama biasanya dibagi ke dalam dua partisi yaitu untuk
o Sistem operasi biasanya diletakkan pada alamat memori rendah dengan vektor interupsi
o Proses user yang diletakkan pada alamat memori tinggi.
Alokasi proses user pada memori berupa single partition allocation atau multiple partition allocation.

a. Single Partition Allocation
Pada single partition allocation diasumsikan sistem operasi ditempatkan di memori rendah dan proses user dieksekusi di memori tinggi. Kode dan data sistem operasi harus diproteksi dari perubahan tak terduga oleh user proses.

b. Multiple Partition Allocation
Pada multiple partition allocation, mengijinkan memori user dialokasikan untuk proses yang berbeda yang berada di antrian input (input queue) yang menunggu dibawa ke memori. Terdapat dua skema yaitu partisi tetap (fixed partition) dimana memori dibagi dalam sejumlah partisi tetap dan setiap partisi berisi tepat satu proses. Jumlah partisi terbatas pada tingkat multiprogramming. Digunakan oleh IBM OS/360 yang disebut Multiprogramming with a Fixed number of Task (MFT). Skema yang kedua adalah partisi dinamis (variable partition) merupakan MFT yang digeneralisasi yang disebut Multiprogramming with a Variable number of Tasks (MVT).

c. Fragmentasi
Fragmentasi Eksternal terjadi pada situasi dimana terdapat cukup ruang memori total untuk memenuhi permintaan, tetapi tidak dapat langsung dialokasikan karena tidak berurutan. Fragmentasi eksternal dilakukan pada algoritma alokasi dinamis, terutama strategi first-fit dan best-fit. Fragmentasi Internal terjadi pada situasi dimana memori yang dialokasikan lebih besar dari pada memori yang diminta tetapi untuk satu partisi tertentu hanya berukuran kecil sehingga tidak digunakan.


5. Paging
a. Konsep Dasar Paging
Paging merupakan kemungkinan solusi untuk permasalahan fragmentasi eksternal dimana ruang alamat logika tidak berurutan; mengijinkan sebuah proses dialokasikan pada memori fisik yang terakhir tersedia. Memori fisik dibagi ke dalam blok-blok ukuran tetap yang disebut frame.

b. Implementasi Sistem Paging
Setiap sistem operasi mempunyai metode sendiri untuk menyimpan tabel page. Beberapa sistem operasi mengalokasikan sebuah tabel page untuk setiap proses. Pointer ke tabel page disimpan dengan nilai register lainnya dari PCB. Pada dasarnya terdapat 3 metode yang berbeda untuk implementasi tabel page :
• Tabel page diimplementasikan sebagai kumpulan dari “dedicated” register.
Register berupa rangkaian logika berkecepatan sangat tinggi untuk efisiensi translasi alamat paging.
• Tabel page disimpan pada main memori dan menggunakan page table base registe” (PTBR) untuk menunjuk ke tabel page yang disimpan di main memori. Penggunakan memori untuk mengimplementasikan tabel page akan memungkinkan tabel page sangat besar (sekitar 1 juta entry).
• Menggunakan perangkat keras cache yang khusus, kecil dan cepat yang disebut associative register atau translation look-aside buffers (TLBs). Merupakan solusi standar untuk permasalahan penggunaan memori untuk implementasi tabel page.

c. Proteksi
Pada model page, proteksi memori menggunakan bit proteksi yang diasosiasikan untuk setiap frame. Biasanya bit proteksi disimpan pada tabel page. Satu bit mendifinisikan satu page untuk “read and write” atau “read-only”. Setiap acuan ke memori melalui tabel page untuk menemukan nomor frame yang benar. Level proteksi yang lebih baik dapat dicapai dengan menambah jumlah bit yang digunakan.

d. Multilevel Paging
Model multilevel paging digunakan pada sistem yang mempunyai ruang alamat logika yang sangat besar yaitu antara 232 s/d 264. Pada sistem ini, tabel page akan menjadi sangat besar. Misalnya untuk sistem dengan ruang alamat logika 32 bit dan ukuran page 4K byte, maka tabel page berisi 1 juta entry (232 / 212). Solusinya yaitu dengan melakukan partisi tabel ke beberapa beberapa bagian yang lebih kecil.

e. Shared Page
Pada skema paging, dimungkinkan untuk sharing kode umum. Bentuk ini penting terutama pada lingkungan time sharing. Satu copy read-only dibagi ke beberapa proses (misalnya editor teks, compiler dan sistem window). Kode yang dibagi harus berada pada lokasi ruang alamat logika yang sama untuk semua proses.


6. Segmentasi
Segmentasi adalah skema manajemen memori yang memungkinkan user untuk melihat memori tersebut. Ruang alamat logika adalah kumpulan segmen. Setiap segmen mempunyai nama dan panjang. Spesifikasi alamat berupa nama segmen dan offset. Segment diberi nomor dan disebut dengan nomor segmen (bukan nama segmen) atau segment number. Segmen dibentuk secara otomatis oleh compiler.

a. Konsep Dasar Segmentasi
Konsep segmentasi adalah user atau programmer tidak memikirkan sejumlah rutin program yang dipetakan ke main memori sebagai array linier dalam byte tetapi memori dilihat sebagai kumpulan segmen dengan ukuran berbeda-beda, tidak perlu berurutan diantara segment tersebut. Sebuah program adalah kumpulan segmen. Suatu segmen adalah unit logika seperti program utama, prosedur, fungsi, metode, obyek, variabel lokal, variabel global, blok umum, stack, tabel simbol, array dan lain-lain
.
b. Arsitektur Segmentasi
Alamat logika terdiri dari dua bagian yaitu nomor segmen (s) dan offset (d) yang dituliskan dengan .
Pemetaan alamat logika ke alamat fisik menggunakan tabel segmen (segment table), terdiri dari :
o Segmen basis (base) berisi alamat fisik awal
o Segmen limit merupakan panjang segmen Seperti tabel page, tabel segmen dapat berupa register atau memori berkecepatan tinggi.
o Segment-table base register (STBR) digunakan untuk menyimpan alamat yang menunjuk ke segment table.
o Segment-table length register (STLR) digunakan untuk menyimpan nilai jumlah segmen yang digunakan program.
o Untuk alamat logika (s, d), pertama diperiksa apakah segment number s legal (s < STLR), kemudian tambahkan segment number ke STBR, alamat hasil (STBR + s) ke memori dari segment table.

c. Proteksi dan Sharing
Proteksi bit dapat diletakkan pada tabel segmen. Segmen instruksi dapat diproteksi sebagai segmen read-only atau execute only, segmen data dapat diproteksi sebagai segmen read-write. Pemetaan pada perangkat keras memory akan memeriksa bit proteksi untuk mencegah akses yang illegal.

www.binus.ac.id
www.skyconnectiva.com
This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *