• Tidak ada hasil yang ditemukan

Tugas SO Archlinux

N/A
N/A
Protected

Academic year: 2021

Membagikan "Tugas SO Archlinux"

Copied!
9
0
0

Teks penuh

(1)

TUGAS SISTEM OPERASI

TUGAS SISTEM OPERASI

ARCHLINUX

ARCHLINUX

Disusun Oleh:

Disusun Oleh:

FENDI TRI CAHYONO

FENDI TRI CAHYONO

168/Pra-MIK/32/2013

168/Pra-MIK/32/2013

Yogyakarta

Yogyakarta

2013

2013

(2)

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

(3)

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

(4)

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

(5)

◦ 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 come first-served. Jika terlalu kecil maka akan banyak peralihan sehingga banyak waktu terbuang. Misal: time quantum=5.

(6)

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.

(7)

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

(8)

 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

(9)

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.

Gambar

Gambar 1. Struktur Linux
Gambar 3. Proses Linux memiliki dua algoritma penjadwalan proses yang terpisah.
Gambar 4 . Algritma FIFO pada linux
Gambar 5. Ilustrasi Deadlock 

Referensi

Dokumen terkait

Dengan kata lain jangka waktu yang digunakan sebagai proses pengenalan harus digunakan secara maksimal untuk mengenalkan citra baru tersebut.Agar pada proses promosi kita

Proses melakukan klarifikasi Jabar Saber Hoaks menggunakan kata kunci untuk mencari sumber klarifikasi, hal ini digunakan karena dengan menggunakan kata kunci akan

Dengan menganggap proses ini sebagai proses yang kontinu sepanjang waktu, kita bisa menyatakan persediaan modal sebagai suatu fungsi waktu, K(t), dan

Mutual Exclusion adalah suatu cara yang menjamin jika ada sebuah proses yang menggunakan variabel atau berkas yang sama (digunakan juga oleh proses lain), maka proses lain

Salah satu metode yang umum digunakan dalam pencarian dokumen adalah dengan menggunakan kata dasar atau kata berimbuhan sebagai kata kunci.. Kata-kata tersebut kemudian akan

Indikator biologi spore strip yang diaplikasikan pada proses sterilisasi menggunakan autoklaf dapat menentukan jaminan sterilitas, dimana waktu sterilisasi yang

Digunakan sebagai metode proses utama dalam pembuatan simulasi, pada modul ini dilakukan input data seperti jumlah resource yang tersedia, waktu proses yang dapat

Iklan tidak boleh menggunakan kata-kata “satusatunya” atau yang bermakna sama, tanpa secara khas menyebutkan dalam hal apa produk tersebut menjadi yang