Meningkatkan Keamanan Sistem Operasi untuk Melindungi Data

Sistem operasi (OS) berperan penting dalam mengelola sumber daya komputer dan menjalankan aplikasi. Oleh karena itu, keamanan OS sangatlah krusial untuk menghindari risiko yang mungkin terjadi pada sistem. Meskipun terdapat berbagai teknologi untuk memperkuat keamanan OS, serangan siber masih sering terjadi. Oleh karena itu, keamanan menjadi perhatian utama organisasi di lingkungan kritis seperti pemerintahan dan sistem militer.

Dalam artikel ini, pentingnya meningkatkan keamanan sistem operasi untuk menjaga integritas, kerahasiaan, dan ketersediaan data ditekankan. Artikel ini membahas sistem operasi yang berfokus pada keamanan dan evaluasi keamanan, yang digunakan dalam lingkungan kritis seperti pemerintahan dan sistem militer. Komponen keamanan perangkat keras juga disoroti. Meskipun penggunaan sistem operasi yang aman tidak sepenuhnya melindungi terhadap semua ancaman dunia maya, hal ini dapat mengurangi dampak kerentanan.

Ada dua jenis sistem operasi yang berfokus pada keamanan, yaitu sistem yang menjamin eksekusi yang aman dari komponen yang berpotensi tidak aman dan sistem yang telah memperoleh sertifikasi dari organisasi audit keamanan eksternal. OS yang menjamin eksekusi aman termasuk QubeOS, Tails OS, dan ReactOS. OS dapat memanfaatkan teknologi seperti modul keamanan perangkat keras (HSM) dan lingkungan eksekusi tepercaya (TEE) untuk meningkatkan keamanan. SELinux adalah solusi berbasis perangkat lunak yang meningkatkan keamanan melalui kebijakan kontrol akses wajib. Contoh OS yang dievaluasi keamanannya mencakup SUSE Linux, Windows 10 Enterprise, dan beberapa versi Red Hat Linux Enterprise. Artikel ini menekankan bahwa serangkaian persyaratan utama untuk OS yang aman bergantung pada kasus penggunaan spesifik.

Penggunaan sistem operasi yang aman sangat penting dalam melindungi aset di lingkungan berisiko tinggi dan pribadi. OS yang dievaluasi keamanannya digunakan di lingkungan kritis seperti pemerintahan dan sistem militer, untuk memastikan persyaratan keamanan terpenuhi. Pergerakan menuju sistem operasi yang lebih aman diperlukan untuk meningkatkan keamanan di sektor-sektor seperti perbankan dan militer. Membuat OS dari awal membutuhkan banyak sumber daya, termasuk pengetahuan, sumber daya manusia, dan waktu. Membeli solusi yang sudah ada lebih baik mengingat kompleksitas tugasnya. OS yang ada telah dikembangkan selama beberapa dekade, dan keamanan telah menjadi perhatian yang signifikan. Fitur keamanan tambahan dapat ditambahkan ke OS yang ada untuk memenuhi kebutuhan spesifik.

Dua tren dalam sistem operasi yang aman adalah penggunaan fitur keamanan dalam sistem operasi yang berfokus pada container karena risiko beberapa aplikasi yang berjalan pada sumber daya bersama, dan pengembangan sistem operasi yang aman untuk kendaraan cerdas guna mencegah komponen yang disusupi membahayakan keseluruhan sistem. Selain itu, terdapat kecenderungan untuk menerapkan lebih banyak komponen keamanan perangkat keras, termasuk HSM, TEEs, dan SELinux, untuk meningkatkan keamanan pada infrastruktur penting dan ponsel pintar.

Sistem operasi yang aman dapat mengurangi dampak kerentanan individu dan meningkatkan keamanan sistem secara keseluruhan. Namun, hal ini hanya merupakan satu langkah saja, dan menggabungkannya dengan teknologi lain serta pelatihan manusia sangatlah penting untuk memberikan perlindungan yang lebih baik terhadap serangan siber.

File System Interface

Di tengah obrolan tentang sistem operasi, berkas menjadi topik yang paling banyak dibahas. Berkas merupakan unit dasar penyimpanan data pada perangkat komputer. Ada beberapa konsep berkas dalam sistem operasi yang harus dipahami, seperti tipe berkas, alamat berkas, dan hak akses berkas.

Selain konsep berkas, terdapat pula metode akses yang berbeda, yaitu cara membuka dan menutup berkas. Beberapa metode akses yang umum digunakan, seperti sequential access, direct access, dan indexed sequential access.

Tidak ketinggalan, struktur disk dan direktori juga memiliki peran penting dalam sistem operasi. Disk digunakan untuk menyimpan berkas, sementara direktori digunakan untuk mengorganisir berkas-berkas di dalam disk. Ada beberapa jenis struktur disk, seperti struktur disk flat dan struktur disk hierarki.

Sebelum dapat menggunakan sistem operasi, pemasangan sistem berkas harus dilakukan terlebih dahulu. Hal ini dilakukan untuk memformat disk dan membuat sistem berkas yang diperlukan untuk menyimpan berkas.

Berbagi berkas juga merupakan hal yang umum dilakukan dalam sistem operasi. Ada beberapa cara untuk berbagi berkas, seperti menggunakan jaringan komputer atau membagikan berkas melalui internet.

Terakhir, perlindungan berkas sangat penting untuk menjaga keamanan data. Perlindungan berkas dilakukan dengan memberikan hak akses tertentu pada berkas, seperti hak baca, tulis, atau hapus. Dengan begitu, hanya orang yang memiliki hak akses tertentu yang dapat mengakses berkas tersebut.

Pada blog kali ini, akan menjelaskan mengenai beberapa hal:

  • Menjelaskan antarmuka sistem file
  • Mendiskusikan tradeoff desain sistem file, termasuk akses metode akses
  • Membahas berbagi berkas, penguncian berkas, dan struktur direktori
  • Menjelajahi perlindungan sistem file

Mengenal konsep File

File adalah ruang alamat logis yang bersebelahan. Jenis file dapat berupa data, program, atau jenis lainnya. Data dapat dibagi menjadi tiga jenis:

  • Numerik
  • Karakter
  • biner.

Sementara itu, program berisi isi yang ditentukan oleh pembuat file. Ada banyak jenis file yang perlu dipertimbangkan, seperti file teks, file sumber, dan file yang dapat dieksekusi.

Oh ya, Berkas digital punya atribut-atribut rahasia yang penting buat kamu tau. Jangan sampai kebingungan, yuk kita intip atribut-atribut berikut:

  • Nama: yang bisa dibaca manusia
  • Pengenal: tag unik yang bikin berkas teridentifikasi di sistem file
  • Jenis: penting buat sistem yang support berbagai jenis file
  • Lokasi: kunci buat nyari berkas di perangkat
  • Ukuran: biar tahu seberapa gede sih berkasnya
  • Perlindungan: atur siapa yang bisa baca, tulis, dan eksekusi berkas
  • Waktu, tanggal, dan identifikasi pengguna: data penting buat keamanan dan monitoring penggunaan

Nah, semua info ini tersimpan dengan rapih di struktur direktori di disk. Ada juga atribut-atribut lain yang lebih canggih, kayak file checksum. Jadi, penting deh buat pahamin semua atribut ini supaya bisa maksimalin penggunaan sistem file!

Bagaimana sih tampilan file info window di Mac OS X?

Tidak lupa dengan abstraksi tipe data yang unik bernama “file” yang hidup di dalam sistem komputer. Ada banyak trik seru yang bisa dilakukan dengan file, antara lain:

  1. Bikin file baru, untuk menghasilkan konten segar
  2. Tulis pada file, untuk menambahkan data pada lokasi tertentu
  3. Baca file, untuk mengintip data pada lokasi yang dituju
  4. Cari file, untuk melacak siapa yang bersarang di dalam file
  5. Hapus file, untuk memotong tautan yang tak berguna
  6. Pindahin isi file, untuk memotong data dari satu lokasi ke lokasi lain
  7. Buru file, untuk mencari struktur direktori pada disk dan menarik isi entri ke memori
  8. Tutup file, untuk mengalihkan isi entri di memori ke struktur direktori pada disk. Mulai berpetualang dengan file, yuk!

Saat membuka file, ada beberapa bagian data yang harus dikelola dengan rapi seperti:

  1. Tabel file terbuka: Biar mudah melacak file yang lagi dibuka.
  2. Penunjuk file: Supaya tau di mana terakhir kali baca/tulis file dilakukan.
  3. Hitungan buka file: Buat ngehitung seberapa sering file dibuka, jadi bisa dihapus dari tabel file terbuka kalau udah ditutup.
  4. Lokasi disk file: Buat ngumpulin informasi akses data.
  5. Hak akses: Buat nyediain mode akses per-proses.

Cara Membuka Berkas yang Terkunci

Kamu bisa mencari fitur ini di berbagai sistem operasi dan sistem file. Konsepnya mirip dengan kunci pembaca-penulis. Ada kunci bersama yang memungkinkan beberapa proses mengakses bersamaan dan kunci eksklusif yang membatasi akses ke berkas tersebut. Hal yang perlu diperhatikan seperti akses tergantung pada jenis kunci yang digunakan dan permintaan akses dan disarankan untuk mengecek status kunci sebelum mengambil tindakan yang tepat.

Contoh file locking- Java API

Jenis-jenis file types beserta nama dan ekstensionnya

Berbagai Struktur File dan Catatan

Struktur file dapat berbeda-beda tergantung pada jenisnya. Beberapa struktur file umum dan catatan yang mungkin Anda temukan adalah sebagai berikut:

Struktur File Sederhana

  • Urutan kata dan byte tidak ada

Struktur Catatan Sederhana

  • Menggunakan garis
  • Panjang tetap atau variabel

Struktur File Kompleks

  • Menggunakan dokumen yang diformat
  • File muat yang dapat direlokasi

Kedua struktur file kompleks tersebut dapat disimulasikan dengan menggunakan metode pertama, yaitu dengan memasukkan karakter kontrol yang sesuai. Tentunya, keputusan untuk menggunakan struktur file tertentu tergantung pada sistem operasi atau program yang digunakan.

Urutan file akses (Sequential-access File)

Alternatif Metode Akses

            Bagaimana sih pendefinisian metode akses? Berikut adalah pendefinisian metode akses:

  • Dapat dibangun di atas metode dasar yang ada
  • Biasanya memerlukan pembuatan indeks untuk berkas
  • Indeks disimpan dalam memori untuk menentukan lokasi data yang akan dioperasikan dengan cepat
  • Pertimbangkan kode UPC beserta data tentang item sebagai contoh
  • Jika indeks terlalu besar, indeks akan disimpan pada disk
  • IBM Sequential Index Access Method (ISAM) adalah contoh metode akses berindeks
  • Terdapat indeks master kecil yang menunjuk ke blok disk sekunder dan indeks sekunder
  • Berkas disimpan dalam urutan kunci yang ditentukan
  • Semua dilakukan oleh sistem operasi
  • Sistem operasi VMS menyediakan opsi indeks dan file relative. Contohnya:

Struktur direktori (Directory Structure)

Jadi ap aitu struktur direktori? Struktur direktori adalah Kumpulan node yang berisi informasi tentang semua file. Bentuknya gimana sih kira-kira?

letak struktur direktori dan file berada di dalam disk.

Pengertian Struktur Disk

Disk adalah perangkat penyimpanan data yang digunakan dalam komputer. Berikut ini adalah beberapa hal yang perlu diketahui terkait struktur disk:

  • Disk dapat dibagi menjadi beberapa partisi.
  • Terdapat opsi untuk melindungi disk atau partisi dengan RAID dari kegagalan.
  • Disk atau partisi dapat digunakan secara mentah, tanpa sistem file, atau diformat dengan sistem file.
  • Partisi juga dikenal sebagai minidisk atau irisan.
  • Volume merupakan entitas yang berisi sistem berkas, yang melacak informasi sistem dalam direktori perangkat atau daftar isi volume.
  • Terdapat berbagai jenis sistem berkas, termasuk sistem berkas tujuan umum dan sistem berkas tujuan khusus yang seringkali terdapat dalam sistem operasi atau komputer yang sama.

Operasi pada Direktori meliputi mencari, membuat, dan menghapus file, membuat daftar direktori, mengganti nama file, serta menelusuri sistem file.

A Typical File-system Organization

Jenis-jenis Sistem Berkas

Meskipun kita sering berbicara tentang sistem berkas tujuan umum, sebenarnya terdapat beberapa jenis sistem berkas yang berbeda, termasuk beberapa sistem berkas umum dan beberapa sistem berkas yang dibuat untuk tujuan khusus.

Sebagai contoh, Solaris memiliki beberapa jenis sistem berkas, seperti:

  • tmpfs: Sistem berkas volatile yang berbasis pada memori untuk I/O yang cepat dan bersifat sementara.
  • objfs: Antarmuka untuk mengakses simbol-simbol kernel dalam memori untuk keperluan debugging.
  • ctfs: Sistem berkas kontrak untuk mengelola daemon.
  • lofs: Sistem berkas loopback yang memungkinkan satu sistem berkas untuk menggantikan yang lain.
  • procfs: Antarmuka kernel untuk memproses struktur.
  • ufs dan zfs: Sistem berkas umum untuk berbagai keperluan.

Membangun Struktur Direktori yang Tepat

Ketika merancang struktur direktori, sebaiknya mempertimbangkan tiga hal berikut untuk memastikan efisiensi:

  1. Efisiensi – memudahkan pengguna menemukan file dengan cepat
  2. Penamaan – gunakan nama yang mudah dipahami dan diingat oleh pengguna
  3. Pengelompokan – kelompokkan file secara logis berdasarkan properti, seperti jenis file atau fungsi

Jangan lupa bahwa dua pengguna dapat memiliki nama file yang sama untuk file yang berbeda, dan satu file dapat memiliki beberapa nama yang berbeda. Dengan memperhatikan hal-hal ini, struktur direktori Anda akan lebih mudah diakses dan digunakan.

Direktori untuk semua Pengguna dengan Satu Tingkat

Satu direktori tunggal untuk semua pengguna

Permasalahan dalam menamai direktori

Permasalahan dalam mengelompokkan direktori

Direktori Dua Tingkat dengan Fitur Pencarian yang Efisien

Berikut adalah rincian tentang fitur direktori dua tingkat:

  • Direktori terpisah tersedia untuk setiap pengguna
  • Nama jalur yang mudah dikenali
  • Dapat memiliki nama file yang sama untuk pengguna yang berbeda
  • Fitur pencarian yang efisien untuk memudahkan pengguna mencari file mereka
  • Sayangnya, tidak ada kemampuan untuk mengelompokkan file.

Direktori Terstruktur Pohon

Meningkatkan Efisiensi Pencarian dan Pengelompokan.

Jika Anda ingin meningkatkan efisiensi pencarian dan pengelompokan, maka struktur pohon direktori terstruktur adalah pilihan yang tepat. Anda dapat dengan mudah pindah ke direktori kerja saat ini dengan perintah ‘cd’, sebagai contoh:
cd /spell/mail/prog

Jangan lupa daftarkan jenis direktori yang Anda miliki untuk memudahkan pengelompokan.

Nama Jalur Absolut atau Relatif

  • Membuat file baru dilakukan di direktori saat ini.
  • Membuat subdirektori baru dilakukan di direktori saat ini.
  • Menghapus file.

Rm <file-name>

  • Menghapus seluruh subdirektori yang di-root oleh direktori tertentu.

Mkdir <dir-name>

Contoh:

  • Jika direktori saat ini adalah /mail.

Mkdir count

  • Menghapus “mail” akan menghapus seluruh subdirektori yang di-root oleh “mail”.

Direktori Grafik Asiklik

Memiliki subdirektori dan file Bersama

Alias Dua Nama yang Berbeda

Jika sebuah daftar pada dict dihapus, maka penunjuk yang tergantung akan ikut terhapus. Untuk mengatasi permasalahan ini, gunakanlah backpointers sehingga semua pointer dapat dihapus. Namun, perlu diingat bahwa ukuran variabel harus dicatat agar tidak menimbulkan masalah.

Menggunakan Organisasi Rantai Daisy

Backpointers dapat menggunakan organisasi rantai daisy untuk mengatasi permasalahan ini. Selain itu, solusi penangguhan entri juga dapat membantu mengatasi masalah ini.

Jenis Entri Direktori Baru

Dalam hal ini, jenis entri direktori baru adalah tautan – yaitu nama lain atau penunjuk ke berkas yang sudah ada. Selesaikan tautan dengan mengikuti penunjuk untuk menemukan file yang dimaksud.

Direktori Graf Umum

Mencegah Siklus dengan Langkah-langkah Berikut

Kami berupaya untuk meminimalkan terjadinya siklus dalam sistem kami. Berikut beberapa tindakan yang kami lakukan:

  • Hanya memperbolehkan tautan ke file, bukan subdirektori
  • Rutin melakukan pengumpulan sampah
  • Setiap kali ada tautan baru yang ditambahkan, kami menggunakan algoritme pendeteksi siklus untuk memastikan bahwa hal tersebut tidak menyebabkan masalah.

Pemasangan Sistem File

Sebelum diakses, sistem berkas harus dipasang terlebih dahulu. Titik pemasangan adalah tempat di mana sistem berkas yang belum dipasang (lihat Gbr. 11-11(b)) akan dipasang.

Mount Point

File Sharing

Berbagi File pada Sistem Multi-Pengguna dengan Perlindungan yang Optimal

Bagi pengguna sistem multi-pengguna, berbagi file secara aman dan terlindungi sangat penting. Salah satu cara untuk melakukannya adalah dengan menggunakan skema perlindungan. Pada sistem terdistribusi, file dapat dibagi pada seluruh jaringan. Salah satu metode berbagi file terdistribusi yang populer adalah Network File System (NFS).

Jika pengguna menggunakan sistem multi-pengguna, mereka harus memperhatikan beberapa hal berikut:

  • ID pengguna: mengidentifikasi pengguna, memungkinkan izin dan proteksi menjadi per-pengguna
  • ID grup: memungkinkan pengguna bergabung dalam grup dan diberikan hak akses sesuai dengan grup tersebut
  • Pemilik file / direktori
  • Kelompok dari sebuah file / direktori

Dengan memperhatikan faktor-faktor ini, pengguna dapat memastikan file yang dibagi aman dan terlindungi di sistem multi-pengguna.

Berbagi Berkas – Sistem Berkas Jarak Jauh

  • Menggunakan jaringan untuk memungkinkan akses sistem file di antara sistem
  • Bisa dilakukan secara manual melalui program seperti FTP
  • Dilakukan secara otomatis dengan menggunakan sistem file terdistribusi yang lancar
  • Melalui world wide web yang semi otomatis
  • Model klien-server memungkinkan klien untuk memasang sistem file jarak jauh dari server
  • Server dapat melayani banyak klien
  • Identifikasi klien dan user-on-client bisa rumit atau tidak aman
  • NFS adalah protokol standar klien-server berbagi berkas UNIX
  • CIFS adalah protokol standar Windows
  • Panggilan file sistem operasi standar diterjemahkan ke dalam panggilan jarak jauh
  • Sistem Informasi Terdistribusi (layanan penamaan terdistribusi) seperti LDAP, DNS, NIS, Active Directory dapat memberikan akses terpadu ke informasi yang diperlukan untuk komputasi jarak jauh.

Mode Kegagalan dalam Berbagi Berkas

Setiap sistem file memiliki mode kegagalan, seperti kerusakan pada struktur direktori atau metadata. Namun, sistem file jarak jauh menambahkan mode kegagalan baru karena terkait dengan kegagalan jaringan atau kegagalan server.

Pemulihan dari kegagalan dapat melibatkan informasi status tentang permintaan jarak jauh. Protokol tanpa status seperti NFS v3 menyertakan semua informasi dalam setiap permintaan, memungkinkan pemulihan yang mudah tetapi keamanannya lebih rendah.

Berbagi File – Konsistensi Semantik

Pertimbangkan cara beberapa pengguna dapat mengakses file secara bersamaan. Ini mirip dengan algoritma sinkronisasi proses Bab 5 dan cenderung tidak terlalu rumit karena latensi I/O disk dan jaringan (untuk sistem berkas jarak jauh).

Andrew File System (AFS) mengimplementasikan file jarak jauh yang kompleks untuk berbagi semantik, sedangkan sistem berkas Unix (UFS) mengimplementasikan penunjuk berkas untuk mengijinkan beberapa pengguna membaca dan menulis secara bersamaan.

Namun, AFS memiliki semantik sesi yang berbeda di mana tulisan hanya dapat dilihat oleh sesi yang dimulai setelah file ditutup.

Perlindungan Berkas

Sebagai pemilik atau pembuat berkas, Anda perlu dapat mengontrol akses terhadap berkas tersebut, termasuk:

  • Jenis akses yang diberikan
  • Pihak yang diberi akses

Jenis akses yang dapat diberikan meliputi:

  • Akses Baca
  • Akses Tulis
  • Akses Jalankan
  • Akses Tambah
  • Akses Hapus
  • Akses Daftar

Akses Daftar dan Grup

Macam-macam mode akses linux adalah baca, tulis, eksekusi

Tiga kelas pengguna di Unix / Linux:

Membuat Grup Baru dengan Akses yang Tepat
Silakan meminta manajer untuk membuat grup baru dengan nama unik dan kode awalan “G”, lalu tambahkan beberapa pengguna ke dalam grup. Untuk file khusus atau subdirektori, pastikan aksesnya telah ditentukan sesuai dengan kebutuhan.

Melampirkan grup ke file

Windows 7 Access-Control List Management

Contoh Daftar Direktori UNIX

Manajemen Memori

Menggali seluk-beluk Manajemen Memori:

  1. Pahami dasar-dasar memori, ikatannya (Binding), Dynamic Loading, Dynamic Linking, dan Overlay.
  2. Bedakan antara alamat logis dan fisik.
  3. Swapping: apa itu dan bagaimana cara kerjanya?
  4. Pelajari alokasi berurutan, apa saja keuntungannya?
  5. Jangan lupa pelajari alokasi tak berurutan dan manfaatnya

Dasar Konsep dalam Memori

  • Memori jadi wadah penyimpanan instruksi/data dari program
  • Memori jadi pusat aktivitas pada PC, karena setiap tindakan yang bakal dijalankan, harus lewat memori dulu dong!
  • Supaya bisa dijalankan, program harus dipindah ke memori dan jadi satu proses.

Dasar-dasar manajemen memori membahas:

  • Pelacakan penggunaan memori (siapa dan seberapa besar)pemilihan program yang akan dimuat ke memori, serta alokasi dan dealokasi memori fisik untuk program atau proses dalam address space.
  • Tugas utama sistem operasi adalah mengatur penempatan banyak proses pada memori, sehingga memori dapat digunakan secara efisien dan dapat memuat banyak proses secara bersamaan.

KONSEP BINDING

  • Sebelum melaju, program berada di dalam disk. Sehingga, ketika program mulai dijalankan, ia butuh tempat khusus dalam memori fisik.
  • Address Binding adalah teknik di mana instruksi dan data (yang awalnya berada di disk sebagai file executable) dicocokkan dengan alamat memori tertentu.
  • Alamat (address) pada program asli biasanya berupa alamat simbolik. Compiler memerlukan pengikatan (binding) antara alamat simbolik dengan alamat relokasi.

Hayo, ngerti gak sih bagaimana Sistem Operasi menempatkan program di memori? Nih, ada beberapa tahapannya: pertama, Kompilasi dan Linking akan menerjemahkan semua simbol data berdasarkan alamat acuan absolut. Selanjutnya, proses relokasi akan memetakan program ke lokasi memori. Kemudian, jika program sudah berada di memori, maka semua alamat lojik dalam program harus dikonversi ke alamat fisik. Ada dua cara nih untuk relokasi alamat, yaitu secara statis yang dilakukan sebelum program dijalankan atau dinamis yang dilakukan pada saat referensi setiap instruksi atau data. Gimana, pada paham kan sekarang?

LODING DINAMIS

  • Dalam loading dinamis, suatu rutin tidak dimuat sampai saat dipanggil. Semua rutin disimpan pada disk sebagai format relocatable load.
  • Mekanisme dasarnya:
  • Program utama dimuat terlebih dahulu dan dijalankan.
  • Ketika suatu rutin memerlukan panggilan ke rutin lain, rutin yang dipanggil diperiksa apakah sudah dimuat. Jika belum, loader linking relocatable dipanggil untuk memuat rutin yang diminta ke memori dan mengubah tabel alamat program yang mencerminkan perubahan tersebut.

Menunda Linking hingga Waktu Eksekusi

Program-program pengguna tidak perlu menyalin library sistem dengan Dynamic Linking. Library sistem digunakan bersama-sama, mengurangi penggunaan ruang memori, sehingga satu rutin library dapat digunakan secara bersama oleh sekelompok proses. Contohnya, DLL Win32, yang menggunakan stub (potongan kode kecil yang menunjukkan cara memuat library jika rutin tidak tersedia saat itu). Ketika stub dijalankan, ia memeriksa apakah rutin tersebut sudah ada dalam memori (diakses oleh proses lain yang berjalan). Jika belum ada, maka rutin tersebut dimuat, dan stub menempatkan dirinya pada alamat rutin dan mengeksekusi rutin tersebut.

Untuk menghidupkan Dynamic Linking, OS memerlukan dukungan tambahan, misalnya:

  • Jika ada proses saling dilindungi di memori utama, maka OS akan mengecek apakah rutin yang diminta berada di luar alamat.
  • Beberapa proses diberikan izin untuk mengakses memori di alamat yang sama.
  • Berkas dynamic linking menggunakan ekstensi .dll, .sys, .drv.

OVERLAY

  • Simpan hanya instruksi dan data yang dibutuhkan pada saat itu saja di memori
  • Overlay digunakan ketika ukuran proses melebihi memori yang diberikan
  • Overlay tidak memerlukan dukungan khusus dari sistem operasi
  • Pengguna dapat menerapkan overlay secara penuh menggunakan struktur file sederhana
  • Sistem operasi memberi tahu hanya jika terdapat masalah I/O yang tidak biasa.

Mari mengintip Sepintas Alamat Ruang Fisik dan Logika

  • Alamat Logika, alias Alamat Virtual, adalah sihir CPU yang menghasilkan alamat
  • Alamat Fisik, sebaliknya, adalah alamat sesungguhnya di memori
  • Namun, perlu sebuah terjemahan (atau transalasi) agar alamat logika dan fisik bisa berbicara satu sama lain
  • Nah, itulah tugas MMU (Memory Management Unit), yang jadi perangkat keras andalan untuk memetakan alamat logika ke fisik.

Dalam pengaturan MMU yang keren ini:

  • Ada alat register yang bisa diatur oleh CPU: setiap tugas punya set data register itu (diunduh ke PCB)
  • Harga dalam basis register / penyesuaian dihitung ke setiap alamat penggunaan tugas ketika dijalankan di memori
  • Program pengguna hanya peduli dengan alamat logika mereka saja

SWAPPING

• Meskipun proses harus berada di memori untuk dieksekusi, tapi proses dapat di swap (tukar) sementara keluar memori ke backing store dan kemudian membawanya kembali ke memori untuk eksekusi lanjutan

• Penukaran dapat terjadi pada lingkungan dengan multiprogramming dengan penjadwalan CPU Round Robin atau Priority.

• Bila waktu kuantum habis atau proses yang datang mempunyai prioritas lebih tinggi, maka memory manager akan mulai swap out proses yang telah selesai atau proses yang yang prioritasnya lebih rendah dan swap in proses lainnya ke memori

Mari mengintip cara kerja si mesin ajaib! Ketika si sistem mengeluarkan sebuah proses, ia akan menukar kembali ke memori yang sama seperti sebelumnya. Tentu saja, untuk menukar memerlukan sebuah backing storage. Ketika si jago CPU memilih untuk mengeksekusi proses, si sistem operasi memanggil dispatcher untuk tampil di panggung. Dispatcher kemudian memeriksa siapakah proses selanjutnya di ready queue, yang ada di memori atau tidak. Jika tidak dan si memori sedang penuh sesak, si dispatcher akan mengganti proses yang ada di dalam memori dan menukarnya dengan calon bintang baru.

Virtual memori adalah trik ajaib yang memungkinkan sistem operasi untuk mengelola lebih banyak proses daripada memori fisik yang ada. Jadi, saat si sistem kehabisan memori, ia bakal meluncurkan beberapa memori ke hard disk. Tapi jangan khawatir, saat si sistem membutuhkan kembali memori yang disimpan di hard disk, ia akan secepat kilat mengembalikannya ke dalam memori fisik.

Teknik ini juga memungkinkan setiap proses memiliki area memori virtual yang unik, sehingga tidak ada perang memori antara mereka. Seru kan? Dengan teknik virtual memori, beberapa proses bahkan dapat berbagi memori dan menghemat memori fisik yang ada!

Namun, seperti keajaiban lainnya, teknik ini memiliki kelemahan. Si sistem bisa jadi lebih lambat karena harus memproses data tambahan. Selain itu, akses ke data pada hard disk juga bisa jadi lebih lambat, yang bisa mempengaruhi performa si sistem.

Mari kita bahas tanggung jawab serius Sistem Operasi dalam mengendalikan sumber daya sistem. Salah satunya adalah pengaturan memori. Ada dua jenis pengalokasian memori, yaitu pengalokasian berurutan untuk yang rapih dan pengalokasian tidak berurutan untuk yang fleksibel.

Alokasi Memori yang Berkelanjutan

Di dalam dunia multiprogramming, memori utama perlu memperuntukkan tempat untuk sistem operasi dan sejumlah proses pengguna. Memori harus mampu menampung kedua-duanya. Agar memori dapat digunakan secara optimal, memori dibagi menjadi dua partisi:

  • Bagian untuk sistem operasi yang berkedudukan tetap di memori.
  • Bagian untuk Proses Pengguna.

Dalam alokasi memori yang berkelanjutan, terdapat dua jenis partisi yang dapat digunakan:

  • Partisi Tunggal (Single Partition)
  • Partisi Banyak (Multiple Partition)

Pada skema keren ini, OS duduk manis di memori bawah dan tugas pengguna diberi tempat duduk di memori atas. Biar aman dari serangan, ada register relokasi dan register limit yang berfungsi. Si register relokasi punya data alamat fisik terendah, sementara si register limit punya rentang alamat logika. Penting banget untuk menjaga keamanan sistem dengan memastikan alamat logika lebih kecil dari register limit.

Mari bahas tentang manajemen alokasi memori yang kontigu.

Alokasi Dengan Partisi Ganda

  • Memori memiliki blok-blok berukuran beragam, tersebar di seluruh memori
  • Proses dialokasikan pada blok kosong yang cukup besar untuk memuatnya

Sistem operasi mengelola informasi terkait alokasi memori, termasuk:

  • Partisi yang telah dialokasikan
  • Partisi yang masih kosong

Contoh alokasi ganda dapat dilihat di sini:

Partisi Banyak (Multiple Partition)

Terdapat 2 skema dalam alokasi Multiple Partition, yaitu:

  • Partisi Ukuran Tetap (MFT)

Memori dibagi menjadi beberapa blok dengan ukuran yang sama. Setiap partisi hanya dapat menampung satu proses. IBM OS/360 menggunakan Multiprogramming with a Fixed Number of Task (MFT) untuk mengimplementasikan skema ini. Namun, MFT memiliki masalah sebagai berikut:

  •  
  • Program bersifat dinamis dalam alokasi dan dealokasi memori
  • Memori yang dialokasikan mungkin lebih besar dari yang diminta, sehingga menyebabkan fragmentasi internal
  • Partisi Ukuran Variabel (MVT)

Memori dibagi berdasarkan permintaan dari proses yang ada. Pengelolaan memori menjadi semakin penting dengan adanya daftar partisi yang digunakan, yang bebas, dan lain-lain. Namun, MVT memiliki masalah sebagai berikut:

  • Terjadi fragmentasi eksternal, yaitu ruang memori yang bebas tidak saling berdekatan
  • Terdapat lubang di antara proses yang tidak dapat digunakan karena proses yang ingin menggunakannya terlalu besar

MVT OS: Strategi Alokasi Memori yang Efektif

Tabel MVT OS menyimpan daftar bagian memori yang tersedia dan yang sedang digunakan. Berikut adalah langkah-langkah dalam strategi alokasi memori MVT OS:

  • Semua memori awalnya tersedia untuk proses pengguna sebagai satu blok besar (large hole).
  • Ketika proses memerlukan memori, sistem akan mencari hole yang cukup untuk proses tersebut.
  • Setelah ditemukan, memory manager akan mengalokasikan sejumlah memori yang dibutuhkan dan menyimpan sisanya untuk permintaan selanjutnya.

Contoh kasus:

  • Tersedia memori 2560 Kb, dengan 400 Kb digunakan untuk OS dan sisanya 2160 Kb digunakan untuk proses pengguna.
  • Terdapat 5 job (P1 s/d P5) pada input queue.
  • Penjadwalan FCFS digunakan untuk memuat job ke memori.
  • Penjadwalan CPU menggunakan Round Robin dengan quantum time = 1 untuk penjadwalan job yang sudah ada di memori.

Dalam MVT, terdapat beberapa hole untuk ukuran yang berbeda. Alokasi memori dinamis dapat dilakukan untuk memenuhi permintaan ukuran n dari hole yang tersedia. Beberapa algoritma yang dapat digunakan antara lain:

  • First Fit: alokasi hole pertama yang memenuhi permintaan.
  • Best Fit: alokasi hole terkecil yang memenuhi permintaan.
  • Worst Fit: alokasi hole terbesar.

Algoritma First Fit dan Best Fit lebih efektif dibandingkan Worst Fit dalam hal menurunkan waktu dan utilitas penyimpanan. First Fit juga lebih cepat dibandingkan dua algoritma lainnya. Namun, pencarian hole harus dilakukan secara keseluruhan, kecuali jika ukuran hole sudah terurut.

Dari beberapa algoritma di atas, First Fit dan Best Fit terbukti lebih unggul dibandingkan Worst Fit dalam mengurangi waktu dan memaksimalkan penggunaan penyimpanan. Tidak hanya itu, First Fit juga terbukti lebih cepat.

Sistem Buddy: Alokasi Memori Keren yang Awet


Sistem Buddy adalah teknik andalan untuk mengelola memori utama yang kerap bermain-main dengan bilangan biner (2^k; k = 0,1,2 …). Contohnya: ketika memori utama memiliki slot raksasa 1 MB dan proses A yang butuh 90 KB ingin bergabung, dia akan diselamatkan ke lokasi terdekat, 128 KB. Kalau slot itu penuh, blok gede 1 MB-nya akan dibagi dua, masing-masing jadi 512 KB. Padahal, sebenarnya kamu tahu, teknik ini bisa jadi lebih keren kalau dibeberapa kasus, namun tak dipungkiri, ia bakal awet dan handal selamanya.

Mengatasi Fragmentasi Internal dan Eksternal

Jangan biarkan lubang-lubang kecil di antara blok-blok memori mengacaukan kinerja sistemmu! Tapi jangan khawatir, ada trik jitu untuk mengatasi masalah ini, yaitu dengan melakukan memori compaction. Caranya adalah dengan menggabungkan semua lubang kecil menjadi satu lubang besar dan memindahkan semua proses agar mereka saling berdampingan. Dengan trik ini, kamu bisa menyingkirkan fragmentasi internal dan eksternal yang mengganggu.

Alokasi Non-Kontigu dalam Paging
Paging merupakan solusi atas masalah fragmentasi eksternal. Memori fisik dibagi menjadi blok-blok dengan ukuran tetap yang disebut “frame”, sedangkan memori logis dibagi menjadi blok-blok dengan ukuran yang sama yang disebut “page”. Untuk menjalankan program yang terdiri dari n page, sistem harus mencari n frame kosong untuk memuat program tersebut. Untuk menerjemahkan alamat logis ke alamat fisik, digunakan tabel halaman (page table) yang berisi alamat basis dari setiap page pada memori fisik. Alamat yang dibangkitkan oleh CPU dibagi menjadi dua bagian: nomor page (p) dan page offset (d). Nomor page digunakan sebagai indeks ke tabel halaman, sedangkan page offset dikombinasikan dengan alamat basis untuk menentukan alamat fisik yang dikirim ke unit memori.4

Yuk, simak fakta-fakta seru mengenai ukuran page:

  • Ukuran page pada PC ditentukan oleh si hardware
  • Ukuran page biasanya adalah bilangan 2 pangkat k, kisaran k antara 9 dan 13
  • Ukuran page normalnya berada di rentang 512 hingga 8192, tergantung dari arsitektur PC yang digunakan.

Segmentasi

Segmen merupakan suatu metode pengaturan memori yang memungkinkan pengguna untuk memvisualisasikan memori tersebut. Setiap segmen diberi nama dan memiliki panjang yang berbeda. Dalam perspektif pengguna, segmentasi mempermudah dalam mengakses memori.

Wahai kawanku, dengarkanlah! Aku akan mengupas habis tentang Segmentasi Alokasi Nonkontigu. Jadi begini, Segmentasi adalah cara kerja memori di mana kita bisa melihat isian memori yang bisa dipakai. Di sini, setiap segmen punya nama dan panjang masing-masing. Jadi kita bisa tahu persis nih berapa memori yang masih bisa digunakan. Keren kan?!

  • Pemotongan wilayah
  • Mainan teknologi:
    • Mengikuti peta alamat fisik dari tabel segmen.
    • Setiap tabel segmen punya base dan limit untuk kawasan tertentu.
  • Dukungan Perangkat Keras:
    • Pemetaan alamat fisik melalui tabel segmen. Setiap tabel segmen memuat base dan limit.

ABOUT ME!

Hai Semua!

Perkenalkan nama saya Naila Yuni Mutiarani biasa dipanggil “Tiara”, saya lahir dan dibesarkan di Kota Pekalongan dan ini adalah pertama kalinya saya akan menghabiskan waktu jauh dari rumah untuk mengejar pendidikan tinggi saya. Saya tumbuh di keluarga yang selalu mendukung pendidikan dan pengembangan diri, dan saya sangat bersyukur atas kesempatan ini.

Mengenai latar belakang pendidikan saya, saya mahasiswa semester baru dan telah memilih jurusan Sistem Informasi di Fakultas Matematika dan Ilmu Pengetahuan Alam di Universitas Negeri Semarang. Saya yakin bahwa studi di jurusan ini akan membuka banyak pintu untuk saya dan membantu saya mencapai impian dan tujuan saya.

Selain belajar, saya juga memiliki minat dalam seni, yang saya harap dapat saya pertahankan selama masa kuliah. Saya percaya bahwa penting untuk menjaga keseimbangan antara akademik dan kehidupan sosial untuk menciptakan suatu pengalaman kuliah.

Jangan ragu untuk mendekati saya jika Anda ingin berkenalan . Saya selalu terbuka untuk berteman dan membicarakan segala hal topik kecuali topik yang sensitif.

Sekali lagi, terima kasih atas kesempatan ini, dan mari kita menjalani masa kuliah ini dengan semangat.

Salam kenal

Skip to toolbar