Command Line dan Manajemen Proses di Linux

Halo!

 

Pertama-tama disini kita akan belajar tentang Basic Command di Linux (Ubuntu). Sebelumnya Linux itu 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 menjadi tonggak sejarah Linux.

Dan Linux sendiri merupakan clone dari UNIX yang telah di-port ke beragam platform, antara lain: Intel 80×86, AlphaAXP, MIPS, Sparch, Power PC, dan lain sebagainya.

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

Lalu apa sih UNIX itu sendiri?

Sistem operasi UNIX adalah kumpulan program yang berperan sebagai penghubung antara komputer dan user. 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.

Didalam UNIX ada Empat komponen dasar, antara lain:

  1. Kernel, jantung dan bagian inti dari sistem operasi. Kernel berinteraksi dengan hardware dan berbagai tugas seperti manajemen memori, penjadwalan tugas, dan manajemen file.
  2. 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.
  3. 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 dengan memasang 3rd party software yang sesuai dengan kebutuhan kita.
  4. Files and Directories, sebuah cara Unix untuk mengelola data menjadi sebuah file, dan mengelola file kedalam sebuah direktori. Direktoridirektori ini dikelola kedalam struktur pohon yang disebut dengan filesystem .

 

Untuk masuk Terminal seperti fitur cmd di Window yaitu :

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

Habis ini kita belajar perintah-perintah dasar untuk penangan file pada Linux. Check this out !

  1. Perintah Dasar untuk Penanganan File
  2. Membuat direktori
    mkdir nama_folderContoh : mkdir aku
  3. Menampilkan isi direktori
    ls; Jika dijalankan begitu saja perintah ini akan menampilkan daftar file dan folder yang berada di direktori yang sedang aktif.

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

  1. ls -l: memperlihatkan daftar file disertai dengan atribut seperti pemilik, permission, ukuran, dan tanggal modifikasi .
  2. s -a: memperlihatkan daftar file dan file tersembunyi di dalam direktori  sekarang tanpa atribut apapun
  3. ls -al: menggabungkan opsi perintah -l dan -a untuk ls .
  4. ls /direktori/ehm: memperlihatkan daftar file dari /direktori/ehmketika kita  sedang berada di direktori sekarang.
  5. Berpindah direktori
    cd direktori_tujuanPerintah ini digunakan untuk berpindah ke direktori yang  lain. Bisa juga pindah ke folder dengan mengetikkan cd nama_folder.

Perintah cd ini juga memiliki parameter yang lain untuk berpindah ke folder, diantaranya:

  1. cd direktori/ → pindah direktori ke direktori yang berada di dalam direktori sekarang.
  2. cd → pindah ke direktori home.
  3. cd ~ → pindah ke direktori home.
  4. cd .. → pindah satu direktori ke direktori teratas atau kembali ke direktori sebelumnya.
  5. cd ../../n → pindah n direktori sebelumnya.
  6. 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.
  7. Menampilkan tempat direktori yang aktif
    pwd; Ketik pwd pada terminal
  8. Menyalin file
    cp file_yang_akan_disalin direktori_tujuan
  1. cp file /path/ke/direktori/sesuatu → mengkopi file tertentu ke direktori tertent
  2. cp -r folder /path/ke/direktori/sesuatu → mengkopi folder tertentu secara rekursif ke direktori tertentu
  3. cp *.extension /path/ke/direktori/sesuatu → mengkopi file – file yang berekstensi tertentu ke direktori tertentu
  4. cp nama* /path/ke/direktori/sesuatu → mengopi file – file yang namanya diawali dengan ‘nama’ ke direktori tertentu.
  5. Memindahkan file
    mv file_yang_akan_dipindahkan direktori_tujuan, perintah ini juga bisa  digunakan  untuk mengganti nama (rename) file.
    Contoh : mv nama_file_lama.ehm nama_file_baru.ehm
  6. Menghapus file
    1. rm file → menghapus file
    2. rm -r folder → menghapus folder
    3. rm -rf folder → menghapus folder secara paksa
    4. Mencari file dalam direktori
      find nama_file/folder_yang_akan_dicaricontoh: find CintaYangHilang.txt

Sudah tau kan untuk perintah dasar penanganan file, selanjutnya kita pelajari Perintah dasar dalam pemrosesan teks! Jangan diclose dulu :’)

  1. Perintah Dasar dalam Pemrosesan Teks
  1. Melihat isi file
    catPerintah ini digunakan untuk menampilkan isi file kedalam bentuk palin text. Penggunaannya adalah:
    cat ehm perintah diatas akan menampilkan file “nama_file.ehm” kedalam bentuk plain text.
  2. Menampilkan jumlah baris, jumlah kata, dan ukuran file (dalam byte) suatu file.
    wc txt

Ada bagian ketiga perintah dasar lagi, jangan bosen dulu. Baca lagi dibawah ini~

  1. Perintah Dasar dalam Sistem Administrasi
  2. Menjalankan perintah/program sebagai super user Untuk melakukan itu  bisa menggunakan perintah sudo nama_perintah.
  3. Whoami  Perintah diatas adalah perintah untuk melihat user yang sedang aktif. Penggunaan perintah tersebut adalah dengan mengetikan langsung whoami pada terminal dan kemudian akan muncul user apa yang sedang aktif.

Lanjut yang keempat ~

  1. Perintah Dasar dalam Manajemen Pemrosesan
  2. Menampilkan proses-proses yang sedang berjalan
    ps auxUntuk menampilkan proses yang sedang berjalan. Penggunaan perintah ini cukup dengan mengetikan
    ps aux pada jendela terminal.
  3. Mengakhiri proses yang sedang berjalan
    1. kill PID → membunuh sebuah proses yang memiliki PID tertentu
    2. kill program → membunuh sebuah proses yang memiliki nama tertentu
    3. killall program → membunuh semua proses yang memiliki nama tertentu.

 

  1. Menampilkan daftar perangkat yang ditancapkan di port USB
    lsusb
  2. Membersihkan tampilan terminal
    clear

Utilitiy

  1. Merestart sistem
    ketik : reboot
  2. Mematikan sistem
    ketik : shutdown/halt
  3. Menampilakn daftar hardware
    ketik : lshw ; catatan: perintah ini harus dijalankan sebagai super user.
  4. Menampilkan lamanya sistem telah berjalan
    ketik : uptime
  5. Kalkulator di dalam terminal
    ketik : bc

Selanjutnya kita akan belajar tentang Manajemen Proses di Linux!

Apa itu Manajemen Proses?

Proses adalah program yang sedang dieksekusi. Di Linux, setiap program merupakan proses.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.
Terdapat 4 konsep dasar manajemen proses :

  1. Multiprogramming, salah satu teknik penjadwalan dimana tugas (task) yang sedang
    berjalan tetap berjalan sampai ia melakukan operasi yang membutuhkan 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.
  2. Pseudoparallelism, eksekusi proses secara paralel pada sistem.
  3. 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.
  4. 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 :

  1. Penciptaan proses (create a process).
  2. Penghancuran/terminasi proses (destroy a process).
  3. Penundaan proses (suspend a process).
  4. Pelanjutan kembali proses (resume a process).
  5. Mem-block proses.
  6. Membangunkan proses.
  7. Menjadwalkan proses
  8. Komunikasi Antar Proses.

Perintah-perintah proses di linux :

  1. 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 berisi S (Sleeping) dan R (Running), COMMAND merupakan instruksi yang digunakan.
  2. $ ps Untuk melihat faktor/elemen lainnya, gunakan option –u (user).
    1. %CPU adalah presentasi CPU time yang digunakan oleh proses tersebut,
    2. %MEM adalah presentasi system memoriyang digunakan proses,
    3. SIZE adalah jumlah memori yang digunakan,
    4. RSS (Real SystemStorage) adalah jumlah memori yang digunakan,
    5. START adalah kapan proses tersebut
    6. $ ps u
      Mencari proses yang spesifik untuk pemakai.
    7. $ ps -u <user> Mencari proses lainnya gunakan opsi a, au dan aux
    8. $ ps -a
      $ ps -au
      $ ps -aux
      Melihat proses yang sedang berjalan
      E. $ top
      $ htop
      Catatan : untuk install htop ketik command sudo apt-get install htop (perlu  koneksiinternet)
      Menampilkan hubungan proses parent dan child
    9. $ ps -eH à Menampilkan hubungan proses parent dan child
    10. $ ps -eF à Menampilkan hubungan proses parent dan child serta letak prosesnya
    11. $ pstree Menampilkan semua proses pada sistem dalam bentuk hirarki  parent/child

 

 

  1. $ kill %<nomor job> contoh : kill %1
    $ kill <PID> contoh : kill 1908
    $ pkill <nama proses> contoh : pkill firefox
    $ pkillall <nama proses> contoh : pkillall firefox
    Menghentikan suatu proses/job
  2. $ renice <prioritas> <PID>
    Mengubah prioritas suatu proses

Sumber :

  • Modul praktikum mata kuliah Sistem Operasi UPI 2015

Review Perangkat I/O Modul Komputer

Review Tugas Sistem Operasi 

Perangkat I/O pada komputer ada tiga tipe yaitu :

  1. Programmed I/O
  • I/ O modul melakukan tindakan, bukan prosesor
  • Mengatur bit yang sesuai dalam I / O register status
  • Tidak ada interupsi terjadi
  • Processor memeriksa statusnya sampai operasi selesai

Picture4

Gambar 1.1 Programmed I/O

  1. Interrupt Driven I/O
  • Prosesor terputus ketika I / O modul siap untuk pertukaran data
  • Prosesor menghemat konteks pelaksanaan program dan mulai mengeksekusi interrupt handler
  • Tidak perlu menunggu
  • Membutuhkan banyak waktu processor karena setiap kata dibaca atau ditulis melewati prosesor

Picture3

Gambar 2.1 Interrupt-driven I/O

  1. Direct Memory Access
  • Transfer blok data langsung ke atau dari memori
  • Interupsi dikirim ketika transfer selesai
  • lebih hemat

Picture5

Gambar 3.1 Interrupt-driven I/O

 

 

Daftar Pustaka

[Stallings2001] William Stallings. Hak Cipta © 2001. Operating Systems.

Prentice Hall.

 

 

Review Struktur SO dan Status Proses SO

 

Struktur iOS 

iOS (sebelumnya iPhone OS) adalah sistem operasi perangkat bergerak yang dikembangkan dan didistribusikan olehApple Inc. Sistem operasi ini pertama diluncurkan tahun 2007 untuk iPhone dan iPod Touch, dan telah dikembangkan untuk mendukung perangkat Apple lainnya seperti iPad dan Apple TV.

Antarmuka pengguna iOS didasarkan pada konsep manipulasi langsung menggunakan gerakan multisentuh. Elemen kontrol antarmukanya meliputi slider, switch, dan tombol. Interaksi dengan SO ini mencakup gerakan seperti geser,sentuh, jepit, dan jepit buka, masing-masing memiliki arti tersendiri dalam konteks sistem operasi iOS dan antarmuka multisentuhnya. Akselerometer internalnya dipakai oleh sejumlah aplikasi agar bisa merespon terhadap pengguncangan alat (misalnya membatalkan tindakan) atau memutarnya dalam tiga dimensi (misalnya beralih dari mode potret ke lanskap).

iOS diturunkan dari OS X, yang memiliki fondasi Darwin dan merupakan sistem operasi Unix. iOS adalah versi bergerak dari sistem operasi OS X yang dipakai di komputer-komputer Apple.

Di iOS, ada empat lapisan abstraksi, yaitu Core OS, Core Services, Media, dan Cocoa Touch.

Picture1Picture2

Kerangka keamanan

Selain fitur keamanan built-in, iOS juga menyediakan kerangka kerja keamanan eksplisit yang dapat Anda gunakan untuk menjamin keamanan data aplikasi Anda mengelola. Kerangka kerja ini menyediakan antarmuka untuk mengelola sertifikat, kunci publik dan swasta, dan kebijakan kepercayaan. Mendukung generasi nomor pseudorandom cryptographically aman. Ini juga mendukung penyimpanan sertifikat dan kunci kriptografi dalam keychain, yang merupakan repositori aman untuk data sensitif pengguna.

 

The Common Crypto perpustakaan menyediakan dukungan tambahan untuk enkripsi simetris, HMAC, dan mencerna. Fitur mencerna menyediakan fungsi yang pada dasarnya kompatibel dengan orang-orang di perpustakaan OpenSSL, yang tidak tersedia di iOS.

 

Prose Sistem Operasi iOS

The Cocoa Touch lapisan berisi kerangka kerja utama untuk membangun aplikasi iOS. Kerangka ini menentukan penampilan dari aplikasi dan menyediakan infrastruktur aplikasi dasar dan dukungan untuk teknologi kunci seperti multitasking, masukan berbasis sentuhan, pemberitahuan push, dan banyak layanan sistem tingkat tinggi

 

Fitur Tingkat Tinggi

Bagian berikut menjelaskan beberapa teknologi kunci yang tersedia di lapisan Cocoa Touch.

 

App Ekstensi

Di Xcode, Anda membuat ekstensi aplikasi dengan menambahkan target ekstensi aplikasi dikonfigurasikan untuk sebuah aplikasi.

iOS mendukung aplikasi ekstensi untuk bidang-bidang berikut, yang dikenal sebagai titik ekstensi:

  1. Berbagi konten dengan situs-situs sosial atau badan lainnya.
  2. Melakukan tugas sederhana dengan konten saat ini.
  3. Memberikan update cepat atau memungkinkan tugas singkat dalam tampilan Hari dari Notification Center.
  4. Mengedit foto. Lakukan mengedit foto atau video dalam aplikasi Foto.
  5. Penyedia dokumen. Menyediakan lokasi penyimpanan dokumen yang dapat diakses oleh aplikasi lain. Aplikasi yang menggunakan dokumen picker tampilan kontroler dapat membuka file yang dikelola oleh Dokumen Provider atau memindahkan file ke dalam Dokumen Provider.
  6. Keyboard kustom. Menyediakan keyboard kustom yang pengguna dapat memilih di tempat keyboard sistem untuk semua aplikasi pada perangkat.

 

Handoff

Handoff adalah fitur di OS X dan iOS yang memperluas pengalaman pengguna kontinuitas di perangkat. Handoff memungkinkan pengguna untuk memulai aktivitas di satu perangkat, kemudian beralih ke perangkat lain dan melanjutkan kegiatan yang sama pada perangkat lainnya. Sebagai contoh, pengguna yang browsing artikel panjang di Safari bergerak ke perangkat iOS yang masuk ke ID Apple yang sama, dan halaman web yang sama secara otomatis terbuka di Safari di iOS, dengan posisi gulir sama seperti pada perangkat asli. Handoff membuat pengalaman ini sehalus mungkin.

 

Dokumen Picker

Tampilan dokumen pemetik controller (UIDocumentPickerViewController) memberikan pengguna akses ke file di luar sandbox aplikasi Anda. Ini adalah mekanisme sederhana untuk berbagi dokumen antar aplikasi. Hal ini juga memungkinkan alur kerja yang lebih kompleks, karena pengguna dapat mengedit dokumen tunggal dengan beberapa aplikasi.

 

AirDrop

AirDrop memungkinkan pengguna berbagi foto, dokumen, URL, dan jenis lain dari data dengan perangkat dekatnya. Dukungan untuk mengirim file ke perangkat iOS lain menggunakan AirDrop dibangun ke dalam kelas UIActivityViewController ada. Kelas ini menampilkan pilihan yang berbeda untuk berbagi konten yang Anda tentukan. Jika Anda belum menggunakan kelas ini, Anda harus mempertimbangkan menambahkannya ke antarmuka Anda.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
DAFTAR PUSTAKA

 

https://developer.apple.com/library/ios/documentation/Miscellaneous/Conceptual/iPhoneOSTechOverview/Introduction/Introduction.html#//apple_ref/doc/uid/TP40007898-CH1-SW1