Tugas SO Archlinux

April 3, 2019 | Author: Fendi Koding Conami | Category: N/A
Share Embed Donate


Short Description

Download Tugas SO Archlinux...

Description

TUGAS SISTEM OPERASI

ARCHLINUX

Disusun Oleh: FENDI TRI CAHYONO 168/Pra-MIK/32/2013

Yogyakarta 2013

Arch linux adalah sistem operasi berbasis Linux untuk i686 dan komputer x86-64. Hal ini sebagian besar terdiri dari perangkat lunak bebas dan sumber terbuka, dan mendukung keterlibatan masyarakat.Pendekatan desain dari tim pengembangan berfokus pada kesederhanaan dari sudut  pandang pengembang dan bukan sudut pandang pengguna, keanggunan, kode, dan minimalisme. Package manager yang ditulis khusus untuk Arch Linux, pacman, digunakan untuk menginstal, menghapus dan memperbarui paket perangkat lunak. Arch Linux menggunakan model rolling release, sehingga update sistem biasa adalah semua yang diperlukan untuk memperoleh perangkat lunak Arch terbaru. Semua paket dikelola menggunakan Pacman. Pacman menangani paket instalasi, upgrade,  penghapusan dan penurunan peringkat, dan fitur resolusi dependensi otomatis. Paket-paket untuk Arch Linux diperoleh dari Arch Linux paket pohon dan dikompilasi untuk arsitektur i686 baik atau x86-64. Arch Linux didasarkan pada paket biner dalam format tar.gz dan tar.xz.

1. Kernel

Untuk pengaksesan ke hardwarenya, sistem operasi ini menggunakan kernel linux. Kernel merupakan inti dari sistem Linux, yang digunakan untuk mengontrol hardware dan membentuk berbagai fungsi  peretas rendah. Fungsi-fungsi yang dilaksanakan oleh kernel, antara lain system call dan jam system, manajemen dan penjadwalan proses, manajemen memori, melakukan kegiatan akuntasi sistem, melakukan penanganan kesalahan dan interupsi (interrupt). Selain itu hal-hal lain yang terkait dengan fungsi kernel adalah digunakan untuk mendukung protokol standar jaringan TCP/IP dan beberapa  protokol jaringan lain serta digunakan dalam sistem berkas. Hal lain yang menjadi tanggung jawab kernel yaitu digunakan untuk mendukung sejumlah perangkat keras ekstra. Contoh dukungannya

adalah floopy-disk, CD-ROM, sound card, berbagai mouse, dan keyboar international. Selain itu juga mendukung modul kernel yang dynamically loadable dan unloadable.

Gambar 1. Struktur Linux

Bagian-bagian lain dari Linux, seperti aplikasi dan shell, memanggil kernel untuk membentuk  layanan kepadanya. Linux menyediakan antarmuka antara bagian luar kernel dan kernel sendiri, berupa system call.

Setiap pemanggilan sistem menginstruksikan kernel untuk membentuk layanan tertentu sesuai dengan permintaan program yang memanggilnya. Sebagai contoh jika suatu program yang hendak  membaca data dari terminal, program perlu menyampaikan permintaan ke kernel. Kernel akan melakukan tindakan yang sesuai dengan permintaan program, kemudian menyampaikan hasilnya ke  program.

2. System Call

Gambar 2 mengilustrasikan operasi pemanggilan sistem (system call). Bagian‐ bagian lain dari Linux, seperti aplikasi dan shell, memanggil kernell untuk membentuk layanan kepadanya. Linux menyediakan antarmuka antara bagian luar kernell dan kernell sendiri, berupa system call. Setiap  pemanggilan sistem menginstruksikan kernell untuk membentuk layanan tertentu sesuai permintaan  program yang memanggilnya. Sebagai contoh kalau suatu program hendak membaca data dari

terminal, program perlu menyampaikan permintaan ke kernell. Kernell akan melakukan tindakan yang sesuai dengan permintaan program, kemudian menyampaikan hasilnya ke program.

Gambar 2. Proses System Call

3. Manajemen Dan Penjadwalan Proses

Kapanpun CPU menjadi idle, sistem operasi harus memilih salah satu proses untuk masuk kedalam antrian ready (siap) dieksekusi. Penmilihan tersebut dilakukan oleh penjadwal short term. Penjadwalan memilih dari sekian proses yang ada di memory yang sudah siap dieksekusi, dan mengalokasikan CPU untuk mengeksekusinya. Gambar 3 merupakan siklus bagaimana sebuah program dieksekusi.

Gambar 3. Proses

Linux memiliki dua algoritma penjadwalan proses yang terpisah. 1. Time-sharing, , dimana Linux menggunakan algoritma ini berdasarkan credit  dan prioritas.

Sistem credit ini secara otomatis memprioritaskan interaksi atau proses I/O bound . 2. Algoritma real-time,dimana untuk setiap eksekusinya, linux memiliki skala prioritas. Dalam

 penerapan algoritma ini, linux menerapkan dua macam algoritma, yaitu



First-Come, First-Served/First-In, First-Out Algoritma ini adalah algoritma yang paling sederhana, proses yang lebih dahulu datang akan dilayani pertama. Jadi proses akan mengantri sesuai waktu kedatangannya. Kelemahan dari algoritma ini memiliki waiting time yang lama.

Gambar 4. Algritma FIFO pada linux ◦

Round-robin, algoritma ini menggiring proses yang ada di antrian. Proses akan mendapatkan  jatah sebesar time quantum. Jika time quantumnya habis atau proses sudah selesai, CPU akan dialokasikan ke proses berikutnya. Tentu proses ini cukup adil karena tak ada proses yang dipriorotaskan. Setiap proses akan mendapatkan jatah waktu yang sama dari CPU (1/n), tak akan menunggu waktu lama lebih dari (n-1)/q. Algoritma ini sepenuhnya tergantung pada time quantum, jika terlalu besar maka tak ada bedanya dengan algoritma first-come firstserved. Jika terlalu kecil maka akan banyak peralihan sehingga banyak waktu terbuang. Misal: time quantum=5.

Menghitung wating time dan turn aroung time:

4. Manajemen Memori

Pada linux, terdapat dua jenis memory yaitu: a. Memori Fisik   b. Memori Virtual Swap merupakan memori virtual yang digunakan oleh linux. Swap biasanya dibuat dalam suatu  partisi hardisk, tetapi juga bisa menjadi sebuah file. Pengguna dapat membuat ruang swap selama instalasi Arch Linux atau setelah proses instalasi selesai. Swap umumnya direkomendasikan untuk pengguna dengan kurang dari 1 GB RAM, tetapi disarankan alokasi swap sama dengan jumlah memori fisik yang tersedia. Terdapat 2 (dua) cara yang digunakan oleh Linux dalam mengatur physical memory, yaitu page cache dan virtual memory system. Page cache digunakan untuk menyimpan file pemetaan memori. Virtual memory system dalam Linux diatur oleh Virtual Memory Manager (VMM). VMM memiliki beberapa tugas, yaitu bertanggung jawab untuk menjaga agar ruang alamat memori terlihat untuk setiap process, membuat pages dari virtual memory ketika diperlukan dan mengelola  pengambilan pages dari atau ke disk, melihat ruang alamat process sebagai daerah dan pages yang  berbeda, dan menyimpan beberapa ruang alamat virtual untuk setiap process. Dalam mengerjakan tugasnya, VMM selalu melibatkan Memory Management Unit (MMU),

termasuk subsistem disk. MMU memungkinkan OS untuk mengakses memori melalui alamat virtual dengan menggunakan alamat alias (pages dan page tables). Buddy allocator berinteraksi langsung dengan MMU untuk menyediakan pages yang valid ketika kernel melakukan request dan  juga mengelola daftar pages. Slab allocator merupakan lapisan lain yang berada di luar lapisan Buddy allocator yang memiliki kemampuan untuk membuat cache objek memori obyek, dan mengelola serta mengalokasikan pages secara nyata dan tepat. Beberapa layanan kernel ikut membantu VMM dalam menjalankan tugasnya, seperti bdflush untuk  mengelola pages terhadap disk atau I/O, dan kswapd menangani swapping pages ke disk. Status pages adalah free (dapat dialokasikan), active (sedang digunakan), atau inactive. Pages yang memiliki status inactive dapat bersifat dirty atau clean tergantung pada kondisi apakah telah dipilih untuk dihapus atau tidak. Pages yang bersifat dirty berarti bahwa pages tersebut sedang tidak  digunakan tetapi tidak siap untuk digunakan kembali. OS bertugas untuk melakukan scan terhadap  pages tersebut dan kemudian mengalokasikan kembali hingga sinkron dengan disk dan dapat digunakan kembali. 5. Manajemen File

Standar file system yang digunakan oleh Linux dikenal sebagai extended file system (ext) yang merupakan pengembangan dari UFS. ext telah berkembang menjadi ext2, ext3, dan ext4 mengimplementasikan Virtual File System (VFS) yang mendefinisikan 4 (empat) objek utama, yaitu: 1. Inode object yang mewakili file 2. File object yang mewakili file yang terbuka 3. Superblock object yang mewakili keseluruhan file system 4. Dentry object yang mewakili entry directory

Arch Linux versi terbaru menggunakan ext4 yang salah satu fiturnya adalah dapat mendukung ukuran storage hingga 1 EB dan sebuah file ukurannya dapat mencapai 16 TB. ext4 menggantikan  pemetaan block yang digunakan pada ext2 dan ext3. Ext 4 dirilis secara komplit dan stabil berawal dari kernel 2.6.28. Jadi, apabila distro yang secara default memiliki kernel tersebut atau di atasnya secara otomatis system sudah support Ext 4. Apabila masih menggunakan Ext 3, dapat dilakukan konversi ke ext 4 dengan beberapa langkah yang tidak terlalu rumit. Keuntungan menggunakan Ext 4 ini adalah mempunyai pengalamatan 48-bit blok yang artinya dia akan mempunyai 1 EiB = 1.048.576 TB ukuran maksimum file system dengan ukuran 16 TB untuk maksimum file sizenya, fast fsck, journal check-summing, defragmentation support. Fitur lainnya adalah dapat menampung subdirektori hingga 64.000, dan memiliki kehandalan yang lebih baik dengan menggunakan

 pengecekan check-summing.

6. Penanganan Deadlock 

Deadlock merupakan suatu kondisi dimana proses tidak dapat berjalan lagi ataupun tidak ada komunikasi lagi antar proses. Penyebab deadlock: •

Mutual eklusif, merupakan jaminan bagi proses bahwa hanya akan ada satu proses yang menggunakan satu resource dalam waktu tertentu, dengan kata lain resource tidak dapat digunakan oleh proses secara bersama-sama sehingga akan semakin besar kemungkinan terjadi deadlock.



Hold & wait, dimana proses yang memiliki/ memegang (hold) resource meminta resource tambahan untuk dapat RUNNING, tetapi resource tambahan tersebut tidak pernah didapatnya.



Tidak bisa disela (preemtion), resource yang dimiliki satu proses tidak akan diberikan kepada  proses lain sebelum proses itu sendiri mendapatkan resource tambahan dari proses lain sehingga dia akan melepaskan resource yang dimilikinya untuk proses lain, hal ini berlaku untuk semua  proses yang ada, dengan kata lain tidak akan ada proses yang mengalah dan membiarkan dirinya disela proses lain.



Menunggu sirkular, proses menunggu dalam model sirkular yang tidak mungkin mendapatkan solusi karena satu sama lain saling menunggu tanpa batas waktu tertentu (tak terhingga).

Gambar 5. Ilustrasi Deadlock 

Pada Linux kernel versi 2.6 ke atas yang mulai diterapkan pada Archlinux diperkenalkan suatu mekanisme seqlock ( sequential lock ) yang digunakan untuk melakukan penanganan deadlock . Seqlock  merupakan mekanisme untuk menghindari jumlah writer  yang lebih banyak dari jumlah reader  yang membutuhkan suatu resource. Seqlock  menyimpan sebuah  sequence number  yang digunakan untuk melakukan penguncian terhadap suatu resource. Penguncian dilakukan untuk  mendukung sinkronisasi antara 2 (dua) writer dan penomoran dilakukan untuk konsistensi dari sisi

reader . Selain melakukan perubahan pada resource, writer  akan melakukan increment  terhadap  sequence number baik pada saat mengakuisisi penguncian maupun setelah lepas dari penguncian.  Reader  membaca  sequence number  sebelum dan sesudah membaca resource. Apabila  sequence number  bernilai ganjil berarti writer  telah melepaskan penguncian sementara resource sedang digunakan oleh reader . Jika terjadi perubahan pada sequence number berarti terjadi perubahan pada resource oleh writer  pada saat sedang digunakan, maka reader  perlu mengakses kembali resource tersebut hingga ditemukan sequence number yang sama.

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF