• Tidak ada hasil yang ditemukan

Proses Management pada Linux. docx

N/A
N/A
Protected

Academic year: 2018

Membagikan "Proses Management pada Linux. docx"

Copied!
14
0
0

Teks penuh

(1)

Tugas OFFClass 3

Rangkuman LINUX

PA01

Muhamad Nugroho Purnomo

1501143286

Tubagus Miftah Farid Azhar

1501164795

Yosua Gunawan

1501158256

(2)

Proses Managemen pada LINUX

Manajemen Proses Linux adalah salah satu hal yang sangat penting yang harus dikuasai oleh seorang Teknisi Komputer. Kenapa? Karena selain kita mengetahui proses di Windows, kita harus tahu proses di Linux dan dengan penguasaan manajemen prose ini kita bisa mengetahui proses apa saja yang running pada setiap user. Atau dalam suatu jaringan juga kita bisa

melakukan controlling terhadap proses setiap client.

Dalam Manajemen proses beberapa hal penting yang harus dikuasai, yaitu : 1. Mengetahui proses yang terjadi Linux

2. Dapat melakukan proses controlling terhadap proses di Linux

3. Menghentikan proses yang tidak dibutuhkan dan mengurangi performa Linux

TIPE PROSES

Terdapat beberapa tipe proses yang dikenal dalam OS berbasis Linux pada umumnya, antara lain:

1. Interactive : proses yang dimulai (dan dikontrol oleh) shell[i][i][i]. Bisa tampak di luar (foreground) ataupun hanya di dalam (background).

2. Batch : proses yang tidak berhubungan dengan terminal, tetapi menunggu untuk dieksekusi secara berurutan (sekuensial).

3. Daemon : proses yang dimulai ketika Linux booting dan berjalan secara background. Proses ini menunggu permintaan dari proses lainnya, bila tidak ada request, maka berada dalam keadaan ‘idle’.

Dalam Linux, sifat-sifat proses dibagi menjadi tiga bagian, yakni: Identitas Proses, Lingkungan, dan Konteks.

IDENTITAS PROSES

Identitas proses memuat beberapa hal penting berikut:

(3)

Mandat (Credentials) → setiap proses harus memiliki sebuah user ID dan satu atau lebih group ID yang menentukan hak proses untuk mengakses sumber daya sistem dan file.

Personality → tidak ditemukan dalam sistem UNIX, namun dalam Linux setiap proses memiliki sebuah pengenal pribadi (personality) yang dapat (sedikit) mengubah system call tertentu secara semantic. Terutama digunakan oleh library emulation agar system call dapat kompatibel dengan bentuk tertentu UNIX.

Status Proses yang dikenali dalam Linux

1. Task Running : Proses yang siap untuk dieksekusi CPU

2. Task Interruptable : Proses yang menunggu sebuah kondisi. Interupsi, Sinyal dan aktifitas lain akan membangunkan proses.

3. Task Uninterruptable : Proses yang sedang sleep, dan tidak dapat di interrupt oleh signal.

4. Task Stopped : Proses yang dihentikan

5. Task Zombie : Proses telah berhenti, namun masih memiliki struktur data

ditask_struct di task vektor dan masih memegang sumber daya yang tidak digunakan lagi.

(4)

 Setiap proses diberi nomor khusus sebagai identifikasi yang disebut process identification atau PID berupa angka integer unik.

 Jika proses selesai (Terminated) maka semua sumber daya yang digunakan termasuk PID dibebaskan kembali.

 Proses dibuat menggunakan system call fork() yang sering disebut forking proses  System call fork() mengkopi proses pemanggil sehingga akan terdapat 2 proses yaitu :

1. Proses pemanggil disebut PARENT

2. Proses hasil kopian disebut CHILD

 Proses CHILD identik dengan proses PARENT-nya tetapi memiliki PID yang berbeda.

 Setelah proses baru (child) berhasil dibuat eksekusi dilanjutkan secara normal di masing –masing proses pada aris setelah pemanggilan system call fork().

 Proses pemanggil (PARENT) dapat melakukan forking proses lebih dari satu kali sehingga memungkinkan terdapat banyak proses CHILD yang dieksekusi.

 Proses CHILD dapat melakukan forking proses seperti halnya PARENT sehingga dapat terbentuk struktur pohon proses.

Sedangkan pada proses penghentian pada OS linux, jika telah menyelesaikan pernyataan terakhir, dan meminta pada sistem operasi untuk menghapusnya dengan menggunakan system call exit. Proses mengembalikan semua data (output) ke parent proses melalui system call wait. Kemudian proses dihapus dari list atau tabel sistem, dilanjutkan dengan menghapus PCB.

Penghapusan proses ini akan menjadi sangat kompleks jika ternyata proses yang akan dihentikan tersebut membuat proses-proses yang lain. Pada beberapa sistem, proses-proses anak akan dihentikan secara otomatis jika proses induknya berhenti. Namun, ada beberapa sistem yang menganggap bahwa proses anak ini terpisah dengan induknya, sehingga proses anak tidak ikut dihentikan secara otomatis pada saat proses induk dihentikan.

Parent dapat menghentikan eksekusi proses child dengan menggunakan system call abort. Proses anak dihentikan parent karena beberapa alasan, antara lain :

(5)

 Tugas child tidak dibutuhkan lebih lanjut

 Parent berhenti, karena system operasi tidak mengijinkan child untuk melanjutkan jika parent berhenti dan terminasi dilanjutkan

Memory Management pada LINUX

Memory Fisik

Bagian ini menjelaskan bagaimana linux menangani memori dalam sistem. Memori managemen merupakan salah satu bagian terpenting dalam sistem operasi. Karena adanya keterbatasan memori, diperlukan suatu strategi dalam menangani masalah ini. Jalan keluarnya adalah dengan menggunakan memori virtual. Dengan memori virtual, memori tampak lebih besar daripada ukuran yang sebenarnya.

Dengan memori virtual kita dapat:

1. Ruang alamat yang besar

Sistem operasi membuat memori terlihat lebih besar daripada ukuran memori sebenarnya. Memori virtual bisa beberapa kali lebih besar daripada memori fisiknya.

2. Pembagian memori fisik yang adil

Managemen memori membuat pembagian yang adil dalam pengalokasian memori antara proses-proses.

3. Perlindungan

Memori managemen menjamin setiap proses dalam sistem terlindung dari proses-proses lainnya. Dengan demikian, program yang crash tidak akan mempengaruhi proses lain dalam sistem tersebut.

4. Penggunaan memori virtual bersama

Memori virtual mengizinkan dua buah proses berbagi memori diantara

keduanya, contohnya dalam shared library. Kode library dapat berada di satu tempat, dan tidak dikopi pada dua program yang berbeda.

(6)

Memori fisik dan memori virtual dibagi menjadi bagian-bagian yang

disebut page. Page ini memiliki ukuran yang sama besar. Tiap page ini punya nomor yang unik, yaitu Page Frame Number (PFN). Untuk setiap instruksi dalam program, CPU melakukan

mapping dari alamat virtual ke memori fisik yang sebenarnya.

Penerjemahan alamat di antara virtual dan memori fisik dilakukan oleh CPU menggunakan tabel page untuk proses x dan proses y. Ini menunjukkan virtial PFN 0 dari proses x dimap ke memori fisik PFN 1. Setiap anggota tabel page mengandung informasi berikut ini:

1. Virtual PFN

2. PFN fisik

3. informasi akses page dari page tersebut

Untuk menerjemahkan alamat virtual ke alamat fisik, pertama-tama CPU harus

menangani alamat virtual PFN dan offsetnya di virtual page. CPU mencari tabel page proses dan mancari anggota yang sesuai degan virtual PFN. Ini memberikan PFN fisik yang dicari. CPU kemudian mengambil PFN fisik dan mengalikannya dengan besar page untuk mendapat alamat basis page tersebut di dalam memori fisik. Terakhir, CPU menambahkan offset ke instruksi atau data yang dibutuhkan. Dengan cara ini, memori virtual dapat dimap ke page fisik dengan urutan yang teracak.

Demand Paging

Cara untuk menghemat memori fisik adalah dengan hanya meload page virtual yang sedang digunakan oleh program yang sedang dieksekusi. Tehnik dimana hanya

(7)

Ketika proses mencoba mengakses alamat virtual yang tidak ada di dalam memori, CPU tidak dapat menemukan anggota tabel page. Contohnya, dalam gambar, tidak ada anggota tabel page untuk proses x untuk virtual PFN 2 dan jika proses x ingin membaca alamat dari virtual PFN 2, CPU tidak dapat menterjemahkan alamat ke alamat fisik. Saat ini CPU bergantung pada sistem operasi untuk menangani masalah ini. CPU menginformasikan kepada sistem operasi bahwa page fault telah terjadi, dan sistem operasi membuat proses menunggu selama sistem operasi menagani masalah ini.

CPU harus membawa page yang benar ke memori dari image di disk. Akses disk membutuhkan waktu yang sangat lama dan proses harus menunggu sampai page selesai diambil. Jika ada proses lain yang dapat dijalankan, maka sistem operai akan memilihnya untuk kemudian dijalankan. Page yang diambil kemudian dituliskan di dalam page fisik yang masih kosong dan anggota dari virtual PFN ditambahkan dalam tabelpage proses. Proses kemudian dimulai lagi pada tempat dimana page fault terjadi. Saat ini terjadi pengaksesan memori virtual, CPU membuat penerjemahan dan kemudian proses dijalankan kembali.

Demand paging terjadi saat sistem sedang sibuk atau saat image pertama kali diload ke memori. Mekanisme ini berarti sebuah proses dapat mengeksekusi image dimana hanya sebagian dari image tersebut terdapat dalam memori fisik.

Swaping

Jika memori fisik tiba-tiba habis dan proses ingin memindahkan sebuah page ke memori, sistem operasi harus memutuskan apa yang harus dilakukan. Sistem operasi harus adil dalam mambagi page fisik dalam sistem diantara proses yang ada, bisa juga sistem operasi menghapus satu atau lebih page dari memori untuk membuat ruang untuk page baru yang dibawa ke memori. Cara page virtual dipilih dari memori fisik berpengaruh pada efisiensi sistem.

Linux menggunakan tehnik page aging agar adil dalam memilih page yang akan dihapus dari sistem. Ini berarti setiap page memiliki usia sesuai dengan berapa sering page itu diakses. Semakin sering sebuah pagediakses, semakin muda page tersebut. Page yang tua adalah kandidat untuk diswap.

Pengaksesan Memori Virtual Bersama

Memori virtual mempermudah proses untuk berbagi memori saat semua akses ke memori menggunakan tabel page. Proses yang akan berbagi memori virtual yang

sama, page fisik yang sama direference oleh banyak proses. Tabel page untuk setiap proses mengandung anggota page table yang mempunyai PFN fisik yang sama.

(8)

Desainer dari CPU dan sistem operasi berusaha meningkatkan kinerja dari sistem. Disamping membuat prosesor, memori semakin cepat, jalan terbaik adalah manggunakan cache. Berikut ini adalah beberapa cache dalam managemen memori di linux:

1. Page Cache

Digunakan untuk meningkatkan akses ke image dan data dalam disk. Saat dibaca dari disk, page dicache di page cache. Jika page ini tidak dibutuhkan lagi pada suatu saat, tetapi dibutuhkan lagi pada saat yang lain, page ini dapat segera diambil dari page cache.

2. Buffer Cache

Page mungkin mengandung buffer data yang sedang digunakan oleh kernel, device driver dan lain-lain. Buffer cache tampak seperti daftar buffer. Contohnya, device driver membutuhkan buffer 256 bytes, adalah lebih cepat untuk mengambil buffer dari buffer cache daripada mengalokasikan page fisik lalu kemudian memecahnya menjadi 256 bytes buffer-buffer.

3. Swap Cache

Hanya page yang telah ditulis ditempatkan dalam swap file. Selama page ini tidak mengalami perubahan setelah ditulis ke dalam swap file, maka saat berikutnya page di swap out tidak perlu menuliskan kembali jika page telah ada di swap file. Di sistem yang sering mengalami swap, ini dapat menghemat akses disk yang tidak perlu.

Salah satu implementasi yang umum dari hardware cache adalah di CPU, cache dari anggota tabel page. Dalam hal ini, CPU tidak secara langsung membaca tabel page, tetap mencache terjemahan page yang dibutuhkan.

Load dan Eksekusi Program

1. Penempatan program dalam memori

Linux membuat tabel-tabel fungsi untuk loading program, memberikan

(9)

2. Linking statis dan linking dinamis

a. Linking statis:

librari-librari yang digunakan oleh program ditaruh secara langsung dalam file binari yang dapat dieksekusi. Kerugian dari linking statis adalah setiap program harus mengandung kopi library sistem yang umum.

b. Linking dinamis:

hanya sekali meload librari sistem menuju memori. Linking dinamis lebih efisien dalam hal memori fisik dan ruang disk.

Manajemen File pada LINUX

Membuat file baru

Gunakan perintah touch namafilebaru. contoh dibawah adalah perintah untuk membuat file kosong dengan nama belajarlinux.txt

candra@candra-ubuntu:~/demo$ touch belajarlinux.txt

candra@candra-ubuntu:~/demo$ ls

belajarlinux.txt

Menghapus file

Gunakan perintah rm nama file

rm belajarlinux.txt

Merename atau memindah file

Perintahnya sama dengan perintah untuk memindah atua merename folder, yaitu menggunakan perintah mv.

Mengosongkan isi file

(10)

perintah ini sangat bermanfaat untuk mengkosongkan file log yang ada di /var/log/. misalkan kita ingin mengosongkan access.log dari apache webserver, maka perintahnya seperti ini.

cat /dev/null>/var/log/apache2/access.log

Pembagian File

Pada umunya, ada dua macam file yang berada pada struktur file, yaitu file direktori dan file biasa. File biasa menyimpan data, sedang file direktori meyimpan nama file yang terdapat pada direktori tersebut. Sebagian besar file, hanya merupakan file biasa yang disebut file regular yang berisi data biasa sebagai contoh file text, file executable, atau program, input atau output dari program dan lainnya. Selain file biasa ada file-file khusus seperti berikut :

 Directories: file yang berisi daftar dari file lain.

 Special files: mekanisme yang digunakan untuk input dan output. Sebagian besar terdapat pada direktori /dev.

 Links: Sistem untuk membuat file atau direktori dapat terlihat di banayk bagian dari pohon file sistem.

 (Domain) sockets: Jenis file khusus, mirip dengan soket TCP/IP, yang menyediakan jaringan antar proses yang terproteksi oleh file system's access control.

 Named pipes: berfungsi kurang lebih seperti soket dan membentuk jalur untuk proses komunikasi.

Absolute Paths

Sebuah Path absolute di awali dari direktori root ( / ), dan nama direktori yang akan di masuki berada di dalamnya, misalnya perintah ls yang sebenarnya berada pada direktori:

/bin/ls

Jadi untuk menjalankan perintah ls dengan menggunakan absolute path yakni dengan cara:

[josh@slashsmart josh]$ /bin/ls

(11)

[josh@slashsmart josh]$ ls /usr/share/doc/ Relative Paths

Untuk memasuki suatu direktori kita tidak harus memulai dari direktori root ( / )atau dengan katalain kita menggunakan relative path.Jadi tergantung dari direktori dimana kita berada saat itu.

Misalnya :

[josh@slashsmart josh]$ cd / [josh@slashsmart /]$ cd usr [josh@slashsmart usr]$ cd share [josh@slashsmart share]$

I\O Pada LINUX

Proses I/O

Sebuah proses memerlukan Input dan Ouput.

Intruksi (command) yang diberikan pada Linux melalui Shell disebut sebagai eksekusi program yang selanjuutnya disebut proses.

Setiap kali intruksi diberikan, maka Linux kernel akan menciptakan sebuah proses dengan memberikan nomor PID (Proses Identity). Proses dalam Linux selalu membutuhkan Input dan menghasilkan suatu output.

Dalam konteks Linux input/output adalah:

 Keyboard (input)  Layar (output)  Files

 Struktur data kernel

(12)

FILE DESCRIPTOR

Linux berkomunikasi dengan file melalui file descriptor yang direpresentasikan melalui angka yang dimulai dari 0, 1, 2 dan seterusnya.

Tiga buah file descriptor standar yang lalu diciptakan oleh proses adalah :

 0 = keyboard (standar input)  1 = layar (standar output) Output

(Monitor)

 2 = layar (standar error) Input(keyboard)

1

0 2

Linux tidak membedakan antara peralatan hardware dan file,Linux memenipulasi peralatan hardware sama dengan file.

PEMBELOKAN (REDIRECTION)

Pembelokan dilakukan untuk standard input, output dan error, yaitu untuk mengalihkan file descriptor dari 0, 1 dan 2. Simbol untuk pembelokan adalah :

 0< atau < pengganti standard input  atau > pengganti standard output

PIPA (PIPELINE)

Mekanisme pipa digunakan sebagai alat komunikasi antar proses.

Input ==> Proses1 ==> Output = Input ==> Proses2 => Output

Proses 1 menghasilkan output yang selanjutnya digunakan sebagai input oleh Proses 2.

Hubungan output input ini dinamakan pipa, yang menghubngkan Proses 1 dengan Proses2 dan dinyatakan dengan symbol “|”.

(13)

FILTER

Filter adalah utilitas Linux yang dapat memproses standard input (dari keyboard) dan menampilkan hasilnya pada standard output (layar). Contoh filter adalah cat, sort, grep, pr, head, tail, paste dan lainnya.

Pada sebuah rangkaian pipa :

P1 | P2 | P3 ……. | Pn-1 | Pn

Maka P2 sampai dengan P mutlak harus utilitas Linux yang berfungsi sebagai filter. P1 (awal) dan Pn n-1 (terakhir) boleh tidak filter. Utilitas yang bukan filter misalnya who, ls, ps, lp, lpr, mail dan lainnya. Beberapa perintah Linux yang digunakan untuk proses penyaringan antara lain :

 Perintah grep

Digunakan untuk menyaring masukannya da n menampilkan baris-baris yang hanya mengandung pola yang ditentukan. Pola ini disebut regular expression.

 Perintah wc

Digunakan untuk menghitung jumlah baris, kata dan karakter dari baris-baris masukan yang diberikan kepadanya. Untuk mengetahui berapa baris gunakan option –l, untuk mengetahui berapa kata, gunakan option –w dan untuk mengetahui berapa karakter, gunakan option –c. Jika salah satu option tidak digunakan, maka tampilannya adalah jumlah baris, jumlah kata dan jumlah karakter.

 Perintah sort

Digunakan untuk mengurutkan masukannya berdasarkan urutan nomor ASCII dari karakter.

 Perintah cut

Digunakan untuk mengambil kolom tertentu dari baris-baris masukannya, yang ditentukan pada option –c.

 Perintah uniq

(14)

Gambar

tabel page untuk proses x dan proses y. Ini menunjukkan virtial PFN 0 dari proses x dimap ke

Referensi

Dokumen terkait

Profitabilitas merupakan salah satu bagian finansial yang berpengaruh terhadap nilai perusahaan.Profitabilitas menunjukkan tingkat keuntungan bersih yang mampu diraih

Tampilan ini digunakan admin untuk melihat dan mencatat, data pemasukan setiap bulanya.Laporan penjualan produk Toko Sinar Nelayan dibuat agar sistem yang

Perlindungan Hukum Para Pihak Akibat Penjualan Hak Tanggungan di bawah. Tangan (Studi pada Bank Mandiri

Ledy Daiyana (2019) menulis skripsi yang berjudul “Tindak Tutur Ilokusi Sopir Truk di Rumah Makan yang Ada di Kecamatan Pulau Punjung, Kabupaten Dharmasraya”.

Hal ini dapat dilihat bahwa ekstrak etanol 70%, dengan aktivitas penghambatan polimerisasi hem terbaik, memiliki kandungan golongan senyawa kimia yang paling banyak

Jaminan tersebut bukanlah jumlah maksimum kerugian jika pasar bergerak berlawanan dengan posisi Anda, namun sebagian dari modal total yang Anda setorkan juga turut menanggung

9 Ajaran tersebut akan tampak dalam kehidupan sehari-hari para umat Buddha di Dusun Timo Kerep ini, kesederhanaan yang sangat jelas tampak yakni dari bangunan rumah

Berdasarkan hasil analisis data tingkat keaktifan masyarakat dalam pertemuan untuk pencegahan dan pengendalian kebakaran lahan gambut di Hutan Lindung Gambut (HLG) Londerang di