UAS Operating System PDF
Document Details
Uploaded by Deleted User
Tags
Summary
This document is a set of notes on operating systems, specifically focusing on file management. It covers topics like file systems, file structure, user requirements, and file organization, with sections dedicated to different file organization types and operations.
Full Transcript
**\ UAS Operating System** Panduan membaca rangkuman: 1. Highlight: - Kuning : kisi - kisi dari Dosen. - Biru : hitungan. - Merah : penting. - Yang lain : highlight biasa. 2. Gunain summary buat lompat ke Materi yang dicari. 3. Kalo ma...
**\ UAS Operating System** Panduan membaca rangkuman: 1. Highlight: - Kuning : kisi - kisi dari Dosen. - Biru : hitungan. - Merah : penting. - Yang lain : highlight biasa. 2. Gunain summary buat lompat ke Materi yang dicari. 3. Kalo mau soft-copy buat diprint PC via Line ya. 4. Gesss jangan "tandai selesai" atau "mark as solved" comment dari gua yaaaaa \ 1. **Files** File itu koleksi data yang dibuat oleh user, dan sistem untuk mengurus file ini disebut File System, yang merupakan bagian penting dari OS untuk user Properti dari files adalah: - **Long-term existence** → file disimpan dalam secondary storage dan tidak menghilang jika user log off. - **Shareable between processes** → setiap file punya nama dan punya permission (izin) yang mengizinkan sharing resources yg terkontrol. - **Structure ** → file bisa diorganisir ke bentuk hierarki atau struktur kompleks lain untuk mendeskripsikan hubungannya antar file-file. 2. **File Systems** File system menyediakan berbagai functions, dan menyediakan sarana untuk menyimpan data yang dapat diorganisasikan ke dalam bentuk file. Operations dalam file system adalah: - Create - Delete - Open - Close - Read - Write 3. **File Structure** Ada 4 istilah umum yang sering dipake di Files: - Field - Record - File - Database 4. **File Management System** File management system ini kumpulan tools dan utilities untuk manage, organize, dan mengakses kontrol ke file-file yang disimpan di komputer. Tujuan dari File Management System ini adalah untuk memenuhi kebutuhan manajemen dari user, menjamin data dalam file adalah valid, mengoptimalkan kinerja sistem, memberikan I/O support untuk berbagai jenis variasi, meminimalisir potensi hilang/rusaknya data, dll. 5. **User Requirements** Setiap user memiliki requirement (ketentuan sbg berikut): - Harus bisa melakukan create, delete, read, write, dan modifikasi files. - Punya kontrol untuk mengakses file dari user lain. - Dapat mengontrol apa tipe akses yang diberikan ke files. - Harus dapat memindahkan data dalam files. - Harus dapat melakukan back up dan pemulihan jika terjadi damage ke dalam data. - Harus dapat bisa mengakses file tsb menggunakan nama daripada numeric identifier. 6. **File Organization and Access** File organization adalah penstrukturan/penataan records secara logika yg ditentukan berdasarkan cara aksesnya. Ada beberapa kriteria yang penting dalam file organization ini yaitu: - Short access time - Ease of update - Economy of storage - Simple maintenance - Reliability Prioritas dari kriteria tsb bergantung pada aplikasi yg akan menggunakan file tsb, **File Organization Types:** - **The pile** → [paling least complicated (ga rumit)] dibandingkan tipe file lainnya. setiap datanya diurutin berdasarkan waktu mereka dateng. Setiap record berisi one burst of data. Tujuan dari tipe file ini untuk ngumpulin banyak data dan disimpen. - **The direct/hashed file** → [akses langsung ke block yang dicari.] Pake hashing buat key valuenya. Organization type ini sering dipake kalo:![](media/image2.png) - Butuh kecepatan dalam Mengakses yg tinggi. - Pake fixed-length records. - Records diakses satu per satu. - **The sequential file** → [paling sering dipake & plg umum buat file structure], pake fixed format buat recordsnya, ada key field yang unique untuk identify the records. Biasanya dipake di [batch application.] Satu-satunya tipe organization yg mudah untuk disimpan di tape dan disk. ![](media/image4.png) - **The indexed file → **[record cuman bisa diakses pake index], bisa naroh variable-length records. Ada 2 jenis index yg dipake: - **Exhaustive index** → isinya 1 entry yg nyatet seluruh key value yg kerecord di main file. - **Partial index** → isinya index yg nyatet entries lokasi subset dari key value yg ada. - **The indexed sequential file** → [nambahin index ke dalam file buat support random access.] Ada overflow file, kelebihannya bisa ngurangin waktu yg dibutuhin buat ngakses suatu record. 7. **Operations Performed on a Directory** Tipe operasi yang kemungkinan dipakai pada direktori files: Search → Create files → Delete files → List directory → Update directory. 2. **Session 9: I/O Disk Management** 1. Seek Time Seek time intinya waktu yg dibutuhin disk buat pindah ke track yg diperlukan. Seek time ini dipake di Disk Scheduling Algorithm (FIFO, SCAN, C-Scan, SSTF) **Untuk pembahasan Algoritmanya gua langsung pake contoh latihan soal \[1\] nomer 2. Untuk penjelasannya via [Video](https://www.google.com/url?q=https://www.google.com/url?q%3Dhttps://youtu.be/g6Y3vWilSt0%26amp;sa%3DD%26amp;source%3Deditors%26amp;ust%3D1736787786357448%26amp;usg%3DAOvVaw1wGPtfxBoKj1rqeQoGXFJr&sa=D&source=docs&ust=1736787786514478&usg=AOvVaw38gcf82_LHKE0zhNiZ2D4u) karena susah dijelasin dalam teks.** 2. **FIFO atau FCFS** Intinya, tracknya sesuai dengan urutan dia masuk. ![](media/image6.png) Seek Time: (70-20) + (30-20) + (50-30) + (70-50) + (70-10) + (40-10) + (80-40) + (120-80) = 270 **Penjelasan FCFS, SSTF, SCAN, CSCAN - Shanti:** **[https://youtu.be/g6Y3vWilSt0](https://www.google.com/url?q=https://www.google.com/url?q%3Dhttps://youtu.be/g6Y3vWilSt0%26amp;sa%3DD%26amp;source%3Deditors%26amp;ust%3D1736787786358439%26amp;usg%3DAOvVaw0550YyQr2iwOULPYTGJf1K&sa=D&source=docs&ust=1736787786515461&usg=AOvVaw1-z9Mn8RaUUEeyS5JE0clE) ** Sumber belajar: [EASY-HOW-TO Disk Scheduling Algorithm (FCFS, SCAN, and C-SCAN) Tutorial (Manual)](https://www.google.com/url?q=https://www.google.com/url?q%3Dhttps://www.youtube.com/watch?v%253DyrO5fvXlESE%26amp;sa%3DD%26amp;source%3Deditors%26amp;ust%3D1736787786358811%26amp;usg%3DAOvVaw15HVi08ZxdvBgO-38RRjhf&sa=D&source=docs&ust=1736787786515704&usg=AOvVaw1kI7EuZIgAULt91wcrig8D) 3. **SCAN** Intinya, dia kaya elevator, jadi tracknya bakal turun/naik (tergantung soal) ke dalam satu line tsb smp selesai tapi track selanjutnya bakal direverse. Seek Time: (70-0) + (70-0) + (120-70) = 190 4. **C-Scan** Intinya, dia sama kaya SCAN, jadi tracknya bakal turun/naik (tergantung soal) ke dalam satu line sampai track tsb selesai.![](media/image8.png) Seek Time: (70-0) + (127-0) + (127-70) = 254 5. **Shortest Seek Time First** Intinya, dia nentuin track dengan seek time terkecil antar request. Seek Time: (80-70) + (80-10) + (99-10) + (120-99) = 190 3. **Session 10: Memory Management** 1. **Introduction** Memory management itu intinya sistem untuk mengatur alokasi dan penggunaan dari memori komputer itu sendiri. Tujuan utama dari memory management ini untuk optimasi penggunaan memory, memberikan penyimpanan yang efisien untuk program & data, dan memastikan OS dan aplikasi bisa bekerja sama dengan baik (dalam hal penggunaan memori). Ada 3 istilah (terms) dalam memory management: - **Frame** → [Block of main memory] dengan panjang yg tetap (fixed-length). - **Page** → [Block of data dgn panjang yg tetap] yg berada di secondary memory (kaya SSD, HDD). Page ini bisa dicopy scr sementara ke dalam frame suatu main memory. - **Segment** → [Block of data dgn panjang sebesar variable] yg berada di secondary memory. Segment ini bisa dicopy ke main memory scr temporary (segmentation) atau bisa dipecah jadi Pages yang nantinya dicopy satu-satu ke main memory. 2. **Memory Management Techniques** **\[Cek Comment\]** Ada beberapa Memory Management Techniques, yaitu: 1. **Fixed Partitioning** Intinya, main memory dipecah jadi beberapa partisi pada saat generasi sistem dengan size yg udah ditentukan (fixed). Nantinya, proses-proses dimasukin (diload) ke partition tadi yang sizenya udah **fixed**. - **Kelebihan** : Simple untuk diimplementasikan, overhead OSnya kecil. - **Kekurangan** : Ga efisien karena menghasilkan internal fragmention, jumlah proses yg aktif dibatasi karena jumlah partisinya udah ditentukan dari awal. 2. **Dynamic Partitioning** Intinya, main memory dipecah/dipartisi jadi beberapa bagian secara dinamik, jadi size tipa partisinya sama dengan size processnya. - **Kelebihan** : Ga ada internal fragmentation, lebih efisien dalam pengelolaan materi. - **Kekurangan** : Ga efisien dalam penggunaan processor karena butuh pemadatan buat menghindari external fragmentation 3. **Simple Paging** Intinya, main memory dipecah/dipartisi jadi beberapa frame dengan size yang sama, dan nantinya setiap process juga dipecah ke dalam pages yg sizenya sama kaya frame tsb. - **Kelebihan** : Ga ada external fragmentation. - **Kekurangan** : Ada internal fragmentation tapi dikit. 4. **Simple Segmentation** Intinya, setiap process dipecah jadi beberapa segments, dan process tsb dimasukkan ke dalam segment dengan cara memasukkan tiap segment ke dalam partisi yang dinamik. - **Kelebihan** : Ga ada internal fragmentation, improved memory utilization, reduced overhead dibandingkan dynamic partitioning. - **Kekurangan** : External fragmentation. 5. **Virtual Memory Paging** Intinya, sama kaya simple paging, tapi ga perlu load semua pages dari processnya, - **Kelebihan** : Ga ada external fragmentation, higher degree of multiprogramming, large virtual address space. - **Kekurangan** : Overhead of complex memory management. 6. **Virtual Memory Segmentation** Intinya, sama kaya simple segmentation tapi ga perlu load semua segments dari processnya. - **Kelebihan** : Ga ada internal fragmentation, higher degree of multiprogramming, large virtual address space, protection, and sharing support. - **Kekurangan** : Overhead of complex memory management. 3. **Fragmentation** Fragmentation ini intinya space yang wasted/sia-sia atau ga kepake pas memory allocation (memory management techniques): - **Internal fragmentation** → [intinya wasted space atau memori yg sia-sia karena ga kepake padahal udah disiapin.] Biasanya ada di **fixed partitioning.** ![](media/image10.png) - **External fragmentation** → intinya wasted space atau memori yg (kemungkinan) sia-sia karena kepecah-pecah, karena memori yg pecah tsb bisa aja ga cukup buat nampung proses baru. Biasanya ada di** dynamic partitioning** Fragmentation ini bikin memory management ga efektif, nah cara ngadepinnya pake compaction yg cara kerjanya kurleb dgn mindahin process terus-terusan ke space memory yang kosong. 4. **Fixed Partitioning** Fixed partitioning ini sama kaya yg udah dijelasin sebelumnya, intinya dia ngebagi memori jadi beberapa bagian/partisi dengan ukuran yg fixed, ga ngikutin size process yg akan masuk nantinya. Pembagiannya bisa equal (sizenya sama semua) atau unequal (sizenya beda-beda). ![](media/image12.png) **Kekurangannya:** - Size program bisa aja lebih besar dibanding size yang tersedia, atau sebaliknya. - Ga efisien karena kekurangan yg pertama tadi, dan karena adanya internal fragmentation. - Jumlah proses yg aktif dibatasi karena jumlah partisinya udah ditentukan dari awal. 5. **Dynamic Partitioning** Kebalikan dari Fixed partitioning, jadi partisinya menyesuaikan size process yang akan masuk, sehingga tidak ada internal fragmentation. Tapi ada external fragmentation. Dynamic partitioning ini lebih efektif dibandingkan Fixed partitioning tapi ngehasilin external fragment. External fragment kalo foto di atas yg [warnanya putih]. Dia terjadi kalo process released dan ngehasilin empty space yg sizenya mungkin gbs dipake process lain (external fragmentation). Nah, tapi ada cara untuk ngadepin masalah external fragmentations ini, compaction kerja kurleb dgn cara mindahin process terus-terusan ke space memory yang kosong. 6. **Buddy System ** Buddy System ini intinya gabungan dari f**ixed & dynamic partitioning.** Intinya, buddy system ini ngebagi 2 aja dari initial memory yg ada, terus-terusan, nyesuain size dari processnya.![](media/image14.png) Nah, contoh real casenya kaya case di atas. Markibrek atau mari kita breakdown. Intinya kita punya OS dengan main memory sebesar 1MB, **1MB = 1024KB (pasti kelipatan dari pangkat 2)**. Jadi jangan terkecoh kalo soal bilang 2MB, berarti itu 2048KB. **Step Buddy System:** 1. **Bagi 2 Initial Memory** Karena memory pada Buddy System ini pake kelipatan pangkat 2, jadi kita harus pecah juga jadi 2 bagian terlebih dahulu. Di case ini kita pisah jadi 512K --- 512K. 2. **Bagi Memory Sesuai Request** ** **Setelah dipecah, kita pecah lagi 512K (dibagi 2) jadi 256K --- 255K, sampai sesuai/mendekati dengan size process yang paling pertama dan nilainya harus lebih besar. Request A = 100K, jadi kita harus pecah sampe punya memory partition sebesar 128K. 3. **Masukin Process** ** **Masukin dan pecahin lagi sesuai request yang masuk, misalnya lagi C = 64K, jadinya 128K dipecah jadi 64K --- 64K jangan sampe ga dipecah karena bakal ngehasilin internal fragmentation. 4. **Release Process** ** **Kalo misalnya process tsb udah selesai, bakal dilakuin release, dan ngehasilin empy slot yang bisa dipake process lain atau digabungin ke partision lainnya. ![](media/image14.png) 5. **Internal Fragmentation Calculation** ** **Buddy system ini punya internal fragmentation, artinya wasted space yg sia-sia karena ga kepake. Contohnya: Pada case di atas, si Buddy udah nyiapin 128KB, tapi yg kepake cuman 100K, maka internal fragmentationnya 128KB - 100KB = 28KB. Jadi, **Allocated Memory Size - Process Size = Internal Fragmentation.** Kalo diminta ngitung seluruh internal fragmentation (IF) yang terjadi selama process itu berarti: - IF A = 128K - 100K = 28K - IF B = 256K - 240K = 16K - IF C = 64K - 64K = 0K - IF D = 256K - 256K = 0K - IF E = 128K - 75K = 58K 6. **Notes: Rejected Request** ** **Kalo ada case di mana [seluruh partisi penuh, ga cukup, atau ga bisa diisi lagi tapi ada Request], maka **[request tersebut akan ditolak]**, contohnya bisa liat latihan soal \[2\] nomer terakhir. Tapi ini tolong koreksi ya kalau salah, karena via source lain bukan dari PPT. Buddy System bisa juga direpresentasiin pake bentuk Tree. ![](media/image15.png) 4. **Session 11: Virtual Memory \[Cek Comment\]** 1. **Page Replacement Algorithm** Intinya, dia itu algoritma yg dipake buat milih pages mana yg bakal direplace. Ada 4 yaitu: First-in-first-out (FIFO), Least recently used (LRU), Optimal, Clock. - FIFO → kaya circular buffer, dan diremove pake round-robin style. Page yang paling lama di memory yg diremove (first in). - Optimal → ngeganti berdasarkan pages yg ada di masa depan. - LRU → intinya ngereplace pages yang paling lama belom direferenced. Susah diimplementasi dan overheadnya mayan tinggi. - CLOCK → intinya pake pointer dan \* **Bisa cek [https://youtu.be/3\_W6G3fazw4?si=TTtSkrfhmmN2P0so](https://www.google.com/url?q=https://www.google.com/url?q%3Dhttps://youtu.be/3_W6G3fazw4?si%253DTTtSkrfhmmN2P0so%26amp;sa%3DD%26amp;source%3Deditors%26amp;ust%3D1736787786372751%26amp;usg%3DAOvVaw3nr1BWDKWp_Gi11lhlWz87&sa=D&source=docs&ust=1736787786525230&usg=AOvVaw1C6_c39Q2xgA9xYr82BgQu)** 2. **FIFO - Case** Intinya, FIFO ngeluarin dari yang **paling pertama masuk, ga peduliin override kaya LRU.** **Breakdown Case:** - Ada 3 memori kosong, page pertama (2) bakal dimasukin ke ke **[memori paling atas.]** - Lanjut masukin sampe penuh dan kalo ada page yg sama, tapi di memory udah ada, ga perlu ditulis ulang (Override). - Pada page 5 (merah), 5 gantiin 2, karena 2 **[masuk pertama]** - Pada page 2 (biru), 2 gantiin 3, karena 3 **[masuk kedua]** - Pada page 4 (hijau), 4 gantiin 1, karena 1 **[masuk keempat,] **kenapa ga 2? karena udah ga dianggep (udh diganti 5). 2 yg terlama itu 2 di warna biru. - Dst. Notes \[Baca Comment\] : **F → [page fault,]** 3. **OPTIMAL - Case** Intinya, OPT ini ngereplace page dgn **ngeliat masa depan. **![](media/image17.png) **Breakdown Case:** - Ada 3 frame kosong, page pertama (2) bakal dimasukin ke ke **[frame paling atas.]** - Lanjut masukin sampe penuh dan kalo ada page yg sama, tapi di memory udah ada, ga perlu ditulis ulang (Override). - Pada page 5 (merah), 5 gantiin 1, karena 1 **[ga ada di masa depan.] ** - Pada page 4 (biru), 4 gantiin 2, karena 2 merupakan masa depan yang **[paling jauh]** dibandingkan 5 dan 3. - Pada page 2 (hijau), 2 gantiin 4, karena 4 ga ada di masa depan. Kenapa 4? bukan 3? Karena prinsip memori akan **[ngisi yang paling atas dulu]** (kalau kosong) Notes \[Baca Comment\] : **F → [page fault,]** 4. **LRU - Case** Intinya, LRU ini ngereplace page dgn ngeliat yg plg **jrg dipake/lama.** **Breakdown Case:** - Ada 3 frame kosong, page pertama (2) bakal dimasukin ke ke **[frame paling atas.]** - Lanjut masukin sampe penuh dan kalo ada page yg sama, tapi di memory udah ada, ga perlu ditulis ulang (Override). - Pada page 5 (merah), 5 gantiin 3, karena 3 **[paling jarang dipake,] **kenapa ga 2? karena yg dihitung 2 yg paling baru. - Pada page 4 (biru), 4 gantiin 1, karena 1 **[paling jarang dipake.]** - Pada page 3 (hijau), 3 gantiin 2, karena 2 **[paling jarang dipake.]** - Pada page 2 (ungu), 2 gantiin 4, krn 4 **[paling jarang dipake.]** Notes \[Baca Comment\]: **F → [page fault,]** 5. **CLOCK - Case** Intinya, paling rumit dan pake [use bits.] \* artinya aktif, non-bintang artinya non-aktif. Clock ini rada ribet dijelasin pake teks, jadi bisa cek langsung aja vid penjelasan ([Video](https://www.google.com/url?q=https://www.google.com/url?q%3Dhttps://youtu.be/3_W6G3fazw4?si%253DTTtSkrfhmmN2P0so%26amp;sa%3DD%26amp;source%3Deditors%26amp;ust%3D1736787786377504%26amp;usg%3DAOvVaw1bayx9BOKfXKWNQWz6AiTV&sa=D&source=docs&ust=1736787786528350&usg=AOvVaw0qs9xTK_sxgON-Fu4f_gNR)). YG DOSENNYA PAK RUBIL JGN IKUTIN CARA INI YA SOALNYAA BEDAA. 5. **Session 12: Computer Security \[Cek Comment\]** 1. **Introduction** Computer bisa diserang dan merugikan OS & user, ada dua kategori ancaman yaitu: - **Intruder** → intinya berupa orang. - **Masquerader **→ orang yg ga berwenang untuk ngakses tp ngakses secara ilegal. - **Misfeasor** → orang yg berwenang untuk dapetin bbrp akses, tapi ngakses data yg seharusnya ga diakses dan menggunakan data tsb secara ilegal. - **Clandestineuser** → orang yg ga berwenang untuk ngakses tapi ngakses pusat kontrol & auditing dari sistem secara ilegal. - **Malicious Software** → intinya berupa program/aplikasi/virus, dll. - **Parasitic** → harus nempel sama program (inang) lain. (e.g. Virus, Logic Bomb, Backdoor) - **Independent **→ bisa bekerja tanpa program (inang) lain. (e.g. Worms, bot programs) 2. **Virus Stages** 1. **Dormant phase → **virusnya dormant atau tidak aktif tapi udah menginfeksi OS. 2. **Propagation phase → **virus tsb menyebar (tapi blm menyerang), bisa dengan mereduplikasi diri, dll. 3. **Triggering phase → **virus tsb tertrigger untuk melakukan execution phase yg menyerang OS. 4. **Execution phase** → virus tsb menyerang OS. Notes: Contoh real case virus stages ini bisa dicek di latihan soal. 3. **Permission file (Chmod)** **\#include \ 1. **Session 13: Cloud and IoT** 1. **Cloud Computing** Cloud computing menurut NIST intinya adalah model yang memungkinkan penggunanya bisa mengakses configurable computing resources (network, server, aplikasi, services) secara luring, dan bisa diakses menggunakan biaya/manajemen seminimal mungkin. ![](media/image19.png) **Cloud Computing Elements:** - **Broad network access** → kemampuan untuk bisa diakses dari bermacam-macam platform/devices. - **Rapid elasticity** → kemampuan untuk memperbesar atau memperkecil resources yg digunakan berdasarkan kebutuhan. - **Measured service **→ cloud system secara otomatis mengontrol dan melakukan optimisasi resource yg digunakan. - **On-demand self-service** → memberikan layanan cloud computing sesuai kebutuhan secara otomatis tanpa harus ada interaksi dengan manusia. - **Resource pooling **→ intinya computing resources yg disediakan itu diputar/dipake ke banyak user secara dinamis dan bisa direassign sesuai demand user. 2. **Cloud Computing Recommendation** 1. **Cloud Service Models** ** **Cloud service model ini dibagi menjadi 3, yaitu: - **IaaS, Infrastructure as a Service.** Intinya, cuman nyediain virtualized computing. Cuman nyediain fundamental computing infrastucture misalnya VM, storage, OS. Contoh IaaS = Amazon EC2, Amazon S3, Microsoft Azure Virtual Machines. - **PaaS, Platform as a Service.** Intinya, kalo di IaaS dia cuman nyediain infrastruktur, kalo di PaaS ibaratnya kumpulan IaaSnya buat jalanin suatu software. Misalnya, ibarat sebuah platform cloud database (PaaS) perlu punya fitur storage, security, flexible compute, dsb. (IaaS). Jadi di PaaS kita udah dapet itu semua dalam satu services, tapi kita masih harus ngehandle dan otak-atik sendiri. Contoh PaaS = Google App Engine, Heroku, and Microsoft Azure App Service. - **SaaS, Software as a Service.** Intinya, aplikasi/software yang udah jadi dan bisa dipake langsung di internet. User bisa akses dan menggunakan tanpa instalasi. SaaS umumnya dimanage, dihosting, diupdate, security, dll semuanya yang ngurus penyedia jasanya, jadi client cuman terima jadi aja. Contoh SaaS adalah = Dropbox, Google Workspace, dsb. 2. **Cloud Deployment Models** ** **Nah, model-model tadi itu dideploy di cloud yang dibagi jadi 4 kategori sbg berikut: - **Public cloud** → dibuat untuk publik dan industri, biasanya dimiliki oleh organisasi yg jual jasa cloud. - **Private cloud** → dipake secara internal di dalam organisasi/personal. - **Community cloud** → gabungan dari public & private, dia restricted alias ga semua orang bisa akses, tapi resources di dalem cloud tsb disharing ke banyak organisasi. - **Hybrid cloud** → gabungan dari dua atau lebih model-model di atas (private, community, public). ![](media/image21.png) **Soal Latihan \[1\]** 1. Jelaskan tentang file organization types, manakah yang lebih banyak kita gunakan dalam kehidupan sehari-hari terkait dengan aktivitas kita dalam menggunakan laptop? → **Jawaban:** File organization types adalah penataan file secara logika berdasarkan cara aksesnya. Yang paling umum digunakan adalah sequential file organization. 2. Diketahui sebuah disk drive memiliki 128 silinder, dengan nomor silinder dimulai dari 0 dan berakhir pada 127. Posisi jarum pada disk drive saat ini berhenti pada titik 70. Diketahui juga bahwa jarum selalu "ke silinder dengan angka yang lebih kecil terlebih dahulu". Urutan dari posisi yang dikunjungi secara berurutan adalah: 20, 30, 50, 70, 10, 40, 80, 99, 110, 120. Dari 3 pilihan algoritma di bawah ini, manakah algoritma terbaik? Buatlah masing-masing gambarnya dan tentukan seek-time nya. → **Jawaban:** Seek Time: (70-20) + (30-20) + (50-30) + (70-50) + (70-10) + (40-10) + (80-40) + (120-80) = 270 ![](media/image7.png) Seek Time: (70-0) + (70-0) + (120-70) = 190 Seek Time: (70-0) + (127-0) + (127-70) = 254 ![](media/image9.png) Seek Time: (80-70) + (80-10) + (99-10) + (120-99) = 190 3. Tuliskan sebuah program yang mengubah izin akses file atau direktori. Program ini harus memungkinkan pemilik file untuk membaca dan menulis file, kelompok untuk hanya membaca file, dan others tidak memiliki akses sama sekali. → **Jawaban:** ** int retval = chmod(argv\[1\], 0640)** 4. Berdasarkan data berikut, tentukan replacement algorithm dengan 3 Frame dengan data stream sebagai berikut: 1 1 5 4 3 2 1 1 2 3 1. Algoritma FIFO 2. Algoritma OPTIMAL ![](media/image23.png) 3. Algoritma LRU 4. Algoritma CLOCK ![](media/image25.png) 5. Sebuah perusahaan startup di bidang transportasi dan akomodasi yang tergolong sebagai SME (Small and Medium-sized Enterprise) ingin mengadopsi solusi cloud computing untuk mendukung operasional bisnisnya. Mereka mempertimbangkan antara layanan IaaS (Infrastructure as a Service), PaaS (Platform as a Service), dan SaaS (Software as a Service). Berdasarkan kebutuhan perusahaan tersebut, layanan cloud manakah yang paling sesuai? Jelaskan rekomendasi Anda dengan mempertimbangkan aspek biaya, sistem dan infrastruktur, sistem keamanan, serta teknologi yang digunakan. Berikan rekomendasi service yang sesuai untuk perusahaan tersebut. → **Jawaban: **karena perusahaan tersebut masih tergolong small-medium, lebih baik menggunakan PaaS, karena PaaS tidak terlalu mahal, memberikan keamanan yg cukup, dan kita masih bisa menghandle cloud itu sendiri, tidak sepenuhnya dijalankan oleh pemberi jasa cloud computing. 6. Jika diketahui sebuah memory dengan ukuran 2048 MB, alokasikan dengan menggunakan buddy system: 1. Alokasi 512 MB 2. Alokasi 128 MB 3. Lepaskan 128 MB 4. Alokasi 64 MB 5. Alokasi 64 MB 6. Alokasi 128 MB 7. Lepaskan 64 MB 8. Lepaskan 128MB \[Baca Comment\] **Soal Latihan \[2\]** 1. Didalam proses pengaturan memory terdapat 7 teknik alokasi memory yang tersedia. Sebutkan dan jelaskan 4 (empat) teknik *memory management *dari tujuh teknik yang ada! → **Jawaban:** - **Fixed Partitioning:** teknik ini mempartisi memori yang ada menjadi beberapa bagian yang fix dan tidak bisa diubah. Misalnya memori total 1 mb, dapat dipecah menjadi 4 bagian 256 kb. - **Dynamic Partitioning**: teknik ini kebalikan dari fixed partitioning, teknik ini membagi memori berdasarkan kebutuhan atau request dari process. Tujuan dari Dynamic Partitioning ini untuk mengurangi internal fragmentation yang terdapat pada fixed partitioning. - **Simple Paging:** teknik ini membagi memori fisik dan proses ke dalam fixed block-block yang disebut "pages". - **Simple Segmentation**: teknik ini membagi proses ke dalam logical segments dalam size yang berbeda-beda. 2. Didalam proses alokasi *memory *terdapat salah satu teknik *memory management *yaitu *P*. Berikan kelebihan dan kekurangan dari penggunaan teknik ini jika digunakan dalam implementasi suatu aplikasi di dalam *operating system.* ***→ *Jawaban:** **Kelebihan:** \- Lebih jelas, clear dan terstruktur karena part-partnya dibagi secara logical. \- Lebih fleksibel karena sizenya dapat berbeda-beda tergantung dari jumlah memori yang suatu proses butuhkan. **Kekurangan:** - Dapat mengalami external fragmentation karena size segment yang berbeda-beda sehingga banyak alokasi memori yang terbuang. - Lebih kompleks sehingga meningkatkan kinerja sistem (overhead). 3. Jika anda ingin membuat sistem *file *dengan sekuriti yang kuat, metode apa yang akan anda gunakan untuk mengatur proteksi pada file? Gunakan variasi dari metode yang *standard.* → **Jawaban:** Yang akan saya gunakan adalah File System Access Control, karena FSAC ini dapat menangani CRUD yang terdapat pada file system, sehingga kita dapat mengetahui siapa yang sedang mengakses sistem kita sekarang, dan meningkatkan sekuritas dan proteksi kepada file. 4. Apa keuntungan dan kerugian *fix* dan *dynamic partition*? → **Jawaban:** - **Keuntungan fix partition:** - Simpel dan mudah untuk dioperasikan - Karena simple, hanya menyebabkan sedikit overhead pada operating system - **Kerugian fix partition:** - Tidak efisien karena banyak internal fragmentation. - Jumlah proses yang dapat berjalan fixed atau tidak dapat diubah. - **Keuntungan dynamic partition:** - Tidak memiliki internal fragmentation karena sizingnya bervariasi bergantung pada proses. - Lebih efisien dalam penggunaan memori karena tidak memiliki internal fragmentation. - **Kerugian dynamic partition:** - Penggunaan prosesor lebih tidak efisien karena pemadatan kinerja/penggunaan proses untuk melawan external fragmentation. 5. Sebutkan dan jelaskan 4 fase virus, dan berikan 2 contoh dari keempat fase tersebut! → **Jawaban:** - **Dormant phase:**\ Dormant phase berarti virus tersebut inactive dan berada di dalam suatu file atau program dan belum menginfeksi. Contohnya, virus berada di email, virus tersebut akan dormant sampai email tersebut dibuka. Contoh lainnya, saat kita mendownload sebuah zip, virus tersebut akan dormant sampai kita mengekstraknya. - **Propagation phase:** Propagation phase berarti virus tersebut mulai menyebar dengan mereplikasi dirinya sendiri. Contohnya, virus yang berada di email tadi menyerang kontak-kontak lain yang ada di email tersebut. Contoh lainnya, zip yang terkena virus tersebut menyebarkan diri ke file di dekatnya. - **Triggering phase:**\ Triggering phase berarti virus tersebut telah ditrigger atau dipicu sehingga menjadi aktif. Contohnya, email tersebut dibuka dan zip tersebut diekstrak. - **Execution phase:**\ Execution phase berarti virus tersebut telah menyerang dan menginfeksi sistem, sehingga sistem tersebut tidak stabil/error dan ada kemungkinan data yang hilang. Contohnya data hilang atau kita tidak bisa membuka suatu aplikasi karena virus telah menginfeksi. 6. Pada *computer security *terdapat banyak sekali jenis ancaman dan serangan yang telah kalian pelajari. Terdapat beberapa pencegahan yang dapat dilakukan, salah satunya adalah melalui *awareness* dan pembuatan kebijakan/*policy* yang diterapkan pada perusahaan. Sebutkan dan jelaskan *awareness* apa dan kebijakan apa yang akan kalian buat untuk pencegahan terhadap ancaman keamanan informasi! (Merujuk ke ISO27001) **→ Jawaban:**\ Awareness yang akan saya buat untuk pencegahan terhadap ancaman keamanan informasi adalah awareness perihal data-data penting yang tidak boleh dibagikan kepada siapapun termasuk ke Customer Service, dan jika ada yang meminta kita harus mengatakan tidak. Selain itu, saya juga akan membuat kebijakan agar tidak mengklik iklan-iklan yang sekiranya berbahaya **[CASE]** 7. Suatu perusahaan yang kegiatannya sering berhubungan dengan pelanggan melalui jaringan internet ingin menambahkan *system* keamanan pada jaringan komputernya. Untuk itu, jika anda diminta sebagai konsultan keamanan informasi, maka buatlah *parameter system* keamanan yang berhubungan dengan: ***Confidentiality, Integrity, Availability\ ***→** Jawaban: ** - **Confidentiality**: confidentiality berarti kita harus menjaga data privasi pelanggan, yang berarti parameternya adalah sebuah jaringan tidak dapat mengakses atau menggunakan data pribadi user tanpa izin. Perusahaan tersebut juga harus membangun sistem di mana data pribadi user tidak dapat dihack/dicatat dengan mudah. - **Integrity:** data user atau pelanggan yang masuk tidak boleh diubah tanpa izin user, dan perusahan harus memastikan bahwa data tersebut tidak diubah oleh orang-orang yang berhak untuk mengubah data tersebut. - **Availability:** perusahaan harus memastikan bahwa informasi yang ada dapat digunakan dan diakses dengan cepat setiap ada demand. 8. Suatu perusahaan dengan pelanggan banyak dan aktivitas yang padat menggunakan Komputer dalam mengelolanya dan menyimpan datanya dalam *Harddisk*. Keluhan pelanggan dalam mengakses data yang lambat sering terjadi,sehingga perusahaan berencana mengganti *system* penyimpanan datanya dengan *RAID*. Coba buat rekomendasi apa untungnya menggunakan *RAID* dan *system* yang sebaiknya dipakai.\ → **Jawaban:** - Keuntungan *RAID*: - Mirroring: dapat menduplikat data ke hard disk lain, sehingga ada banyak data redudant. - Data Stripping: data tersebut dapat dipecah ke banyak tempat/disk - Fault Tolerance: user tetap dapat mengakses disk meskipun terjadi failure, karena datanya ada di banyak disk. - Regenerasi Data: jikalau ada data yg hilang, disk yg lain akan meregenerasi data tersebut. Sistem yg direkomendasikan adalah Hardware RAID 5, 6, atau 10. 5 & 6 cocok untuk perusahaan kecil-menengah, 10 buat perusahaan besar 9. *Disk scheduling, max track* = 200, posisi *head* terakhir di 100, waktu untuk masing-masing *track* 2ms. Permintaan track berikutnya oleh *disk scheduling* adalah (LO2,3,4):\ 150-60-120-70-180-175-95-130-110-18-50\ Gambarkan, hitung rata-rata *seek length* dan rata2 waktu jika menggunakan algoritma: → **Jawaban **→ Karena di soal ga ada direction buat tracknya (positive/negative), jadi kita asumsikan tracknya negative. Gua juga asumsi max track = 200 berarti 0-200, bukan jumlah disk = 200.** \[Baca Comment\]** 1. FIFO![](media/image27.png) Seek Time/Length: (150-100) + (150-60) + (120-60) + (120-70) + (180-70) + (180-175) + (175-95) + (130-95) + (130 - 110) + (110 - 18) + (50-18) = 624 Rata2 SL: 624/11 = 56.72\ Rata2 waktu: 57.63 x 2 = 113.45 2. SSTF Seek Time/Length: (100-95) + (110-95) + (180-110) + (180-70) + (70-18) = 252 Rata2 SL: 252/11 = 22.9\ Rata2 waktu: 22.9 x 2 = 45.8 3. SCAN![](media/image29.png) Seek Time: (100-0) + (110-0) + (180-110) = 280 Rata2 SL: 280/11 = 25.45\ Rata2 waktu: 25.45 x 2 = 50.9 \[Baca Comment\] 4. C-SCAN Seek Time: (100-0) + (200-0) + (200-110) = 390 Rata2 SL: 390/11 = 35.45\ Rata2 waktu: 35.45 x 2 = 70.9 \[Baca Comment\] 10. Suatu Harddisk dengan 100 track (0 sampai 99) dan kecepatan pergerakan lengan disk per stepnya 10 ms dipakai untuk menyimpan data. Dengan posisi awal head di 40 dan urutan permintaan datanya adalah: 34, 16, 28, 8, 75, 60, 95, 37, 45, 85, 22, 18. Buatlah rekomendasi algoritma yang sebaiknya digunakan untuk membaca data tsb. **Apakah SSF atau SCAN? Berikan simulasi dan alasannya!** 11. Simulasikan *buddy system *dengan *memory *berukuran 1MB dengan proses-proses sesuai dengan ukuran dibawah ini: **\[Baca Comment\]** - *Request *A 50KB; - *Request *B 30KB; - *Request *C 250KB; - *Release *B; - *Request *D 150KB; - *Release *A; - *Request *E 300KB, - *Release *D; - *Release *E, - *Release *C\ Hitung juga **internal fragmentasi*** *yang terjadi pada setiap tahap. ![](media/image31.png)