BASIC COMMAND LINUX & MANAJEMEN PROSES

A. BASIC COMMAND LINUX

Langsung aja yah … :3

Apa sihh linux itu ??

Linux adalah sebuah sistem operasi yang dikembangkan oleh Linus Benedict Torvalds dari Universitas Helsinki Finlandia sebagai proyek hobi mulai tahun 1991. Ia menulis Linux, sebuah kernel untuk prosesor 80386, prosesor 32-bit pertama dalam kumpulan CPU Intel yang cocok untuk PC. Baru pada tanggal 14 Maret 1994 versi 1.0 mulai diluncurkan, dan hal ini menjadi tonggak sejarah Linux.

Linux merupakan clone dari UNIXyang telah di-port ke beragam platform, antara lain: Intel 80×86, AlphaAXP, MIPS, Sparch, Power PC, dan lain sebagainya. Sekitar 95% kode sumber kernel sama untuk semua platform perangkat keras.

Linux termasuk sistem operasi yang didistribusikan secara open source, artinya kode sumber Linux diikutsertakan sehingga dapat dipelajari dan dikembangkan dengan mudah. Selain itu Linux dikembangkan oleh GNU(General Public License).

Linux dapat digunakan untuk berbagai keperluan, seperti: jaringan, pengembangan software, dan sebagai end-user platform. Selama ini Linux menjadi sistem operasi yang menjadi banyak perhatian karena kecanggihan dan harganya yang relatif murah dibanding dengan sistem operasi yang lain.

Nah, sudah tau kan teman-teman apa itu linux. Ternyata linux itu adalah sebuah sistem operasi yang berakar dari UNIX dan sama sekali tidak ada.

Nah kalau UNIX apa dong ?

Sistem operasi UNIX adalah kumpulan program yang berperan sebagai penghubung antara komputer dan user. Kernel adalah program komputer yang bertugas dalam mengalokasikan system resources dan mengkoordinasi dari semua proses internal komputer. User berkomunikasi dengan kernel melalui sebuah program yang disebut shell. Shell adalah command line interpreter, shell mentranslate perintah yang diberikan oleh user dan mengubahnya ke bahasa yang

Unix dikembangkan di tahun 1969 oleh grup dari pekerja AT& T di Bell Laboratory, didalam pengembangan itu terlibat juga Ken Thompson, Dennis Ritchie, Douglas McIlroy, dan Joe Ossanna.

Banyak sekali jenis-jenis Unix yang tersedia di pasaran. Beberapa contoh yang banyak dikenal dan digunakan adalah Solaris, AIX, dan BSD. Linux adalah salah satu contoh dari Unix-Like Operating System yang tersedia secara bebas dan gratis.

Unix bersifat multiuser system karena beberapa orang bisa mengakses komputer yang terinstall Unix pada saat bersamaan. Unix bersifat multitasking karena user bisa menjalankan banyak program pada satu waktu.

Empat komponen dasar dari UNIX antara lain:

  • Kernel, jantung dan bagian inti dari sistem operasi. Kernel berinteraksi dengan hardware dan berbagai tugas seperti manajemen memori, penjadwalan tugas, dan manajemen file.
  • Shell, fasilitas yang memproses request kita kepada sistem operasi. Ketika mengetikan perintah di terminal, shell akang menerjemahkan perintah tersebut dan memanggil program yang kita inginkan sesuai dengan perintah yang kita ketikkan di terminal. Beberapa shell yang terkenal dan yang tersedia di berbagai varian Unix antara lain C Shell, Bourne Shell, dan Korn Shell.
  • Command and Utilities, dalam sebuat sistem operasi terdapat berbagai perintah dan fasilitas yang bisa digunakan untuk keperluan sehari-hari dalam penggunaan komputer. Di dalam Unix terdapat command and utilities built in yang sudah terpasang secara default. Kita juga bisa menambahkan perintah-perintah tersebut denganmemasang 3rd party software yang sesuai dengan kebutuhan kita.
  • Files and Directories, sebuah cara Unix untuk mengelola data menjadi sebuah file, dan mengelola file kedalam sebuah direktori. Direktori sebuah file, dan mengelola file kedalam sebuah direktori. Direktori-direktori ini dikelola kedalam struktur pohon yang disebut dengan filesystem .

Tadaa kita langsung ke prakteknya yahh~~~

terminal

Perintah-perintah ini di eksekusi dengan menggunakan Terminal/Console. Untuk membuka jendela Terminal ada beberapa cara:

  • Dash Menu | ketikan “terminal” | klik terminal.
  • Menggunakan shortcut [CTRL] + [ALT] + [T]

aPerintah Dasar untuk Penanganan File

  • Membuat direktori

mkdir nama_folder

Misalkan sobat-sobat akan membuat sebuah folder dengan nama “kodok”, maka pada terminal ketikkan perintah berikut:

mkdir kodok

setelah itu akan tercipta sebuah folder baru yang bernama “kodok” di direktori yang sedang aktif.

  • Menampilkan isi direktori

ls

Jika dijalankan begitu saja perintah ini akan menampilkan daftar file dan folder yang berada di direktori yang sedang aktif.

ls

Perintah lsini bisa ditambah dengan atribut-atribut yang lain untuk memperoleh tampilan daftar isi direktori yang berbeda. Misalnya saja:

  • ls -l: memperlihatkan daftar file disertai dengan atribut seperti pemilik, permission, ukuran, dan tanggal modifikasi .
  • ls -a: memperlihatkan daftar file dan file tersembunyi di dalam direktori sekarang tanpa atribut apapun .
  • ls -al: menggabungkan opsi perintah -l dan -a untuk ls .
  • ls /direktori/ehm: memperlihatkan daftar file dari /direktori/ehmketika kita sedang berada di direktori sekarang.
  • Berpindah direktori

cd direktori_tujuan

Perintah ini digunakan untuk berpindah ke direktori yang lain. Contohnyasobat-sobat sedang berada di direktori “home” dan ingin berpindah ke direktori lain yang bernama “nama_folder” maka perintah yang bisa dilakukan adalah:

cd nama_folder

maka seketika sobat-sobat akan berpindah ke dalam direktori “nama_folder” tersebut. Perintah cdini juga memiliki parameter yang lain untuk berpindah ke folder, diantaranya:

  • cd direktori/ → pindah direktori ke direktori yang berada di dalam direktori sekarang.
  • cd → pindah ke direktori home.
  • cd ~ → pindah ke direktori home.
  • cd .. → pindah satu direktori ke direktori teratas atau kembali ke direktori sebelumnya.
  • cd ../../n → pindah n direktori sebelumnya.
  • cd /direktori/sesuatu → pindah ke direktori tanpa harus mundur ke direktori sebelumnya. Akan pindah jika direktori tersebut ada dan penulisan nama direktorinya benar . Contoh:

cd /media/sda6/data/kumpulan3gp

perintah diatas akan membuat kita berpindah ke direktori “kumpulan3gp” yang berada di folder media/sda6/data.

  • Menampilkan tempat direktori yang aktif

pwd

Penggunaan perintah ini cukup dengan mengetikan pwdpada terminal.

pwd

  • Menyalin file

cp file_yang_akan_disalin direktori_tujuan

  • cp file /path/ke/direktori/sesuatu → mengkopi file tertentu ke direktori tertentu
  • cp -r folder /path/ke/direktori/sesuatu → mengkopi folder tertentu secara rekursif ke direktori tertentu
  • cp *.extension /path/ke/direktori/sesuatu → mengkopi file –file yang berekstensi tertentu ke direktori tertentu
  • cp nama* /path/ke/direktori/sesuatu → mengopi file –file yang namanya diawali dengan ‘nama’ke direktori tertentu.
  • Memindahkan file

mv file_yang_akan_dipindahkan direktori_tujuan

Selain berfungsi untuk memindahkan file ke direktori lain, perintah ini juga bisa digunakan untuk mengganti nama (rename) file.

mv nama_file_lama.ehm nama_file_baru.ehm

Perintah ini memiliki cara kerja yang hampir sama dengan cp.

  • Menghapus file
  • rm file → menghapus file
  • rm -r folder→ menghapus folder
  • rm -rf folder→ menghapus folder secara paksa
  • Mencari file dalam direktori

find nama_file/folder_yang_akan_dicari

contoh:

find CintaYangHilang.txt

Perintah diatas apabila di eksekusi akan mencari file yang bernama “CintaYangHilang.txt” pada direktori yang aktif. Apabila file ditemukan maka file dengan nama itu akan ditampilkan, tapi apabila file tidak ada maka akan muncul notifikasi bahwa file tidak ada.

Perintah Dasar dalam Pemrosesan Teks

  • Melihat isi file

cat

Perintah ini digunakan untuk menampilkan isi file kedalam bentuk palin text. Penggunaannya adalah:

cat nama_file.ehm

perintah diatas akan menampilkan file “nama_file.ehm” kedalam bentuk plain text.

cat baru

  • Menampilkan jumlah baris, jumlah kata, dan ukuran file (dalam byte) suatu file.

wc nama_file.txt

wc

Perintah Dasar dalam Sistem Administrasi

  • Menjalankan perintah/program sebagai super user

Terkadang suatu perintah/program di dalam linux harus dijalankan dengan menggunakan super user (untuk alasan keamanan). Untuk melakukan itu sobat-sobat bisa menggunakan perintah sudo nama_perintah. Contoh:

sudo halt

perintah diatas artinya sobat-sobat menjalankan perintah“halt” sebagai super user, bukan user biasa.

  • Whoami

Perintah diatas adalah perintah untuk melihat user yang sedang aktif. Penggunaan perintah tersebut adalah dengan mengetikan langsung whoamipada terminal dan kemudian akan muncul user apa yang sedang aktif.

Perintah Dasar dalam Manajemen Pemrosesan

  • Menampilkan proses-proses yang sedang berjalan

ps aux

Untuk menampilkan proses yang sedang berjalan, dengan perintah psjuga sudah cukup. Namun apabila ingin menampilkan juga proses secara detail maka parameter aux ditambahkan. Penggunaan perintah ini cukup dengan mengetikan ps auxpada jendela terminal.

  • Mengakhiri proses yang sedang berjalan
  • kill PID membunuh sebuah proses yang memiliki PID tertentu
  • kill programmembunuh sebuah proses yang memiliki nama tertentu
  • killall programmembunuh semua proses yang memiliki nama tertentu
  • Menampilkan daftar perangakt yang ditancapkan di port USB

ps

  • Membersihkan tampilan terminal

clear

Utilitiy

  • Merestart sistem

reboot

  • Mematikan sistem

shutdown/halt

  • Menampilakn daftar hardware

lshw

catatan: perintah ini harus dijalankan sebagai super user.

  • Menampilkan lamanya sistem telah berjalan

Uptime

  • Kalkulator di dalam terminal

Bc

B. MANAJEMEN PROSES

Proses adalah program yang sedang dieksekusi. Di Linux, setiap program merupakan proses. Proses dapat diciptakan dan dapat pula dimusnahkan. Ketika sistem operasi GNU/Linux pertama kali diaktifkan, saat itu pula proses yang bertanggung jawab untuk memuat kernel diciptakan. Proses yang pertama kali diciptakan di Linux disebut init. Konsep proses di Linux memiliki kemiripan dengan konsep file permission. Dalam pengertian setiap user hanya dapat memanipulasi proses yang menjadi miliknya. Setiap proses juga memiliki PID atau Process ID yang merupakan nomor unik yang dapat digunakan untuk berinteraksi dengan proses bersangkutan.

proses juga memiliki PID atau Process ID yang merupakan nomor unik yang dapat digunakan untuk berinteraksi dengan proses bersangkutan.

Terdapat 4 konsep dasar manajemen proses :

  • Multiprogramming, salah satu teknik penjadwalan dimana tugas (task) yang sedang berjalan tetap berjalan sampai ia melakukan operasi yangmembutuhkan waktu untuk menunggu respon dari luar (external event), misalnya membaca data dari disket/CD/dsb, atau sampai komputer memaksa untuk menukar tugas yang sedang berjalan dengan tugas lainnya.
  •  Pseudoparallelism, eksekusi proses secara paralel pada sistem.
  •  Multiprcessing, kemampuan pemrosesan komputer yang dilakukan secara serentak. Istilah ini juga dapat merujuk kepada dukungan sebuah sistem untuk mendukung lebih dari satu prosesor dan mengalokasikan tugas kepada prosesor-prosesor tersebut.
  • Distributed Processing, Mengerjakan semua proses pengolahan data secara bersama antara komputer pusat dengan beberapa komputer yang lebih kecil dan saling dihubungkan melalui jalur komunikasi.

Model-model proses:

  •  Sequential Proses.
  • Multiprogramming.
  • CPU Switching

Operasi –operasi pada Proses :

  • Penciptaan proses (create a process).
  • Penghancuran/terminasi proses (destroy a process).
  • Penundaan proses (suspend a process).
  • Pelanjutan kembali proses (resume a process).
  • Mem-block proses.
  • Membangunkan proses.
  • Menjadwalkan proses.
  • Komunikasi Antar Proses.

Perintah-perintah proses di linux :

  • Instruksi ps (process status) digunakan untuk melihat kondisi proses yang ada. PID adalah Nomor Identitas Proses, TTY adalah nama terminal dimana proses tersebut aktif, STAT berisiS (Sleeping) dan R (Running), COMMAND merupakan instruksi yang digunakan.
  • Untuk melihat faktor/elemen lainnya, gunakan option –u (user). %CPU adalah presentasi CPU time yang digunakan oleh proses tersebut, %MEM adalah presentasi system memori yang digunakan proses, SIZE adalah jumlah memori yang digunakan, RSS (Real System Storage) adalah jumlah memori yang digunakan, START adalah kapan proses tersebut diaktifkan.
  • Mencari proses yang spesifik untuk pemakai.

$ ps

$ ps u

$ ps -u <user>

ps-u

  • Mencari proses lainnya gunakan opsi a,au dan aux

$ ps -a

$ ps -au

$ ps –aux

ps-aux

  • Melihat proses yang sedang berjalan

$ top

top

$ htophtop

Catatan :untuk install htop ketik command sudo apt-get install htop(perlu koneksi internet)

  • Menampilkan hubungan proses parent dan child

$ ps -eH->Menampilkan hubungan proses parent dan child

$ ps -eF ->Menampilkan hubungan proses parent dan childserta letak prosesnya

ps-ef

  • Menampilkansemua proses pada sistem dalam bentuk hirarki parent/child

$ pstree

patree

  • Menghentikan suatu proses/job

$ kill %<nomor job> contoh: kill %1

$ kill <PID> contoh: kill 1908

$ pkill <nama proses> contoh : pkill firefox

$ pkillall <nama proses> contoh : pkillall firefox

  • Mengubah prioritas suatu proses

$ renice<prioritas> <PID>

STRUKTUR DAN PROSES PADA LINUX

A. Struktur Sistem Operasi Linux

Gambar berikut ini merupakan struktur sederhana dari sistem operasi Linux.

12
Desktop (KDE, Gnome)

Sebelum kita membahas lebih jauh apa itu KDE dan Gnome, kita perlu mengetahui apa itu Desktop?? Desktop dalam sistem operasi bisa dikatakan sebagai sebuah area kerja dengan interface grafis untuk user agar dapat mengerjakan pekerjaannya pada sistem operasi tersebut.

Selanjutnya kita akan membahas tentang KDE dan Gnome. KDE (K Desktop Environment) merupakan salah satu windows manager di sistem operasi berbasis Unix. Pembuatan aplikasi yang berjalan di KDE harus mengikuti standar antarmuka yang ramah dan efisien penggunaannya. KDE adalah sebuah aplikasi desktop environment untuk sistem operasi berbasis Unix (Linux, FreeBSD, dll). Fungsi dari KDE adalah untuk mengurangi penggunaan command line yang mungkin terlalu rumit bagi pengguna yang awam di sistem operasi berbasis Unix tersebut, sehingga pengoperasiannya semudah mengoperasikan desktop pada windows.

Gnome (GNU Network Object Model Environment) adalah Graphical User Interface (GUI) dan aplikasi desktop untuk sebagian pengguna Unix dan Linux. Gnome dibuat dengan menyesuaikan engine yang dipakai untuk menampilkan warna dan efek yang diinginkan. Gnome adalah salah satu desktop bagi pengguna Linux yang memiliki kemudahan memilih aplikasi desktop.

Perbedaan KDE dengan Gnome :

KDE memiliki tampilan grafis yang lebih bagus dan cantik tapi akan membuat penggunaan memory yang banyak sehingga memperlambat system.

Gnome penampilannya tidak buruk, tapi tidak terlalu memakai banyak memory, sehingga kinerja sistem lebih lancar.

Window manager

Window manager adalah program yang berfungsi untuk mengatur tampilan window dari aplikasi yang sedang anda jalankan. Perlu diingat bahwa sebuah desktop manager / desktop sangat bergantung pada window manager ini, namun tidak sebaliknya.

Xwindows

Linux tidak sepenuhnya text based dan tidak menarik bagi sebagian orang yang sudah lama dimanjakan oleh GUI yang dimiliki MS-Windows, tapi Linux juga memiliki interface berbasis grafik yang sangat powerfull dan dikenal dengan Xwindow system. Interface ini mendukung banyak aplikasi berbasis grafik dan mudah menjadi standar industri.

intinya ketiga lapisan tadi sebagai penghubung antara user dengan sistem operasi Linux.

Kernel

Dalam sebuah perangkat komputer, kernel merupakan komponen inti dari sistem operasi yang berjalan dalam perangkat tersebut. Kernel bertugas untuk pembagian sumber daya sistem, komunikasi antara komponen hardware dan software.

Ada beberapa desain kernel :

Monolithic kernel

Micro kernel

Hybrid kernel

Exo kernel

Yang terakhir dari struktur Linux ini adalah hardware. sudah kita ketahuio bersama bahwa hardware adalah perangkat keras dari komputer itu sendiri.

B.  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.

13

 

 

Programmed I / O, Interrupt & Direct Memory Access (DMA)

  1. Programmed I / O

Programmed I / O (PIO) mengacu pada transfer data yang diprakarsai oleh CPU di bawah sopir kontrol perangkat lunak untuk register akses atau memori pada perangkat.

CPU mengeluarkan perintah kemudian menunggu I / O operasi akan selesai. Seperti CPU lebih cepat daripada modul I / O, masalah dengan diprogram I / O adalah bahwa CPU harus menunggu waktu yang lama untuk I / O modul perhatian untuk siap baik untuk penerimaan atau transmisi data. CPU, sambil menunggu, berulang kali harus memeriksa status modul I / O, dan proses ini dikenal sebagai Polling. Akibatnya, tingkat kinerja seluruh sistem rusak parah.

Programmed I / O pada dasarnya bekerja dengan cara ini:

  • Permintaan CPU I / O operasi
  • I / O modul melakukan operasi
  • I / O modul menetapkan status bit
  • CPU memeriksa Status bit secara berkala
  • I / O modul tidak memberitahu CPU secara langsung
  • I / O modul tidak mengganggu CPU
  • CPU mungkin menunggu atau kembali lagi nanti
  1. Interrupt

Isu-isu CPU perintah ke modul I / O kemudian hasil kerja normal sampai terganggu oleh I / O device pada saat penyelesaian pekerjaannya. Untuk masukan, perangkat mengganggu CPU ketika data baru telah tiba dan siap untuk diambil oleh prosesor sistem. Tindakan yang sebenarnya untuk melakukan tergantung pada apakah perangkat menggunakan I / O port, pemetaan memori. Untuk output, perangkat memberikan interupsi baik bila siap untuk menerima data baru atau untuk mengakui transfer data yang berhasil. Perangkat memori-dipetakan dan DMA-mampu biasanya menghasilkan interupsi untuk memberitahu sistem mereka dilakukan dengan buffer. Meskipun Interrupt mengurangi CPU harus menunggu untuk perangkat, tetapi masih tidak efisien dalam transfer data dalam jumlah besar karena CPU harus mentransfer data dengan kata kata antara I / O modul dan memori.

Di bawah ini adalah operasi dasar Interrupt:

  • Masalah CPU membaca perintah
  • I / O modul mendapat data dari perangkat sementara CPU melakukan pekerjaan lain
  • I / O modul menginterupsi CPU
  • Permintaan CPU Data
  • I / O transfer data modul
  1. Direct Memory Access (DMA)

Direct Memory Access (DMA) berarti hibah CPU I / O otoritas modul untuk membaca dari atau menulis ke memori tanpa keterlibatan. Modul DMA mengontrol pertukaran data antara memori utama dan I / O device. Karena perangkat DMA dapat mentransfer data secara langsung ke dan dari memori, daripada menggunakan CPU sebagai perantara, dan dengan demikian dapat mengurangi kemacetan di bus. CPU hanya terlibat di awal dan akhir transfer dan terputus setelah seluruh blok telah ditransfer.

Direct Memory Access membutuhkan hardware khusus yang disebut DMA controller (DMAC) yang mengelola transfer data dan mengadili akses ke sistem bus. Kontroler diprogram dengan sumber dan tujuan pointer (di mana untuk membaca / menulis data), counter untuk melacak jumlah byte yang ditransfer, dan pengaturan, termasuk I / O dan memori jenis, interupsi dan menyatakan untuk siklus CPU.

DMA meningkatkan sistem concurrency dengan memungkinkan CPU untuk melakukan tugas-tugas sementara transfer sistem DMA data melalui sistem dan memori bus. Desain hardware rumit karena DMA controller harus diintegrasikan ke dalam sistem, dan sistem harus memungkinkan DMA controller untuk menjadi master bus. Siklus mencuri juga mungkin diperlukan untuk memungkinkan CPU dan DMA controller untuk berbagi penggunaan bus memory.

REFERENSI : Wong Louie,2009,Programmed I/O, Interrupt & Direct Memory Access (DMA), http://www.louiewong.com/archives/137,