Sabtu, 18 April 2015


Manajemen Memory, Disk, & Input/Output

Sistem operasi bertugas melakukan manajemen file, proses, memori, disk, dan input/output. Tujuan ini supaya sumber daya yang dimiliki oleh komputer (perangkat keras) bisa diatur untuk berjalan untuk memenuhi semua kebutuhan. Perlu diatur, karena sumber daya yang dimiliki terbatas.
·         Manajemen Memory
Fungsi dari Manajemen Memori yaitu:
-        Mengelola informasi yang dipakai dan tidak dipakai.
-        Mengelola swapping atau paging antara memori utama dan disk.
-        Mendealokasikan memori dari proses yang telah selesai.
-        Mengalokasikan memori ke proses yang memerlukan.
Manajemen memori berdasarkan keberadaan dibagi menjadi 2, yaitu.
§  Dengan swapping atau paging.
manajemen memori dengan pemindahan proses antara memori utama dan disk selama eksekusi.
§  Tanpa swapping atau paging.
manajemen memori tanpa pemindahan proses antara memori utama dan disk selama eksekusi.

Perintah-perintah yang digunakan untuk Sistem Operasi:
1.      Free
Melihat memori yang terpakai oleh suatu proses dengan perintah “free” pada terminal, perintah ini menunjukan bagaimana swap space dan banyak swapping yang terjadi.
2.      cat  /proc/meminfo
Perintah ini sama seperti free fungsinya untuk melihat pengguna memori dan swapnya.
3.      cat  /proc/sys/vm/swappiness
Memaksimalkan pengguna memori fisik (RAM) dengan memori virtual (swap). Dan perintah diatas untuk melihat nilai swappiness. Swapiness ini berfungsi untuk mengontrol kecenderungan kernel untuk memindahkan proses dari memory ke swap. Nilai dari swappiness berkisar antara 0-100, jika nilainya 0, maka kernel akan menghindari proses swapping selama mungkin. Tetapi jika nilainya 100, maka kernel akan melakukan proses swapping secara agresif.
4.      sudo sysctl vm.swappiness=70
Untuk mengubah swappiness sesuai dengan kebutuhan atau keinginan kita. Cara ini bersifat sementara, setelah di reboot maka nilai swappiness akan kembali seperti semula.

·         Manajemen Disk
Perintah-perintah untuk memanajemen pratisi melalui terminal pada Linux sebagi berikut:
          1.         fdisk -d
Untuk menghapus partisi
          2.         fdisk -l
Untuk melihat daftar partisi yang dikenali
          3.         fdisk -n
Untuk membuat partisi baru
          4.         fdisk -v
Untuk verifikasi partisi

·         Manajemen I/O
1. sudo fdlsk –l
Melihat daftar partisi/drive yang dikenali
2. sudo mount /dev/sdb1 /media/
Untuk melihat isi dari flashdisk
3. umount /media/
Untuk mencabut flashdisk
4. lsusb
Untuk melihat perangkat I/O  lainnya
5. eject /dev/sr0
Untuk meng-eject CD/DVD ROM



Manajemen File dan Direktori




·         Melihat daftar direktori
$ pwd
/home/user/praktikum
$ ls
text1 text2 text3 text4 text5
$ ls /home/user/coba
text1 text2 text3 text4 text5


·        Menampilkan daftar direktori
$ ls –al
      ls-l artinya kolom pertama, salah satu yang terlihat seperti sekelompok omong kosong, menunjukkan jenis file dan perizinan. Kolom kedua menunjukkan jumlah link (entri direktori yang merujuk ke file), yang ketiga menunjukkan pemilik file, dan yang keempat menunjukkan kelompok pemilik file. Kolom lain menunjukkan ukuran file dalam byte, tanggal dan waktu modifikasi terakhir, dan nama file. Dibagi menjadi 3 grup, tiap grup 3 karakter mewakili: read, write, dan execute

Karakter :


d = directory
- = regular file
l = symbolic link
s = Unix domain socket
p = named pipe
c = character device file
b = block device file

r = read permission
w = write permission
x = execute permission
- = no permission


·        Sorting
ls –lt
            Mengurutkan daftar file berdasarkan waktu (dari yang terbaru hingga terlama)
ls –lS
            Untuk mengurutkan berdasarkan ukuran file, dari yang terbesar hingga yang terkecil.
ls -lrt
Mengurutkan daftar file dari yang terlama hingga yang terbaru.


·         Copying, moving, and deleting file
Cp =  Digunakan untuk menyalin satu atau banyak file atau direktori.
$ cp text1 text1.new
$ mkdir backup
$ cp text1 backup/

Mv = Digunakan untuk memindahkan atau memberi nama baru pada satu atau banyak file atau direktori.
            $ mv text1.new backup/
$ mv backup/text1.new backup/text1.new.1
$ ls text1 backup/
-b atau --backup

Rm = Digunakan untuk menghapus satu atau banyak file atau direktori.
            -f atau --force


·         Membuat dan menghapus direktori

$ mkdir dir1 dir2
 Membuat banyak direktori

$ cp text1 d1/d2
      Menghapus direktori

$ rm -r d1
      Menghapus file atau direktori secara rekursif

$ touch file1 file2 file3
      Membuat file kosong

$ find . -name “text”
            Perintah find digunakan untuk mencari file atau direktori, bisa dicari berdasarkan nama, tipe, atau waktu


·         Kompresi file

Kompresi dengan gzip
$ cp /etc/services .
$ ls -l
$ gzip services
$ ls –l

Kompresi dengan bzip2
$ bzip2 services
$ bunzip2 services.bz2



REFERENSI :
Latihan Praktikum 6
Latihan Praktikum 7

Sabtu, 28 Maret 2015

Peta Konsep Linux Shell dan Schedulling

Linux Shell
Linux Shell adalah program yang menghubungkan user dengan sistem operasi dalam hal ini kernel (inti sistem operasi), umumnya shell menyediakan prompt sebagai user interface, tempat dimana user meng-inputkan perintah-perintah yang diinginkan baik berupa perintah internal shell (internal command), ataupun perintah eksekusi suatu file progam (eksternal command), selain itu shell memungkinkan user menyusun sekumpulan perintah pada sebuah atau beberapa file untuk dieksekusi sebagai program.

Command Shell program yang menerjemahkan perintah. Mengijinkan user untuk mengeksekusi perintah dengan cara mengetiknya secara manual diterminal atau secara otomatis pada program.
  • BASH (Bourne Again Shell) adalah shell yang dibuat secara bebas menggantikan versi standard dari Bourne Shell yang semula dibuat oleh Steve Bourne untuk sistem UNIX. BASH memiliki semua fitur yang ada di Bourne Shell, plus tambahan yang membuatnya lebih mudah digunakan dari command line.
  • Karakter Spesial
Mengeksekusi Perintah
  • Perintah PATH mengetikkan nama dari program untuk mengeksekusinya. Contoh: mengetik “ls” akan mengeksekusi perintah “ls”.
  • Command Syntax perintah dapat berjalan sendiri, atau anda dapat menambahkan argumen untuk membuatnya berbeda. Seperti ini command [-argument] [-argument] [--argument] [file]
contoh: 
- ls menampilkan daftar file di current directory 
- ls -l menampilkan daftar file dengan “long” format 
- ls -l –color seperti diatas, dengan output berwarna 
- cat filename menampilkan konten dari file 
- cat -n filename menampilkan konten dari file, dengan nomer baris

Linux Help
  • Help perintah memiliki halaman “help” sederhana yang bisa dipanggil dengan special commands flags. Flags ini biasanya terlihat seperti “-h” atau “--help”
  • Man Pages u
  • ntuk membaca halaman manual dari setiap perintah, cukup ketik “man program”. Man ls manual mengenai perintah “ls” dan man man manual mengenai cara menggunakan halaman manual.
  • Info Pages halaman info sama dengan halaman manual, tapi yang ditampilkan bukan satu halaman panjang, melainkan berupa segmen yang lebih pendek dengan tautan menuju potongan-potongan informasi lainnya. Halaman info dapat diakses dengan perintah “info”, atau untuk beberapa distro Linux, “pinfo” (tampilan yang lebih baik). Contoh: info df menampilkan halaman informasi dari “df”

Sabtu, 14 Maret 2015

Perintah Dasar dan Manajemen Proses

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

Sistem operasi UNIX adalah kumpulan program yang berperan sebagai penghubung antara komputer dan user. Kernel adalah program komputer yang bertugas dalam mengalokasikan sistem 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 dikenali oleh kernel. Unix dikembangkan di tahun 1969 oleh grup dari pekerja AT& T di Bell Laboratory, didalam pengembangan itu terlibat juga Ken Thompson, Dennis Ritchie, Douglas

Berikut adalah perintah-perintah dasar Linux :
Perintah pertama dieksekusi menggunakan terminal, terminal dapat diakses melalui dash menu ketikan “terminal” klik terminal. Jika menggunakan shortcut [CTRL]+[ALT]+T

1.       Perintah dasar untuk penanganan file
-          Membuat Direktori              ==           mkdir [nama folder yang akan dibuat]

-          Menampilkan isi direktori
o   ls (ls kepanjangan dari list yang berguna menampilkan daftar file dan folder di direktori yang sedang aktif)
o   ls –l (menampilkan daftar file beserta dengan atribut seperti nama user, ukuran, tanggal, pemerssion)
o   ls –a (menampilkan daftar file yang terlihat maupun tersembunyi didalam direktori sekarang tanpa atribut apapun)
o   ls –al (penggabungan antara opsi perintah -a dan –l untuk ls
o   ls /direktori/ehm (menampilkan daftar file dari direktori/ehm ketika sedang berada di direktori yang sedang aktif sekarang)

-          Berpindah Direktori
o   cd [direktori tujuan] / cd [nama folder]
o   cd ~ (pindah ke direktori home)
o   cd direktori/ (pindah direktori ke direktori yang berada di dalam direktori sekarang)
o   cd ../../n (pindah n direktori sebelumnya)
o   cd /direktori/namafolder (pindah ke direktori “namafolder” tanpa harus mundur ke direktori sebelumnya)
o   cd .. (pindah satu direktori ke direktori teratas atau kembali ke direktori sebelumnya)

-          Menampilkan tempat direktori yang aktif
o   PWD (perintah hanya menuliskan “pwd” pada terminal, kemudian muncul direktori yang sedang aktif)

-          Menyalin File
o   cp [file yang akan disalin] [tujuan]
o   cp –r folder/path/ke/direktori/bebas (menyalin file tertentu secara rekrusif ke direktori tertentu)
o   cp nama* /path/ke/direktori/bebas (file yang namanya diawali dengan “nama” ke direktori)
o   cp *.extension /path/ke/direktori/sesuatu (menyalin file yang berekstensi tertentu ke direktori)

-          Memindahkan File
o   mv [file yang akan dipindahkan] [direktori yang dituju] (mv itu sendiri singkatan dari move yang artinya pindah)

-          Menghapus File
o   rm file (menghapus file, rm sendiri singkatan dari remove)
o   rm –r folder
o   rm –rf folder (menghapus folder)

-          Mencari file dalam direktori
o   Find [nama fie] / [folder yang akan dicari] (perintah ini akan dieksekusi untuk mencari file yang bernama folder yang dicari, jika file tidak  ada makan akan tidak muncul)

2.      Perintah Dasar dalam Pemrosesan Teks
-          Melihat isi file
o   cat [nama file].ehm (perintah tersebut menampilkan file “nama file.ehm” ke dalam bentuk plain text)

-          Menampilkan jumlah baris, jumlah kata, dan ukuran file (dalam byte) suatu file
o   wc nama_file.txt

3.      Perintah Dasar dalam Sistem Administrasi
-          Menjalankan perintah/program sebagai super user
o   sudo nama_perintah
o   sudo halt (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.

4.      Perintah Dasar dalam Manajemen Pemrosesan
-          Menampilkan proses-proses yang sedang berjalan
o   ps aux (menampilkan proses yang sedang berjalan, dengan perintah ps juga sudah cukup, menambahkan aux untuk lebih detail)
-          Mengakhiri proses yang sedang berjalan
o   Kill PID (mengakhiri sebuah proses yang memiliki PID tertentu)
o   Kill program (mengakhiri sebuah proses yang memiliki nama tertentu)
o   Killall program (mengakhiri semua yang memiliki nama tertentu)
-          Menampilkan daftar perangkat pada port USB  ==        lsusb
-          Membersihkan tampilan terminal                       ==        clear
-          Mereset sistem                                                    ==        reboot
-     Mematikan Sistem                                                   ==        shutdown/halt



MANAJEMEN PROSES

4 Manajemen Proses :
         1.         Multiprogramming, tugas yang sedang berjalan tetap berjalan sampai operasi membutuhkan waktu untuk menunggu respon dari luar.
         2.         Pseudorallelism, eksekusi proses secara paralel
         3.         Multiprecessing, dukungan sebuah sitem untuk mendungkung lebih dari satu prosesor dan mengalokasikan tugas kepada prosesor-prosesor tersebut.
         4.         Distributed Processing, pengolahan data secara bersama antara komputer pusat dengan beberapa komputer yang lebih kecil.

Perintah-perintah proses pada linux
-          ps
Akan menampilkan PID, TTY, TIME, dan CMD. PID adalah nomor identitas proses, TTY nama terminal pada proses aktif, CMD adalah command (intruksi yang digunakan).
-          ps u
Akan menampilkan USER, PID, %CPU yaitu presentasi CPU time yang digunakan proses, %MEM yaitu presentasi sistem memori, SIZE jumlah memori, RSS jumlah memori yang digunakan, START mulainya proses, dan COMMAND.
-          ps –u [nama_user]
mencari proses yang spesifik dari pemakai (user) yang akan menampilkan PID, TTY, TIME, dan CMD.
-          ps –a // ps –au // ps –aux
akan mencari proses yang lainnya. Menampilkan USER, PID, %CPU, %MEM, VSZ, RSS, TTY, STAT, START, TIME, dan COMMAND.
-          top
Melihat proses yang sedang berjalan, Menampilkan lebih detail semua proses yang berjalan, PID, USER, PR, NI, VIRT, RES, SHR, S, %CPU, %MEM, TIME+, COMMAND.
-          ps –eH
menampilkan hubungan proses parent dan child
-          ps –eF
menampilkan hubungan proses parent dan child serta letak prosesnya
-          pstree
menampilkan semua proses pada sistem dalam bentuk pohon atau bagan/ bisa disebut bentuk hirarki parent/child
-          kill %[no job] // kill[PID] // pkill[nama proses] // pkillall[nama proses]
menghentikan suatu proses atau job yang sedang dijalankan user, misalkan “pkill firefox” proses akan menghentikan firefox tetapi tidak semua, apabila “pkillall firefox” maka akan menghentikan semua job dari firefox.
-          renice [prioritas][PID]
mengubah prioritas suatu proses pada sistem



Selasa, 11 November 2014

RESUME TRANSAKSI (Sistem Basis Data)



TRANSAKSI
Transaksi adalah suatu aksi yang dilakukan program aplikasi untuk mengakses atau mengubah isi basis data. Transaksi merupakan bagian dari pengeksekusian sebuah program yang melakukan pengaksesan basis data dan bahkan juga melakukan serangkaian perubahan data. Transaksi yang hanya dikerjakan sebagaian akan menyebabkan inkonsistensi basis data. 
Tujuan Transaksi adalah mencegah dari kehilangan atau kerusakan data. Untuk menjamin agar
  • Atomicity : Semua operasi dalam transaksi dapat dikerjakan seluruhnya atau tidak sama sekali integritas dapat teta terpelihara maka setiap transaksi harus memiliki sifat – sifat:  
  • Consistency : Menjamin data tetap kosisten saat transaksi berakhir 
  • Isolation : Jika terdapat sejumlah transaksi pada suatu system basis data, maka semua transaksi tersebut harus dapat dimulai dan bias diakhiri 
  • Durability : Jika system mati, maka perubahan data setelah transaksi harus bisa bertahan
Status Transaksi  
  • Sukses–transaksi dikatakan commited dan database mencapai stata baru/stata berikutnya.
  • Gagal–transaksi dikatakan aborted, dan database harus dikembalikan ke stata tetap sebelum dilakukannya transaksi. Transaksi seperti ini disebut roll back atau undone. 
  • Transaksi yang committed tidak dapat digagalkan. Transaksi yang digagalkan akan dilakukan rollback yang dapat diproses ulang(restarted) diwaktu mendatang

Operasi Transaksi Pada Oracle
Dalam transaksi terdapat dua operasi penting  yang berfungsi untuk menjaga dan ketahanan data , yaitu Commit dan Rollback. Commit adalah memberi tanda bahwa transaksi telah selesai. Sedangkan Rollback adalah untuk menggunakan tanda bahwa transaksi gagal. Semua update harus di-undo.

Sebuah transaksi dapat menghasilkan dua kemungkinan:   
  1. Jika dilaksanakan lengkap seluruhnya, transaksi tersebut telah di commit dan basis data mencapai keadaan konsisten baru. 
  2. Jika transaksi tidak sukses, maka transaksi dibatalkan dan basis data dikembalikan ke keadaan konsisten sebelumnya (rollback).
Transaksi yang sudah di commit tidak dapat dibatalkan lagi.  Jika ada kesalahan, maka harus dilakukan transaksi lain yang membalik dampak transaksi sebelumnya.

SAVEPOINT
Savepoint, sebuah titik dimana kita telah selesai melakukan satu atau beberapa transaksi. Berfungsi sebagai checkpoint untuk dipanggil oleh perintah rollback. Format perintah membuat savepoint adalah
SAVEPOINT [NAMA_SAVE_POINT];
Rollback, perintah untuk mengulang transaksi (biasanya karena ada kegagalan). Format   penulisan perintah rollback adalah sebagi berikut:
ROLLBACK;
Atau
ROLLBACK TO SAVEPOINT [nama_save_point];

ISOLASI TRANSAKSI
     Isolasi Transaksi merupakan tingkatan pengaruh antar transaksi yang dipengaruhi karena kinerja RDMS. Didalam transaksi terdapat 3 hal yang harus dicegah, antara lain adalah :
  1. Dirty Read - Transaksi membaca data dari hasil transaksi lainnya yang gagal. Kedua transaksi tersebut berjalan bersamaan.
  2. Nonrepeatable Read - Transaksi membaca ulang data yang telah di baca sebelumnya karena data tersebut telah dimodifikasi oleh transaksi lainnya.
  3. Phantom Read - Transaksi membaca sebuah data yang telah hilang akibat dari transaksi yang lainnya.
      Untuk mencegah terjadinya 3 hal yang diatas, maka pada Oracle terdapat 2 level isolasi yang dapat diimplementasika, antara lain :
  1. Read Commit - Transaksi hanya dapat melihat perubahan data setelah transaksi lain telah commit  pada data tersebut.
  2. Serializable - level isolasi yang menyediakan isolasi transaksi yang paling ketat. Level ini mengemulasikan  eksekusi transaksi secara serial, menjadikan transaksi dieksekusi satu setelah yang lainnya,seperti secara  serial, bukan secara bersamaan (pararel) level ini, query SELECT hanya melihat data yang telah di COMMIT sebelum transaksi dimulai. Pada level ini juga jika transaksi mengandun DML (Data Manipulation Language) yang mencoba merubah data yang mungkin sudah dirubah pada transaksi lain yang belum di-commit maka perintah DML tersebut akan gagal. Berikut Contoh format penerapan perintah serializable:
SET TRANSACTION ISOLTION LEVEL SERIALIZABLE;

Pada transaksi database, dikenal istilah locking yang berfungsi untuk menjaga integritas data. Terdapat dua buah metode locking yaitu :
-      Shared Lock (S-Lock)
Transaksi hanya bisa melakukan pembacaan. (dapat dimiliki oleh beberapa transaksi dalam satu waktu.
-      Exclusive Lock (X-Lock)
Transaksi bisa melakukan perubahan dan pembacaan terhadap data. (hanya dapat dimiliki oleh satu transaksi pada satu waktu.

Penguncian Level Tabel
Berfungsi untuk mengunci suatu tabel untuk mencegah perubahan atau penghapusan tabel oleh transaksi. Format penulisan perintah penguncian tabel adalah:
LOCK TABLE [nama_tabel];

Penguncian Level Baris
Penguncian pada baris yang sedang digunakan oleh suatu transaksi sampai transaksi tersebut selelsai dieksekusi(commit).Penguncian ini hanya berlaku untuk operasi UPDATE dan DELETE.

Deadlock
Keadaan dimana dua atau lebih transaksi dalam kondisi wait-state, satu sama lain menunggu lock dilepas sebelum di mulai.