Operating Systems 2021-2 Genap

Bahan bacaan W01

  1. Virtual Machine (ID)
    Blog ini menjelaskan virtual machine kepada pemula dengan jelas dan detail. Blog ini memberikan definisi, cara kerja, fungsi, proses and system virtual machine serta memberi tahu virtual machine yang populer digunakan.

  2. File OVA
    Situs ini menjelaskan tahapan penggunaan file OVA dan menjelaskannya.

  3. os4diss vslm
    Situs OS untuk semester ini. Memiliki tutorial yang sangat lengkap untuk pengerjaan.

  4. Linux Explained
    Video yang bagus dalam menjelaskan Linux.

Bahan bacaan W02

  1. SHA-256 Algorithm
    SHA-256 adalah algoritma enkripsi untuk mengamankan data.

  2. Public Key and Private Key
    Public key dan private key adalah key berpasangan yang digunakan untuk enkripsi dan dekripsi secara asimetrik. Saat private key enkripsi data, public key dekripsi data.

  3. Nano
    Nano adalah editor di linux yang cukup user-friendly untuk pemula. Tampilan Nano mirip dengan notepad/vscode pada Windows.

  4. Tentang Vim
    Vim adalah open source text editor yang digunakan di semua platform Linux. Vim lebih unggul dari Nano karena Vim dapat digunakan di semua software, namun Nano belom tentu bisa.

Bahan bacaan W03

  1. File-System Interface
    Buku OS chapter File-system interface memiliki informasi yang lengkap untuk memahami materi file system interface.

  2. Linux File System
    Ada banyak hal mengenai linux file system di situs ini. Dari partisi, booting dengan BIOS dan UEFI, tipe tipe linux file system dan lainnya.

  3. Mounting
    Mounting adalah proses mengaitkan sebuah sistem berkas yang baru ditemukan pada sebuah piranti/perangkat ke struktur direktori utama yang sedang dipakai.

  4. Linux - Tarballs, Archive and Compress Folders (tar)
    Pengertian dan langkah untuk melakukan proses tar seperti archive, compress, dan extract.

Bahan bacaan W04

  1. What Is Little-Endian And Big-Endian Byte Ordering?
    Pada dasarnya komputer menyimpan data dengan format biner. Endian adalah formatting lokasi byte byte pada data ini. Little Endian adalah LSB, Big Endian adalah MSB..

  2. Pointers and Memory
    Laman ini menjelaskan pointers dan memory dari dasarnya sampai implementasinya di bahasa pemrograman.

  3. Bagaimana virtual memory ditranslasikan ke physical memory
    Memori adalah salah satu sumber daya host yang paling penting. Agar beban kerja dapat mengakses memori sistem global, kita perlu memastikan alamat memori virtual dipetakan ke alamat fisik. Ada beberapa komponen yang bekerja sama untuk melakukan terjemahan ini seefisien mungkin. Posting blog ini akan membahas dasar-dasar tentang bagaimana alamat memori virtual diterjemahkan.

  4. Linux Job Control Commands
    Situs web menjelaskan tentang perintah kontrol pekerjaan linux. Misalnya bg, pekerjaan, Ctrl-Z. Ini adalah topik yang menarik karena merupakan antarmuka pengguna langsung ke Sistem Operasi.

  5. Paging File
    Paging file is actually an act of moving a data mapping from your actual memory into your virtual one.

  6. Malloc, Calloc, Realloc - Locs These are all memory allocations, periodt… Haha just kidding, either way they are really These are memory allocations. In C language, we’ve got 3 main functions to allocate some of our memories.Those are malloc(), calloc(), and realloc(). Malloc() receives some parameters on how many bytes do we want to allocated, etc.

  7. File yang Dapat Dieksekusi
    Tautan ini terutama tentang jenis file yang dapat dieksekusi. File yang dapat dieksekusi berisi kode yang dijalankan saat file dibuka. Tautan ini terutama tentang jenis file yang dapat dieksekusi ini, dll.

  8. Variabel Lokal vs Global
    Ada dua jenis variabel, yang global dan yang lokal. Website ini berisi banyak tentang perbedaan antara variabel lokal dan global.

Bahan Bacaan W05

  1. Apa itu Memori Virtual
    Jika Anda bertanya-tanya apa sebenarnya memori virtual, tautan ini cocok untuk Anda.

  2. Di mana VM Ada?
    Sebenarnya apa yang kita tidak lihat secara material. Seperti yang tersirat dari kata itu, itu adalah virtual.

  3. Pilihan pengalokasi memori
    Ada slab, slub, dan slob adalah pengalokasi memori yang tersedia di linux. Bagaimana Anda memilih di antara mereka bertiga? Apakah Anda hanya secara acak memilih satu pengalokasi dan melanjutkan hidup? Saya tidak berpikir begitu. Dalam posting ini Anda akan belajar lebih banyak tentang pengalokasi.

  4. Algoritme penggantian halaman
    Video ini akan menjelaskan banyak tentang algoritma penggantian halaman. Anda harus menonton video ini jika Anda tertarik dengan algoritme secara umum.

  5. Macam memori
    Ada banyak jenis memori. Ada DRAM, SRAM, cache, dll. Jenisnya banyak tapi fungsinya sama semua.

  6. Thrashing
    Thrashing itu adalah kondisi di mana suatu program membutuhkan beberapa ruang ekstra yang lebih besar dari RAM atau ketika semua RAM ditempati oleh program lain, maka sistem akan mencoba mengalokasikan beberapa ruang ekstra dari memori sekunder dan itu akan berperilaku seperti utama Penyimpanan.

  7. Proses Alokasi Global Frame vs Lokal Frame
    Video ini membantu dalam mempelajari lebih lanjut tentang proses alokasi frame global dan lokal.

  8. Puppy linux
    Seberapa rendah kita bisa me-reboot memori? Puppy linux terkait dengan topik itu.

  9. Vfork
    Ini adalah dokumentasi linux dari vfork dan cara menggunakannya. Disebutkan di OSC bab 10, cukup menarik dan terkait dengan topik kita selanjutnya di bawah ini, jadi Anda harus membaca yang ini terlebih dahulu.

  10. Fork vs vfork
    Kita sudah belajar tentang fork dan vfork. Sekarang apa perbedaan antara keduanya? Pada artikel ini Anda akan mengetahui tentang perbedaan antara fork dan vfork dan cara menggunakannya.

Bahan Bacaan W06

  1. Multithreading
    Video ini adalah tentang bagaimana multithreading benar-benar bekerja. Dijelaskan oleh dosen terkemuka Dr. Steve dari University of Nottingham, Inggris. Video tersebut memberi tahu kita lebih banyak tentang cara kerja multithreading dalam bahasa C juga bagaimana bahasa tingkat mesin melihatnya.

  2. exec() VS fork()
    Jika Anda sudah mencoba Demo W06, Anda akan menemukan exec dan fork, jadi saya sarankan Anda mencoba demo terlebih dahulu sebelum melanjutkan. Oke, jadi pada dasarnya panggilan sistem fork() digunakan ketika kita ingin membuat proses duplikat file yang terpisah sementara exec() dipanggil setiap kali kita perlu mengganti seluruh proses (termasuk utas) dari sebuah program di exec parameter. Ada beberapa perbedaan juga yang akan dibahas dalam video di atas.

  3. Penjadwalan Proses CPU
    Topik ini menyentuh kembali ke subjek manajemen memori, yah. Ada prinsip FIFO dan LIFO yang akan dikelola oleh FCFS, Round Robin, SRTF, dan SJF. Contohnya dalam kehidupan nyata adalah: Ketika Anda pergi ke bioskop, Anda harus mengantri untuk mendapatkan tiket. Kasir akan melayani yang pertama datang, dll. Mulai dari sini, algoritme dipilih berdasarkan kondisi manajemen ini, apakah Anda ingin menyajikan data pertama yang keluar atau yang terakhir.

  4. Konkurensi vs Paralelisme
    Video ini menceritakan banyak tentang perbedaan antara konkurensi dan paralelisme, kapan menggunakannya dan bahkan menyertakan beberapa contoh pada keduanya.

  5. Thread vs Proses
    Kami telah belajar tentang threading dan proses. Sekarang kita akan membahas lebih lanjut tentang perbedaan antara thread dan proses. Proses berarti program apa pun sedang dieksekusi sementara utas hanya proses dari beberapa program. Tautan ini akan memberi tahu Anda lebih banyak tentang perbedaan semacam itu antara proses dan thread.

  6. Multitask, Multithread, Multiprocess?
    Masih terkait dengan topik sebelumnya, sekarang kita akan membahas tentang multitasking, multithreading, dan multiprocessing serta perbedaan dari ketiganya.

  7. Kelebihan dan Kekurangan Multithreading
    Tautan di atas adalah tentang kelebihan dan kekurangan menggunakan program multithreaded. Misalnya, ketika menggunakan multithreading pada suatu aplikasi, tentu akan meningkatkan kinerja dan konkurensi program tetapi juga akan sulit untuk menerapkan TDD (Test Driven Development) pada program karena akan sulit untuk menguji program.

  8. pipe() Panggilan Sistem
    Sekarang kita beralih ke multiprocessing. Dalam multiprocessing, bagaimana kita berkomunikasi antara dua proses? Jawaban sederhananya adalah dengan menggunakan pipe() System call. Ini menggunakan file simpan yang dirujuk dengan deskriptor file. Saat menggunakan system call pipe(), kita melewatkan array integer dengan ukuran 2 di mana indeks 0 bertindak sebagai deskriptor file untuk membaca, sedangkan indeks 1 bertindak sebagai deskriptor untuk menulis.

  9. Kumpulan Utas
    Ini terkait dengan konkurensi, terutama jika Anda pernah bekerja dengan Java sebelumnya, maka Anda pasti pernah melihat ini ketika mengalami kesalahan mockito. Cukup menarik, kumpulan thread adalah salah satu solusi untuk masalah ini.

  10. Keadaan proses yang berbeda
    Ada negara yang berbeda dalam satu proses. Misalnya, dengan fungsi wait() (dengan asumsi Anda sudah memahaminya), kami menempatkan proses pada status diblokir agar tidak berjalan. Ada dua proses dalam contoh itu yang diblokir dan berjalan. Tentu saja ada status lain selain dari keduanya yang akan dicakup oleh tautan di atas. Tautan bertindak sebagai lembar contekan ketika Anda menemukan sesuatu yang terkait dengan status pemrosesan.

Bahan Bacaan W07

  1. Algoritma Banker
    Artikel ini adalah tentang algoritma bankir yang saya temukan dengan menelusuri rekomendasi teman saya. Ini pada dasarnya adalah anak poster multithreading dari google.
  2. Deadlock?
    Apa itu kebuntuan basis data? saya telah melihat istilah ini ketika saya membaca sekilas materi minggu 07. Saya mencari melalui internet, dan saya menemukan dokumentasi ini di Oracle tentang apa itu kebuntuan. Hal yang cukup penting untuk dibahas menurut saya.
  3. Deadlock vs Starvation?
    Apa perbedaan antara kebuntuan dan kelaparan? Secara summarization, pada dasarnya deadlock muncul ketika setiap proses menahan resource dan menunggu resource lain dipegang oleh proses lain, sedangkan starvation adalah masalah yang terjadi ketika proses berprioritas tinggi terus dieksekusi dan proses berprioritas rendah terus diblokir tanpa batas. Untuk informasi lebih lanjut, Anda dapat memeriksa tautan di atas
  4. Pemulihan dan deteksi deadlock
    Ini adalah cara untuk memecahkan masalah. Kita bisa membuat algoritme, tetapi seolah-olah kita sedang mencoba menjalankan proses sistem operasi yang rusak dan sebagainya. Ini mungkin berhasil, tetapi tidak seperti yang dimaksudkan. Dengan demikian kita dapat mengatakan bahwa pada akhirnya cara terbaik untuk mencegah dan memecahkan masalah kebuntuan adalah dengan me-reboot mesin.
  5. Kernel Linux Preemptive!
    Apa artinya?? Nah, secara historis selama kernel linux versi 2.5.4, itu tidak preemptive. Artinya, proses yang berjalan dalam mode kernel tidak dapat dipindahkan dari prosesor sampai proses itu sendiri meninggalkan prosesor atau mulai menunggu beberapa operasi input output selesai. Jadi pada dasarnya preemptiveness adalah apa yang memungkinkan hal-hal yang saya sebutkan sebelumnya.
  6. Semaphore?
    Apa itu semafor? apa fungsinya? Kita mungkin tahu semaphore dari boyscouts, tapi apakah sama? Video ini akan menjelaskan lebih lanjut tentang hubungan antara keduanya. Ini sebenarnya tentang pemecahan masalah sinkronisasi.
  7. Semaphore vs Mutex
    Video ini menjelaskan banyak tentang perbedaan antara mutex dan semaphore dan kapan menggunakannya. Keduanya adalah mekanisme penguncian pada sumber daya. Perbedaan antara keduanya jika kita harus menyimpulkan bahwa mutex jauh lebih sederhana dibandingkan dengan mekanisme semaphore. Lebih lanjut akan dijelaskan melalui video.
  8. Masalah Filsuf Makan
    Masalah filsuf makan adalah masalah klasik sinkronisasi. Lima filsuf duduk mengelilingi meja bundar dan tugas mereka adalah berpikir dan makan secara bergantian. Semangkuk makanan diletakkan di tengah meja bersama dengan 5 pasang sumpit untuk mereka makan. Untuk makan mereka membutuhkan sumpit kanan dan kiri. Jika sumpit kiri dan kanan langsung tidak tersedia, maka para filsuf meletakkan sumpit mereka untuk memikirkan kembali. Ini adalah masalah sinkronisasi yang akan dibahas dalam tautan di atas.
  9. Masalah Peterson
    Apa masalah peterson? Solusinya menyediakan algoritma yang baik dalam memecahkan masalah bagian kritis dan mengilustrasikan beberapa kompleksitas yang terlibat dalam merancang perangkat lunak yang memenuhi persyaratan pengecualian bersama, dll. Buka artikel untuk info lebih lanjut.
  10. Ketentuan Balapan
    Apa itu kondisi balapan? Anda akan melihat ini dalam pemrograman sebelumnya. Singkatnya, ini adalah masalah yang terjadi ketika ada 2 atau lebih program yang mengakses atau memodifikasi satu data secara bersamaan. Bagaimana itu terjadi dan bagaimana menanganinya akan dibahas dalam video ini.

Bahan Bacaan W08

  1. Antrian multi level dan antrean masukan
    Pernah bertanya-tanya tentang antrian multi level dan antrian umpan balik multi level? Ini adalah waktu yang tepat untuk menonton video di atas. Video ini akan menjelaskan lebih lanjut tentang antrian multi level dan antrian umpan balik multi level secara lebih rinci.
  2. Speedrunning LFS
    Sekali lagi saya kembali dengan topik baru tentang speedrunning. Kali ini tentang LFS speedrun. Ini adalah topik cheat untuk jujur. Konsep tersebut menyoroti salah satu fitur komunitas linux. Link ini akan menjelaskan lebih lanjut tentang LFS speedrunning.
  3. Penjadwal Linux
    Linux memiliki hal yang disebut scheduler. Pada dasarnya di linux, jika Anda memiliki banyak utas, penyelesaian yang dilakukan melalui aktivitas kernel akan menghasilkan solusi bebas balapan. Salah satu solusinya adalah dengan memanfaatkan penjadwal linux, untuk informasi lebih lanjut tentang topik itu, tautan dokumentasi ini akan menyediakan lebih banyak.
  4. Preemptive vs Non-Preemptive?
    Topik ini akan membahas lebih lanjut tentang perbedaan antara penjadwal preemptive dan penjadwal non-preemptive. Pada dasarnya yang preemptive adalah metode di mana tugas ditugaskan di samping prioritas mereka, dan dieksekusi berdasarkan prioritas mereka. Lebih banyak akan dibahas oleh tautan di atas.
  5. Dispatcher dan Penjadwal
    Penjadwal adalah perangkat lunak sistem khusus yang menangani penjadwalan proses beberapa utas dengan berbagai cara, sedangkan operator adalah program khusus yang berjalan SETELAH penjadwal. Fungsinya adalah untuk memberikan kontrol proses atas CPU setelah dipilih oleh penjadwal jangka pendek. Untuk lebih jelasnya Anda dapat mengunjungi tautan di atas.
  6. Terlalu lama, tidak membaca linux dari awal
    Repositori di atas ditemukan ketika saya mencoba menemukan semacam cara untuk memahami LFS tanpa membacanya dengan cara konvensional yang lama. Saya menemukan ini ketika saya melakukan GSGS dan ini pada dasarnya bertindak sebagai lembar contekan untuk Anda. Ini seluruhnya terdiri dari file README untuk memandu Anda memahami LFS minimal.
  7. Penjadwalan round robin dengan waktu kedatangan berbeda
    Algoritma ini digunakan untuk menjadwalkan proses secara adil untuk setiap pekerjaan slot waktu dan mengganggu pekerjaan jika tidak selesai pada saat itu, pekerjaan datang setelah pekerjaan lain yang tiba dalam waktu kuantum yang membuat sistem penjadwalan ini adil. Untuk informasi lebih lanjut baca artikel di atas.
  8. NUMA
    Video ini akan menjelaskan tentang Non-Uniform Memory Access policy atau disingkat NUMA. Juga menjelaskan tentang penggunaan dan implementasi NUMA di dalam komputer. Saya sarankan Anda menonton video.
  9. Penjadwalan CPU
    Tautan ini untuk mempelajari lebih lanjut tentang penjadwalan CPU. Bagaimana tepatnya CPU mengelola sistem penjadwalannya sendiri dari awal hingga akhir. Hal-hal menarik seperti simulasi kondisi pengacakan sistem operasi juga disertakan. Ini bacaan yang bagus.
  10. O Besar
    Saya yakin kalian sudah pernah mengkonsumsi SDA sebelumnya atau mungkin sedang mengkonsumsi DAA? Notasi asimtotik o besar akan akrab bagi Anda sekarang saya kira. Tautan di atas ini menyediakan lembar contekan untuk notasi O besar. Ini mungkin membantu dalam menentukan kompleksitas runtime algoritme Anda dalam proses yang sedang berjalan.

Bahan Bacaan W09

  1. Harddisk di dalam saat dijalankan
    Video ini akan menunjukkan bagaimana tampilan drive saat digunakan.
  2. Booloader
    Artikel ini cukup menjelaskan tentang definisi dan cara kerja bootloader.
  3. Clover Bootloader
    Artikel ini akan membahas lebih lanjut tentang bootloader semanggi.
  4. Systemd
    Artikel ini pertama-tama akan menjelaskan tentang systemd khususnya di linux.
  5. Mengapa orang membenci systemd
    Saya menemukan artikel ini tentang mengapa orang membenci systemd, ini menarik.
  6. GPT vs MBR
    Artikel ini membahas tentang perbedaan antara partisi drive.
  7. Keandalan SSD
    Artikel ini akan membahas lebih lanjut tentang keandalan SSD
  8. UEFI
    Artikel ini ditulis dalam bahasa Indonesia. Ini akan memberi tahu Anda tentang apa itu uefi dan bagaimana cara kerjanya.
  9. NAS
    Menurut artikel tersebut, NAS adalah “Istilah yang digunakan untuk merujuk pada perangkat penyimpanan yang terhubung ke jaringan dan menyediakan layanan akses file ke sistem komputer”, artikel ini akan membahas lebih lanjut tentang itu.
  10. LAN
    LAN adalah singkatan dari jaringan area lokal. Artikel ini akan membahas tentang itu.