os202

OS202

View the Project on GitHub kukuhhafiyyan/os202

WEEK 04

  1. Memory Hierarchy Design

    Dalam Perancangan Sistem Komputer, Memory Hierarchy merupakan penyempurnaan untuk menata memori sedemikian rupa sehingga dapat meminimalkan waktu akses. Hirarki Memori dikembangkan berdasarkan perilaku program yang dikenal sebagai lokalitas referensi. Perancangan Memory Hierarchy biasanya dibagi menjadi dua bagian, yaitu External dan Internal memory. Karakteristik Desain Hierarki Memori dapat disimplukan seagai berikut: a. Capacity b. Access time c. Performance d. Cost per bit Untuk informasi lebih lengkap dari masing-masing point dapat dibaca pada GeeksforGeeks.

  2. RAM Computer Memory

    Akronim RAM berasal dari fakta bahwa data yang disimpan dalam Random Memory Access dapat diakses - seperti namanya - dalam urutan acak apa pun. Dengan kata lain, setiap bit data acak dapat diakses secepat bit lainnya. RAM memiliki memori yang sangat cepat, dapat ditulis dan dibaca, bersifat volatile (sehingga semua data yang disimpan dalam memori RAM akan hilang ketika RAM kehilangan daya). Oleh karena itu, RAM sangat mahal dibandingkan dengan semua jenis memori sekunder dalam hal biaya per gigabyte. Karena biaya RAM yang relatif tinggi dibandingkan dengan jenis memori sekunder, sebagian besar sistem komputer menggunakan memori primer dan sekunder. Data yang diperlukan untuk pemrosesan segera dipindahkan ke RAM yang dapat diakses dan dimodifikasi dengan sangat cepat, sehingga CPU tidak terus menunggu. Saat data tidak lagi diperlukan, data dialihkan ke memori sekunder yang lebih lambat tetapi lebih murah, dan ruang RAM yang telah dibebaskan diisi dengan potongan data berikutnya yang akan digunakan. Terdapat dua tipe RAM, yaitu DRAM dan SRAM. Selengkapnya mengenai RAM, DRAM, dan SRAM dapat dibaca pada Enterprise Storage Forum.

  3. ROM Computer Memory

    ROM adalah singkatan dari read-only memory, dan namanya berasal dari fakta bahwa meskipun data dapat dibaca dari jenis memori komputer ini, data biasanya tidak dapat ditulis padanya. Ini adalah jenis memori komputer yang sangat cepat yang biasanya dipasang di dekat CPU pada motherboard. ROM adalah jenis memori non-volatile, yang berarti bahwa data yang disimpan dalam ROM tetap ada di dalam memori meskipun tidak menerima daya - misalnya saat komputer dimatikan. Dalam pengertian itu, ini mirip dengan memori sekunder, yang digunakan untuk penyimpanan jangka panjang. Saat komputer dihidupkan, CPU dapat mulai membaca informasi yang disimpan dalam ROM tanpa memerlukan driver atau software lainnya untuk membantunya berkomunikasi. ROM biasanya berisi “kode bootstrap” yang merupakan rangkaian instruksi dasar yang perlu dijalankan komputer untuk mengetahui sistem operasi yang disimpan di memori sekunder, dan untuk memuat bagian sistem operasi ke dalam memori primer agar dapat dinyalakan dan siap digunakan. ROM memiliki beberapa tipe, yaitu PROM, EPROM, dan EEPROM. Untuk mengetahui mengenai perbedaan dan kegunaan dari masing-masing jenis ROM, dapat dibaca pada Enterprise Storage Forum.

  4. Secondary Computer Memory

    Secondary Memory mengacu pada perangkat penyimpanan, seperti hard drive dan solid state drive. Ini juga dapat merujuk ke media penyimpanan yang dapat dilepas, seperti USB flash drive, CD, dan DVD. Secondary memory tidak diakses langsung oleh CPU. Data yang diakses dari secondary memory dimuat terlebih dahulu ke dalam RAM dan kemudian dikirim ke prosesor. RAM memainkan peran perantara yang penting, karena memberikan kecepatan akses data yang jauh lebih cepat daripada secondary memory. Dengan memuat program perangkat lunak dan file ke dalam primary memory, komputer dapat memproses data dengan lebih cepat. Meskipun secondary memory jauh lebih lambat daripada primary memory, biasanya ia menawarkan kapasitas penyimpanan yang jauh lebih besar. Misalnya, komputer mungkin memiliki hard drive satu terabyte, tetapi RAM hanya 16 gigabyte. Itu berarti komputer memiliki secondary memory kira-kira 64 kali lebih banyak daripada primary memory. Selain itu, secondary memory bersifat non-volatile, artinya ia menyimpan datanya dengan atau tanpa daya listrik. RAM, di sisi lain, dihapus saat komputer dimatikan atau dihidupkan ulang. Oleh karena itu, secondary memory digunakan untuk menyimpan “data permanen”, seperti sistem operasi, aplikasi, dan file pengguna.

  5. Cache Memory

    Cache memory adalah memori semikonduktor berkecepatan sangat tinggi yang dapat mempercepat CPU. Cache memory bertindak sebagai penyangga antara CPU dan memori utama. Cache memory digunakan untuk menampung bagian-bagian data dan program yang paling sering digunakan oleh CPU. Bagian-bagian data dan program ditransfer dari disk ke cache memory oleh sistem operasi, dari lokasi dimana CPU dapat mengaksesnya. Beberapa kelebihan cache memory adalah cache memory lebih cepat dari main memory, membutuhkan access time yang lebih singkat dari main memory, menyimpan program yang dapat dijalankan dalam waktu singkat, dan menyimpan data untuk penggunaan sementara.

  6. Virtual Memory

    Memori virtual adalah teknik manajemen memori dimana memori sekunder dapat digunakan seolah-olah merupakan bagian dari memori utama. Memori virtual adalah teknik yang sangat umum digunakan dalam sistem operasi (OS) komputer. Memori virtual menggunakan perangkat keras dan perangkat lunak untuk memungkinkan komputer mengatasi kekurangan memori fisik, dengan mentransfer data sementara dari memori akses acak (RAM) ke penyimpanan disk. Intinya, memori virtual memungkinkan komputer untuk memperlakukan memori sekunder seolah-olah itu adalah memori utama. Memori virtual penting untuk meningkatkan kinerja sistem, multitasking, menggunakan program besar dan fleksibilitas. Namun, pengguna tidak boleh terlalu bergantung pada memori virtual, karena penggunaan data virtual jauh lebih lambat daripada penggunaan RAM. Jika OS harus menukar data antara memori virtual dan RAM terlalu sering, ini dapat membuat komputer terasa sangat lambat - ini disebut thrashing. Cara kerja dan tipe-tipe memory virtual dapat dilihat pada Tech Target.

  7. Memory Allocation

    Alokasi memori adalah proses di mana program dan layanan komputer ditugaskan dengan ruang memori fisik atau virtual. Alokasi memori adalah proses mencadangkan sebagian atau seluruh memori komputer untuk eksekusi program dan proses. Alokasi memori dicapai melalui proses yang dikenal sebagai manajemen memori. Pada dasarnya adalah operasi perangkat keras komputer tetapi dikelola melalui sistem operasi dan aplikasi perangkat lunak. Proses alokasi memori sangat mirip dalam manajemen memori fisik dan virtual. Program dan layanan ditetapkan dengan memori khusus sesuai kebutuhan mereka saat dijalankan. Setelah program menyelesaikan operasinya atau tidak aktif, memori dilepaskan dan dialokasikan ke program lain atau digabungkan dalam memori utama. Alokasi memori memiliki 2 tipe utama, yaitu static dan dynamic.

  8. Shared Memory

    Dalam ilmu komputer, shared memory adalah memori yang dapat diakses secara bersamaan oleh beberapa program dengan maksud untuk menyediakan komunikasi di antara mereka atau menghindari salinan yang berlebihan. Shared memory adalah cara yang efisien untuk mengoper data antar program. Bergantung pada konteks, program dapat berjalan pada satu prosesor atau pada beberapa prosesor terpisah. Pada hardware, shared memory mengacu pada blok memori akses acak (RAM) (biasanya besar) yang dapat diakses oleh beberapa unit pemrosesan pusat (CPU) yang berbeda dalam sistem komputer multiprosesor. Pada software, shared memory merupakan metode komunikasi antar proses (IPC), yaitu cara bertukar data antar program yang berjalan pada waktu yang sama. Satu proses akan membuat area dalam RAM yang dapat diakses oleh proses lain atau sebuah metode untuk menghemat ruang memori dengan mengarahkan akses ke apa yang biasanya merupakan salinan dari sepotong data ke satu contoh, dengan menggunakan pemetaan memori virtual atau dengan dukungan eksplisit dari program yang dimaksud. Ini paling sering digunakan untuk perpustakaan bersama dan untuk Jalankan di tempat (XIP).

  9. Non-uniform Memory Access

    Non-Uniform Memory Access (NUMA) adalah desain memori komputer yang digunakan dalam multiprocessing, di mana waktu akses memori bergantung pada lokasi memori relatif terhadap prosesor. Di bawah NUMA, prosesor dapat mengakses memori lokalnya sendiri lebih cepat daripada memori non-lokal (memori lokal ke prosesor lain atau memori bersama antar prosesor). Manfaat NUMA terbatas pada beban kerja tertentu, terutama di server yang datanya sering dikaitkan dengan kuat dengan tugas atau pengguna tertentu. Arsitektur NUMA secara logis mengikuti penskalaan dari arsitektur simetris multiprosesing (SMP). Mereka dikembangkan secara komersial selama 1990-an oleh Unisys, Convex Computer (kemudian Hewlett-Packard), Honeywell Information Systems Italy (HISI) (kemudian Groupe Bull), Silicon Graphics (kemudian Silicon Graphics International), Sequent Computer Systems (kemudian IBM), Data General (nanti EMC), dan Digital (nanti Compaq, lalu HP, sekarang HPE). Teknik yang dikembangkan oleh perusahaan ini kemudian ditampilkan dalam berbagai sistem operasi mirip Unix, dan sampai batas tertentu di Windows NT.

  10. Thrashing

    Dalam ilmu komputer, thrashing terjadi ketika sumber daya memori virtual komputer digunakan secara berlebihan, yang mengarah ke keadaan paging dan halaman yang konstan, sehingga menghambat sebagian besar pemrosesan tingkat aplikasi. Ini menyebabkan kinerja komputer menurun atau runtuh. Situasi ini dapat berlanjut tanpa batas hingga pengguna menutup beberapa aplikasi yang berjalan atau proses aktif membebaskan sumber daya memori virtual tambahan. Setelah menyelesaikan inisialisasi, sebagian besar program beroperasi pada sejumlah kecil kode dan halaman data dibandingkan dengan total memori yang dibutuhkan program. Halaman yang paling sering diakses disebut set kerja. Ketika set kerja adalah persentase kecil dari total jumlah halaman sistem, sistem memori virtual bekerja paling efisien dan jumlah komputasi yang tidak signifikan dihabiskan untuk menyelesaikan kesalahan halaman. Saat set kerja tumbuh, menyelesaikan kesalahan halaman tetap dapat dikelola hingga pertumbuhan mencapai titik kritis. Kemudian kesalahan meningkat secara dramatis dan waktu yang dihabiskan untuk menyelesaikannya melebihi waktu yang dihabiskan untuk komputasi yang harus dilakukan oleh program tersebut. Kondisi ini disebut sebagai thrashing. Thrashing terjadi pada program yang bekerja dengan struktur data yang besar, karena set kerjanya yang besar menyebabkan kesalahan halaman terus-menerus yang secara drastis memperlambat sistem. Kesalahan halaman yang memuaskan mungkin memerlukan halaman yang dikosongkan yang akan segera harus dibaca ulang dari disk.