Senin, 11 April 2016

Manajemen File dan Direktori pada Linux

   chmod : untuk mengubah perizinan suatu direktori atau file. 

    metode alphabet

$chmod a+x filename
$chmod u+r,g+x filename

a=r > diganti smua yg udah ada menjadi r, jika ada permission yg lain maka akan menjadi r saja
a+r > ditambah permission r ,kalo udah ada ya tetep aja
a-r > ngurangin permission r
a itu all
u g o > user group others

     metode numerik  
      
3 angka oktal
chmod 0xxx nama_file

read > 4
write > 2
execute > 1
no permission > 0

read + write + execute = 4 + 2 + 1 = 7
--- --- ---

        ls
      
mau nyorting sekumpulan file
ls -lt > time yang baru ke paling lama
ls -lS > Size dari yg gedee
ls -lrt > kebalikan dari -lt
--- --- ---

        cp
      
cp nama_file nama_filenew > dikopi langsung di rename
cp nama_file direktori/

        mv
--- --- ---
      
mv nama_file direktori/
mv direktori/nama_file direktori/nama_file > dipindah langsung direname

    untuk cp dan mv kalo mau memaksa ditambahkan -f atau --force
    untuk cp dan mv kalo mau dire-konfirmasi ditambahkan -i atau --interactive
    untuk cp dan mv kalo mau membackup yg lama ditambahkan -b atau --backup
  
        mkdir
--- --- ---
      
untuk membuat folder di dalam folder > mkdir -p wakwawk/wakwaw2 oek1 oek2
  
        rmdir
      
    p itu parent
untuk menghapus folder didalam folder > rmdir -p wakwawk/wakwaw2 oek1 oek2
kalo > rmdir -p wakwaw > maka tidak bisa
rm -r wakwaw > menghaous secara rekursif

        touch
--- --- ---
      
>bikin file baru
touch nama_file nama_file

        find
--- --- ---

find . -name nama_file
find . -name nama_file*
titik > direktori skrang
-name > berdasarkan nama
* > buat semua yang sama
--- --- ---

        Mengkompres                   Mendekompress
1. gzip > gzip nama_file         gzip -d nama_file.gz
2. gzip2 > bzip2 nama_file    bunzip2 nama_file.bz2

Minggu, 10 April 2016

Sistem Paging



SISTEM PAGING 

Sistem Paging Adalah sistem manajemen pada sistem operasi dalam mengatur program yang sedang berjalan. Program yang berjalan harus dimuat di memori utama. Kendala yang terjadi apabila suatu program lebih besar dibandingkan dengan memori utama yang tersedia.

Untuk mengatasi hal tersebut Sistem Paging mempunyai 2 solusi, yaitu:

- Konsep Overlay
Dimana program yang dijalankan dipecah menjadi beberapa bagian yang dapat dimuat memori (overlay). Overlay yang belum diperlukan pada saat program berjalan (tidak sedang di eksekusi) disimpan di disk, dimana nantinya overlay tersebut akan dimuat ke memori begitu diperlukan dalam eksekusinya.

- Konsep Memori Maya (virtual Memory)
Adalah kemampuan mengalamati ruang memori melebihi memori utama yang tersedia. Konsep ini pertama kali dikemukakan Fotheringham pada tahun 1961 untuk sistem komputer Atlas di Universitas Manchester, Inggris.

Gagasan Memori Maya adalah ukuran gabungan program, data dan stack melampaui jumlah memori fisik yang tersedia. Sistem operasi menyimpan bagian-bagian proses yang sedang digunakan di memori utama dan sisanya di disk. Begitu bagian di disk diperlukan maka bagian memori yang tidak diperlukan disingkirkan dan diganti bagian disk yang diperlukan.

Implementasi Sistem Paging
Setiap sistem operasi mempunyai metode sendiri untuk menyimpan tabel page. Beberapa sistem operasi mengalokasikan sebuah tabel page untuk setiap proses. Pointer ke tabel page disimpan dengan nilai register lainnya dari PCB. Pada dasarnya terdapat 3 metode yang berbeda untuk implementasi tabel page :
  1. Tabel page diimplementasikan sebagai kumpulan dari “dedicated” register. Register berupa rangkaian logika berkecepatan sangat tinggi untuk efisiensi translasi alamat paging. Contoh : DEC PDP-11. Alamat terdiri dari 16 bit dan ukuran page 8K. Sehingga tabel page berisi 8 entri yang disimpan pada register. Penggunaan register memenuhi jika tabel page kecil (tidak lebih dari 256 entry).
  2. Tabel page disimpan pada main memori dan menggunakan page table base registe” (PTBR) untuk menunjuk ke tabel page yang disimpan di main memori. Penggunakan memori untuk mengimplementasikan tabel page akan memungkinkan tabel page sangat besar (sekitar 1 juta entry). Perubahan tabel page hanya mengubah PTBR dan menurunkan waktu context-switch. Akan tetapi penggunaan metode ini memperlambat akses memori dengan faktor 2. Hal ini dikarenakan untuk mengakses memori perlu dua langkah : pertama untuk lokasi tabel page dan kedua untuk lokasi alamat fisik yang diperlukan.
  3. Menggunakan perangkat keras cache yang khusus, kecil dan cepat yang disebut associative register atau translation look-aside buffers (TLBs). Merupakan solusi standar untuk permasalahan penggunaan memori untuk implementasi tabel page. Sekumpulan associative register berupa memori kecepatan tinggi. Setiap register terdiri dari 2 bagian yaitu key dan value. Jika associative register memberikan item, akan dibandingkan dengan semua key secara simultan. Jika item ditemukan nilai yang berhubungan diberikan. Model ini menawarkan pencarian cepat tetapi perangkat keras masih mahal. Jumlah entry pada TLB bervariasi antara 8 s/d 2048.

Sekarang apa bedanya dari table page: 

#    Perbedaannya adalah bahwa paging itu memecah memori fisik menjadi blok-blok yang berukuran tertentu di sebut frame, dan memecah memori logika menjadi blok-blok yang disebut page, seperti di jelaskan dalam point pengertian di atas, Jadi karena ada program yang melebihi memori utama, maka dengan paging ini, dapat di pecah-pecah menjadi beberapa bagian, sehingga program dapat di eksekusi.

#       Sedangkan tabel page digunakan untuk menerjemahkan memori logika ke memori fisik, dengan perantara MMU (Memory Management Unit), dan pengeksekusian proses akan mencari memori berdasarkan table page ini. Sehingga pada waktu memori logika di pecah-pecah maka dengan tabel page ini akan diterjemahkan dan eksekusi dengan menggunakan tabel tersebut.


Sumber:
sumur1
sumur2

Minggu, 20 Maret 2016

Penjadwalan Proses pada Linux

Penjadwalan Proses dengan crontab

Crontab merupakan salah satu perintah/command yang terdapat pada Linux yang berfungsi untuk
melakukan penjadwalan proses berdasarkan waktu yang telah diatur sebelumnya. Dengan crontab, kita dapat membuat perintah (command) secara hitungan waktu, baik berulang maupun sesuai yang kita inginkan. Umumnya, crontab sudah tersedia pada sistem operasi berbasis Linux. Jika belum, kita dapat memasangnya dengan cara mengetikkan command berikut di terminal:

sudo apt-get install crontab

Jika sudah terpasang, mari kita coba gunakan crontab dengan cara mengetikkan command
crontab -e.
Pilih opsi nomor 2 (/bin/nano), untuk mempermudah. Jika sudah memilih opsi, akan muncul tampilan seperti berikut:

Untuk melakukan pengoperasian kita menekan tombol  ^(ctrl) + X(huruf yg sesuai perintahnya di terminal bagian bawah).

Berikut perintah crontab yang lainnya:
crontab -e (ngubah/ buat crontab baru)
corntab -l (ngeliat isi crontab)
corntab -r (ngapus crontab)
crontab -u <username> (ngubah isi crontab username spessifik)

Untuk membuat perintah baru yang akan dijadwalkan, kita dapat mengetikkan perintah dengan format penulisan khusus sebagai berikut:
* * * * * <perintah>
Format penulisan diatas terdiri atas lima buah bintang, yang menandakan waktu dan perintah yang akan kita jalankan. Berikut penjelasannya:
1 2 3 4 5<perintah>

Keterangan:
1 (menit) = 0-59
2 (jam) = 0-23
3 (hari/tanggal) = 1-31
4 (bulan) = 1-12 (1:januari)
5 (hari dalam seminggu) = 0-6(0:minggu)
contoh:
* * * * * <perintah>: setiap menit
*/10 * * * * <perintah>: setiap 10 menit
10 * * * * <perintah>: setiap menit ke 10
30 08 10 06 * <perintah>: setiap tanggal 10 bulan juni jam 8.30
00 11,16 * * * <perintah>: setiap hari jam 11.00 dan 16.00
00 11-16 * * * <perintah>: setiap hari jam 11.00 s/d 16.00
00 08-16 * * 1-5 <perintah>: jam 08.00 s/d 16.00 pada hari senin s/d jumat
*/15 6-10 * * *<perintah>: setiap 15 menit dari jam 6-10
* * * * * sync > setiap menit 0, setiap jam, akan menjalankan command "sync"

 Selain format diatas, ada juga penulisan lain dengan waktu khusus. Contohnya:
@yearly / @anually <perintah>: setiap tahun / menit pertama awal tahun(0 0 1 1*)
@monthly <perintah>: perintah dijalankan setiap bulan / menit pertama awak bulan (0 0 1 * *)
@weekly <perintah>: perintah dijalankan mingguan (0 0 * * 0)
@Dailly <perintah>: perintah dijalankan awal hari (0 0 * * *)
@hourly <perintah>: perintah dijalankan setiap awal hari / jam (0 * * * *)
@reboot <perintah>: perintah dijalankan setiap setelah reboot
Demikian sedikit penjelasan tentang penjadwalan proses pada linux, mohon maaf atas segala kekurangan dalam artikel ini, semoga bermanfaat. Enjoy your life !
Ilmu Komputer-UPI

Minggu, 06 Maret 2016

Manajemen Proses


بِسْمِ اللّهِ الرَّحْمَنِ الرَّحِيْمِ

Alhamdulillah blog ini dibuat dengan tujuan untuk memposting  artikel tentang review materi praktikum di perkuliahan saya. Saya berkuliah di salah satu universitas negri di Kota Bandung, yaitu Universitas Pendidikan Indonesia, tepatnya di prodi Ilmu Komputer, angkatan 2014. Kalau ingin mengenal saya bisa pm saya saja hehe(*loh). 

Dalam artike perdana ini saya akan menjelaskan/berbagi sedikit pengetahuan tentang Manajemen Proses. Manajemen proses yang kita bahasa yaitu manajemen proses dalam sistem operasi linux.  Dalam manajemen proses ada empat konsep dasar, yaitu:

  • Multiprogramming
  • Pseudoparallelism
  • Multiprocessing
  • Distributed Processing
Proses sendiri memiliki operasi-operasi seperti:
  •  Penciptaan proses
  •  Penghancuran / terminasi proses
  •  Penundaan proses
  •  Perlanjutan kembali proses
  •  Mengeblok proses
  •  Membangunkan proses (wake)
  •  Menjadwalkan proses
  •  Komunikasi antar proses
Pada artikel ini, saya akan memberikan beberapa cara menggunakan operasi-operasi pad proses dengan menggunakan terminal.

Perintah - perintah proses dai Linux:
  • ps
Instruksi ps (process status) digunakan untuk melihat kondisi proses yang ada. PID adalah
Process ID (nomor identitas proses), TTY adalah nama Terminal dimana proses tersebut
aktif, CMD (command) merupakan instruksi yang digunakan.
 
  •  ps -u <nama_user>
    Mencari proses yang spesifik dari suatu user
 

  •   top
    Menampilkan proses yang sedang berjalan



  • pstree
    Menampilkan semua proses pada sistem dalam bentuk hirarki (parent/child).


  • killDengan format: kill %<nomor_job> (contoh: kill %1)
    atau kill <PID> (contoh: kill 2016)

    • Contohnya kita akan menghentikan firefox
    • kita gunakan kill
     
    • kita gunakan pkill
     
     
 Demikianlah penjelasan tentang manajemen proses beserta contoh penerapannya dalam terminal di sistem operasi Linux, khusunya Ubuntu 14.04.3. Semoga bermanfaat dan mohon maklum atas segala kekurangan. Enjoy your life !