SlideShare a Scribd company logo
LABORATORIUM PEMBELAJARAN ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER
UNIVERSITAS BRAWIJAYA
NAMA : ILHAM TUBAGUS ARFIAN
NIM : 165150207111051
MATERI : BAB II
TANGGAL : 29/09/2017
ASISTEN : -ALFIAN RIZKY SUSANTO
-ANANDA ADIYATMA PUTRA
Bab 2. Pengenalan lingkungan sistem Operasi linux
2.1 Kebutuhan
Untuk melaksakanan kegiatan praktikum pada bab 2, diperlukan sebuah
sistem operasi yang didalamnya terdapat sebuah BASH ( Bourne Again SHell).
2.2 Tujuan Praktikum
1. Mengenalkan struktur system operasi
2. Mengenalkan antarmuka dalam sistem operasi, yaitu command line
interface
3. Mengenalkan perintah-perintah dasar Linux yang umum digunakan
4. Mengenalkan lingkungan sistem operasi
5. Memberikan bekal kepada praktikan sebelum melajutkan ke materi lebih
lanjut.
6. Praktikan mengerti dan mampu berinteraksi dengan shell
7. Praktikan mampu membuat program sederhana dengan shell
8. Praktikan mengerti absolute dan relative path
9. Praktikan mengerti proses pemasangan modul
2.3 Materi Praktikum
2.3.1. Commnad Line Interface
CLI adalah antar muka yang tidak menyediakan grafik, baik berupa
gambar-gambar, jendela-jendela ataupun animasi-animasi yang bisa
memanjakan pengguna, melainkan hanya berupa teks yang harus diketikkan oleh
pengguna. Pada bagian ini akan dikenalkan beberapa perintah dasar linux yang
diperlukan dalam kehidupan sehari-hari, bahkan untuk proses administratif.
Materi yang disajikan juga untuk mendukung kegiatan praktikum pada bab
selanjutnya. Materi-materi tesebut meliputi :
A. Manajemen User dan Group
Pada sistem operasi yang mendukung banyak pengguna/multiuser Linux
menyediakan konsep pengaturan user yang sederhana. Untuk dapat menambah,
menghapus, ataupun mengelompokkan user/group baru harus login sebagai root
(#), jadi seorang ‘user/group’ tidak dapat memodifikasi user/group lain. Perintah-
perintah yang digunakan untuk memanajemen user dan group :
Membuat User
Untuk membuat user dan group hanya dapat dilakukan oleh super user
“root”. Perintah untuk membuat user baru adalah :
#useradd nama_user
# adduser nama_user
Untuk merubah password :
#passwd nama_user
Menghapus User
Untuk menghapus user jalankan perintah berikut ini :
#userdel nama_user
Atau
# userdel –r nama_user
Jelaskan perbedaan dari kedua syntax diatas :
Perintah userdel hanya sebatas menghapus user sedangkan userdel -r
menghapus user sekaligus menghapus setiap file dan direktori yang terdapat
pada user tersebut.
Membuat Group
Group adalah gabungan dari beberapa user membentuk suatu kelompok.
User-user yangtergabung dalam satu group dapat saling berbagi file.
 Berikut syntax untuk menambah group :
# groupadd nama_group
 Memberikan password group :
# gpasswd nama_group
 Perintah untuk menghapus group :
# groupdel nama_group
B. File dan direktori
File merupakan koleksi dari data yang disimpan di dalam disk dan dapat
dimanipulasi sebagai suatu unit sesuai dengan namanya. Sedangkan directories
atau direktori adalah sebuah file yang bertindak sebagai folder untuk file lain.
Sebuah direktori juga berisi direktori lain(subdirektori). Sebuah direktori yang
berisi direktori lain disebut direktori parent. Sebuah directory tree termasuk
sebuah direktori dan semua file didalamnya. Sebuah karakter slash (‘/’) adalah
nama dari root directory.
- Operasi pada file
 Menamakan Files Dan Directories
Sebuah file dapat terdiri dari huruf besar dan huruf kecil, nomor, titik (.),
tanda penghubung(-) dan tanda garisbawah (_). Sebuah nama dari file juga
mengandung case sensitive. ‘sisop’ , ‘Sisop’ dan ‘SISOP’ merupakan nama yang
berbeda.
Linux juga tidak membatasi dalam ekstensi sebuah file, tapi akan sangat
baik dan berguna jika memberikan ekstensi yang sesuai untuk mengidentifikasi
tipe file dengan sekali lihat. Nama file sebelum ektensi disebut dengan base file
name. sebagai contoh base file name dari ‘sisop.txt’ adalah sisop.
 Membuat File
Untuk membuat file ‘sisop’ di direktori terkini
Syntax : #membuat file
$ touch sisop
Untuk membuat file ‘sisop’ di dalam direktori ‘home/praktikum’
subdirektori dari direktori tersebut
Syntax :
$ touch home/praktikum/sisop
 Membuat Direktori
Gunakan perintah ‘mkdir’ untuk membuat sebuah direktori baru, berikan
path name untuk direktori baru sebagai argumen.
Untuk membuat folder ‘sisop’ di direktori terkini.
Syntax :
$ mkdir sisop
Untuk membuat folder ‘sisop’ di dalam direktori ‘/tmp’ subdirektori dari
direktori tersebut
Syntax :
$ mkdir /tmp/sisop
 Berpindah Direktori
Gunakan perintah cd untuk berpindah direktori dari direktori sebelumnya.
Syntax :
$ cd [alamat_direktori]
Untuk Berpindah direktori ke direktori diatasnya (parent) gunakan perintah
$ cd ..
 Mendapatkan Nama Direktori Terkini
Untuk memperlihatkan di direktori mana posisi kita berada sekarang
digunakan perintah
Syntax :
 List directory
Perintah ini berfungsi untuk menampilkan isi dari suatu directory beserta
atribut filenya.
Syntax :
$ ls [option]
$ pwd
OPTION FUNGSI
-a
bila anda ingin menampilkan semua file dan folder, termasuk file
dan folder yang tersembunyi
-A sama dengan -a, tetapi tidak menampilkan direktori . dan ..
-C menampilkan direktori dengan output berbentuk kolom
-d menampilkan direktori saja, isi direktori tidak ditampilkan
-f menampilkan isi direktori tanpa diurutkan
-l
menampilkan isi direktori secara lengkap, mulai dari hak akses,
owner, group dan tanggal file atau direktori tersebut dibuat
-1 menampilkan isi direktori dengan format satu direktori per baris
Contoh : $ ls –l
 Copy berkas
Digunakan untuk melakukan copy file.
Syntax :
$ cp /[direktori]/[file_yang_ingin_dicopy] /[direktori tujuan]
Contoh : ~# cp home/praktikum/sisop.txt home/SisopFolder
 Memindah berkas
Digunakan untuk melakukan memindahkan, cut atau rename file.
Syntax :
$ mv /[direktori]/[file_yang_ingin_dicut] /[direktori tujuan]
(cut)
$ mv /[direktori]/[file_yang_ingin_direname] /[nama_baru_file]
(rename)
Mengcut file sisop.txt pada direktori /home/praktikum/ dan
memindahkannya kedalam direktori /home/SisopFolder.
Merename file sisop.txt menjadi SisopIsGood.txt yang terdapat dalam
direktori home/SisopFolder.
 Menghapus file
Digunakan untuk menghapus file.
Syntax :
$ rm [nama_file]
Contoh : $ rm SisopIsGood.txt
 Menghapus direktori
Syntax :
$ rmdir [nama_file]
Contoh : $ rmdir SisopFolder
 Menghapus direktori yang didalamnya terdapat file
Syntax :
$ rm –rf [nama_direktori]
Contoh : $ rm –rf /home/SisopFolder
 Menampilkan isi sebuah file
Syntax :
$ more [nama_file]
Contoh : $ more sisop.txt
C. Kepemilikan File dan hak akses
Ketika sebuah file atau direktori dibuat, maka file atau direktori tersebut
kepemilikikannya akan melekat pada suatu user dan group tertentu. Selain itu
pada file tersebut akan melekat juga tiga hak akses yang berbeda, yaitu baca
(read), tulis (write), dan eksekusi (execute), terhadap pemilik, grup, atau user
lain. Hak akses tersebut dapat diubah oleh root atau user yang memilikinya.
Mekanisme kepemilikan dan akses file tersebut sangat penting, karena Linux
bersifat multiuser, sehingga harus ada mekanisme untuk mencegah akses-akses
ilegal terhadap file. Secara umum pengaturan hak akses atas file atau direktori
mempunyai prinsip sebagai berikut :
• Setiap file selalu dimiliki oleh seorang yang berhak mengatur hak akses
terhadap file tersebut.
• Hak akses terbagi menjadi 3 bagian: Read, Write, dan Execute.
• Hak akses dapat diberikan kepada 3 kelompok pemakai, yaitu pemilik file
(Owner), grup
pemilik file (Group), dan pemakai lainnya (Other).
Hak akses
• read : r
• write : w
• execute : x
Kelompok pemakai
User pemilik (Owner) : u
Group : g
User lain : o
Kemudian tanda (+) untuk menandakan pemberian hak akses, sedangkan tanda (-)
untuk menandakan penghapusan hakakses.Perhatikan perintah berikut ini :
# chmod go+wx sisop.txt
Untuk merubah hak akses sebuah file atau direktori hanya bisa dilakukan oleh user
root. Contoh berikut menunjukkan agar group (g) dan other (o) bisa menulis (w). Selain
menggunakan kombinasi huruf, hak akses file atau direktori dapat dilakukan dengan
kombinasibilangan numerik,yaitu 0 sampai7.
Untuk merubah kepemilikan file atau direktori baik user maupungrup gunakan
perintah Chown dan chgrp , kepemilikan file ini terkadang perlu dilakukan dengan
alasan keamanan.
# chown [nama pemilik baru] [nama directory/nama file]
Contoh $ chown ilham test.txt
Begitu juga nama group pada sebuah file juga dapat kita ubah,untuk
mengubahnya kita bisa menggunakan chgrp.
# chgrp [nama group baru] [nama direktory/ nama file
Contoh $ chgrp family test.txt
Contoh
-rw-rw-r-- 1 bin auth 1639 2008-08-31 20:19 File.txt
tipe
Ijin akses
Jml link
Pemilik Group
Jml karakter Waktu
Nama file
Pemilik File/Direktori dapat mengubah ijin akses sebagai berikut :
-rwxrwxrwx 1 student test 1639 2001-08-31 20:19 file.txt
Format untuk mengubah ijin akses
dimana u = user (pemilik)
g = group (kelompok)
user
group
other
chmod [ugoa] [= + -] [rwx] File(s)
chmod [ugoa] [= + -] [rwx] Dir(s)
Note : angka 0 di berikan apabila kita tidak memberikan ijin sedangkan
agka 1 di berikan apabila diberikan ijin.
Contoh :
Ada file dengan nama file.txt dimana untuk ijin aksesnya owner diberi
seluruh akses, group hanya baca, other tidak ada akses sama
sekali.bagaimanakah format yang digunakan untuk merubah ijin akses dari
file.txt tersebut ?
Jawab :
u = r w x = 1 1 1 = 7
g = r w x = 1 0 0 = 4
o = r w x = 0 0 0 = 0
jadi formatnya adalah : $ chmod 740 file.txt
#Apakah ada cara lain untuk mengganti hak ijin akses file selain dengan
meggunakan mode biner dan alphabet..? jika ada jelaskan!
Ada dengan menggunakan GUI. Dengan cara klik kanan pilih properties pilih
permisions. Setelah itu atur ijin hak akses yang diinginkan.
o = others (lainnya)
a = all
r w x
1 0 1 = 5
Format lain dari chmod adalah menggunakan bilangan biner sebagai berikut
chmod [Angka_ijin] File(s)
chmod [Angka_Ijin] Dir(s)
# Buatlah file dengan nama coba1 lalu ubahlah hak ijin aksesnya dengan
$chmod u-x,g+r,o=w coba1 .Jelaskan proses perintah tersebut!
Pemilik sebuah file atau direktori dapat diganti menjadi user yang lain yang
kita inginkan Untuk menggantinya digunakan perintah chown.
Syntax :
Contoh # chown ilham test.txt
Begitu juga nama group pada sebuah file juga dapat kita ubah, untuk
mengubahnya kita bisa menggunakan perintah chgrp.
Syntax :
# chown option pemilik_baru nama_file/direktori
# chgrp option group_pengganti nama_file/direktori
Pertama hak akses pada user yaitu execute akan
dihilangkan, kemudian ditambahkan hak akses read pada
group, setelah itu hak akses pada others dijadikan
hanya sebatas write.
Contoh $ chgrp family test.txt
Untuk keamanan dan privasi, setiap file di linux memiliki identitas
kepemilikan(ownership). Dengan adanya identitas ini maka akan jelas siapa
pemilik file tersebut.
D. Process dan Thread
Proses pada Linux merupakan aktifitas permintaan user terhadap sistem
operasi. Model proses pada Linux mirip dengan UNIX, dimana prinsip dasar
keduanya menggunakan fungsi fork() dan exec(). fork() digunakan untuk
membuat proses baru sedangkan exec() digunakan untuk memanggil program.
Kedua pendekatan diatas merupakan dua hal yang berbeda, dimana proses
(child) bisa diciptakan tanpa membuka program baru, dan secara sederhana akan
meneruskan program awal (parent) untuk mengeksekusi perintah yang sama
pada program awal.
Untuk membuat proses baru, bisa dengan mengetikan perintah langsung
pada shell Linux.
TIPE PROSES :
Terdapat beberapa tipe proses yang dikenal dalam OS berbasis Linux pada
umumnya, antara lain:
 Interactive : proses yang dimulai (dan dikontrol oleh) shell . Bisa
tampak di luar (foreground) ataupun hanya di dalam (background).
 Batch : proses yang tidak berhubungan dengan terminal, tetapi
menunggu untuk dieksekusi secara berurutan (sekuensial).
 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’.
Process Environment
Pada sistem operasi Linux process environment terdiri dari dua komponen,
argumen dan environment. Argumen adalah daftar opsi tambahan pada CLI yang
berkaitan dengan perilaku program ketika dijalankan, sedangkan environment
adalah daftar parameter, baik berupa variabel, direktori home yang secara
tekstual dibutuhkan oleh program.
Environment variable biasanya terdiri dari beberapa informasi seperti:
• PATH, daftar lokasi direktori dimana file executable berada.
• HOME, lokasi direktori home.
• CPPLIBS, lokasi dimana library yang berkaitan dengan program disimpan.
• HOSTNAME digunakan untuk penamaan mesin.
• USER user yang digunakan pada saat login pada sistem operasi
Memulai menggunakan perintah ps
# Apa perintah yang seharusnya Anda tulis agar menampilkan hasil output
seperti di atas ?
Dengan cara menuliskan syntax : ps -u
# Apa fungsi perintah tersebut ?
Menampilkan semua proses yang sedang berjalan pada system
# Apa perintah yang seharusnya Anda tulis agar menampilkan hasil output
seperti di atas?
# atau Anda bisa menggunakan perintah lain, seperti ?
Untuk menampilkan proses yang sedang dijalankan oleh user.
ps -A
ps -a
ps -l
# Dan perintah apa yang berfungsi menampilkan semua proses dalam
format sesuai definisi user yaitu terdiri dari kolom PID dan CMD.?
 Melihat semua proses yang berjalan kecuali root
# Pada poin ketiga ini, Anda dapat menggunakan perintah seperti di bawah
ini :
ps -U root -u root -N
#Bagaimana hasil ouputnya ?
ps -m
 Menampilkan proses yang sedang dijalankan oleh user tertentu
# Untuk menjalankan fungsi pada poin empat, Anda dapat menggunakan
perintah seperti di bawah ini :
ps -u <user>
#Bagaimana hasil ouputnya ?
 Menampilkan proses yang sedang berjalan dalam bentuk pohon
# Untuk menjalankan fungsi pada poin lima, Anda dapat menggunakan
perintah seperti di bawah ini :
pstree
#Bagaimana hasil ouputnya ?
Hasil outputnyanya hampir sama dengan perintah ps -m akan tetapi pada perintah tersebut
tidak menampilkan nilai variabel TTY
#Apa perbedaan perintah pstree dengan pstree –h ?
contoh pstree :
Controlling Proses
Dalam sistem operasi linux semua proses dikontrol oleh shell yaitu sebuah
antar muka antara sistem operasi dengan user.
Sebagai contohnya kita akan mengirim output y yang tidak akan pernah
selesai. Dengan menggunakan sintak sebagai berikut :
$ yes
#Bagaimana untuk menghentikan perintah $yes diatas?
Hasil output:
#Bagaimana cara agar perintah yes tetap dijalankan tetapi shell tetap
digunakan untuk hal yang lain ?
Hasil Output:
Pada perintah pstree tidak menunjukkan sebuah sub proses yang sedang dijalankan,
sedangkan pstree -h menunjukkan highlight dari proses yang sedang dijalankan dan
ancestor dari proses itu sendiri.
Menekan tombol Ctrl+Z.
Menekan tombol Ctrl + C.
# Bagaimana Untuk melihat status proses yang sedang berjalan??
Hasil Output:
PERINTAH KILL
Perintah kill adalah salah satu perintah daasar Linux yang digunakan untuk
menghentikan atau mematikan proses yang sedang berjalan pada Sistem Operasi
Linux / UNIX. perintah ini sangat penting karena dengan memahami perintah ini
kita bisa mengetahui mana proses yang mengganggu performa, tidak
dibutuhkan, dll.
#Bagaimana contoh perintah kill ?
# PID adalah nomor proses yang akan di hentikan. Tidak tahu PID proses
mana yang akan dihentikan? Cobalah bereksperimen dengan perintah:
ps aux | grep <myusername>
# Lalu tempelkan hasil output pada kolom di bawah ini
pkill firefox
Mengetikkan perintah ps -u pada terminal
Daemons
Daemons adalah sebuah proses yang bekerja pada background karena
proses ini tidak memiliki terminal pengontrol. Dalam sistem operasi Windows
biasanya lebih dikenal dengan sebutan service. Daemon adalah sebuah proses
yang didesain supaya proses tersebut tidak mendapatkan intervensi dari user.
Daemon biasanya bekerja dalam jangka waktu yang sangat lama dan bertugas
menerima request dan menjalankan responsnya.
#Apa yang membedakan Daemons dengan proses lain ?
Berikut ini adalah beberapa cara untuk membuat daemon:
 Forking dan pembunuhan Proses induk.
Langkah pertama dari pembuatan daemon adalah dengan menspawn
proses menjadi induk dan anak dengan melakukan forking, kemudian
membunuh proses induk. Proses induk yang mati akan menyebabakan sistem
operasi mengira bahwa proses telah selesai sehingga akan kembali ke terminal
user.
# Contoh Script :
Daemon tidak memiliki parent proses id, pengontrol, baik itu STDIN,STDOUT,STD error.
Daemon juga berjalan dalam privilege superuser. Daemon tidak memiliki suatu terminal yang
digunakan untuk mengontrol daemon itu sendiri. Sehingga daemon tidak dapat dikendalikan,
seperti di kill atau di beri perintah lainnya.
sid=setsid ();
if(sid<0){
exit(EXIT_FAILURE);
}
if((chdir("/"))<0){
exit(EXIT_FAILURE);
}
 Membuat proses bekerja secara independen
Daemon harus bekerja secara independen daripada proses-proses lain,
termasuk juga proses yang menjalankannya. Langkah bisa dilakukan dengan
memanggil fungsi setsid(), sehingga proses akan mendapatkan sebuah session ID
yang baru.
# Contoh Script :
 Menutup standar I/O deskriptor yang diwarisi
Untuk mencegah terjadinya intervensi dari user serta untuk pengamanan,
maka standar I/O descriptor dan descriptor yang diwarisi dari proses induk harus
ditutup. Ada 3 jenis standar I/O descriptor : STDIN (standar input), STDOUT
(standar output), STDERR (standar error).
# Contoh Script :
 Melakukan masking pada File Creation
Sebagian besar daemon bekerja dalam previlege super user. Daemon
biasanya memproteksi setiap file yang dibuat, dengan alasan keamanan. Fungsi
umask() akan mencegah file-file previleges yang tidak aman dalam setiap
pembuatan file.
sid=setsid ();
if(sid<0){
exit(EXIT_FAILURE);
}
if((chdir("/"))<0){
exit(EXIT_FAILURE);
}
close(STDIN_FILENO);
close(STDERR_FILENO);
# Contoh Script:
 Running Directory
Directory kerja daemon haruslah sebuah directory yang selalu hidup. Bisa
saja pada saat starting working directorynya pada saat itu berada pada user
home. Karena daemon bekerja sampai sistem reboot, maka file sistem user
directorynya takkan pernah bisa di unmount.
# Contoh Script :
 Mendengarkan signal
# Tulislah pada kolom di bawah ini, apakah maksud dari proses ini ?
sid = setsid();
if(sid < 0)
{
exit(EXIT_FAILURE);
}
if((chdir(“/home/indra/Desktop/Data/”)) < 0)
{
exit(EXIT_FAILURE);
}
pid_t pid,sid;
pid=fork();
if(pid < 0)
{
exit(EXIT_FAILURE);
}
if(pid > 0)
{
printf("process_id of child process %d n", pid);
exit(EXIT_SUCCESS);
}
umask(0);
Tugas dari daemon adalah mendengarkan request yang dikirim melalui suatu sinyal. Sehingga dalam
suatu daemon harus terdapat fitur untuk mendengar/menerima suatu sinyal agar terdapat respon
saat dikirimi suatu sinyal. Kita dapat menginstall suatu signal listener pada suatu daemon dengan
mengetikkan fungsi signal().
 Logging
# Sebutkan beberapa cara untuk melakukan proses logging dan berikan
penjelasan!
2.3.2 Pengenalan Lingkungan Sistem operasi linux
Shell
Shell merupakan command executive, yaitu program yang menunggu
instruksi atau perintah dari pemakai, memeriksa sintaks dari perintah yang
diberikan, dan kemudian mengeksekusi perintah tersebut
Shell disebut juga dengan command interpreteur language, artinya shell
adalah bahasa yang menerjemahkan perintah yang menjadi penghubung secara
langsung atau antar muka antara user dengan utilitas & bahasa pemrograman
dari sistem operasi itu sendiri. Contohnya pada saat kita mengetikkan perintah
“ls” di terminal, shell akan menjalankan perintah tersebut dengan mengeksekusi
program “ls” yang ada pada sistem operasi. Jika kita mengetikkan perintah yang
tidak memiliki program didalam sistem operasi, missal kita mengetikkan “hello”
saja pada terminal, maka shell tidak akan mengeksekusi program apapun ,dan
biasanya akan muncul pesan “command not found”.
#bagaimana cara menampilkan shell yang tersedia di linux anda? tunjukkan
screenshot!
Mengetikkan syntax cat /etc/shells
- Metode Log File : Semua file ditulis ke dalam suatu file dan di kendalikan oleh file konfigurasi
daemon . Cara melakukan nya adalah dengan mengetikkan sintaks fopen()
- Metode Log Server : UNIX memiliki daemon khusus yang digunakan untuk logging yaitu syslogd.
Daemon ini mengelompokkan pesan-pesan menjadi beberapa kelompok yang disebut facility,
kemudian kelompok ini dapat dikirim ke tempat yang berbeda misalnya email.
1. Macam-macam Shell
Shell sendiri terdiri dari berbagai macam dengan kelebihan dan
kekurangan masing-masing. Untuk melihat langsung shell apa saja yang ada di
linux bisa dengan menggunakan perintah $ls /etc/shells kemudian enter. Berikut
adalah beberapa contoh macam shell yang digunakan pada linux :
Shell Developer Lokasi Keterangan
Bourne Shell
( /bin/sh)
Steven
Bourne
Shell yang pertama kali ada di Unix
Bourne Again
Shell
( /bin/bash)
Brian Fox dan
Chet Ramey
Free
Software
Foundation
Shell BASH merupakan shell yang
paling umum digunakan di semua
system operasi Linux
C Shell
( /bin/csh)
Bill Joy Universitas
Berkeley
California
C Shell adlah Shell yang mengadopsi
perintah
pemrograman C
Tenec C Shell
( /bin/tcsh)
TCSH adalah Shell pengembangan
dari UNIX C Shell
Korn Shell
(/ bin/ksh)
Bill Joy AT&T Labs Shell ini menggabungkan kelebihan
Bourne shell dan C shell sehingga
lebih interaktif.
Alquimist
Shell
( /bin/ash)
Kenneth
Almquist
Ash banyak digunakan dalam
embedded linux, sistem yang
tertanam misalnya BIOS.
Z Shell
( /bin/zsh)
Z shell ini biasa digunakan oleh
pengguna linux untuk membangun
script yang kompleks.
#ketikkan perintah "bash" pada terminal anda, apa yang akan muncul?
mengapa muncul seperti itu?
 Mengganti dan Menjalankan Shell
Linux menggunakan bash sebagai shell default, tetapi pengguna bisa
mengubah shell default untuk tiap usernya. Untuk melihat shell yang sedang
digunakan oleh user bisa dilihat pada file :
Isi dari file tersebut tiap barisnya dibagi menjadi tujuh bagian, dan setiap
terakhir digunakan untuk mendefinisikan shell yang digunakan. Dalam contoh di
atas user root menggunakan shell Bash sedangkan daemon menggunakan shell
bourne shell.
Cara lain yang bisa digunakan untuk melihat shell adalah dengan melihat
environmet user dengan menjalankan perintah env. Environment user
merupakan lingkungan user yang berisi semua variabel atau ketentuan khusus
untuk user tersebut.
Terminal akan memanggil shell bash.
/etc/passwd
.................................
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
.................................
$ env
...........
SHELL=/bin/bash
..............
 Mengganti Shell
Ada beberapa cara yang dapat digunakan untuk mengubah shell default,
yaitu dengan utilitas userconf, atau dapat juga dengan mengubah pada file
/etc/passwd tersebut tetapi harus sebagai root.
#Contoh mengganti shell dengan utilitas chsh (change shell) :

M
e
n
j
a
lankan Shell
sebuah shell dapat dijalankan tanpa harus mengubah default shell-nya.
Cara yang digunakan adalah dengan memanggil nama shell pada command
prompt. Misalnya, user akan menggunakan shell sh, user tinggal menjalankan
shell sh, user tinggal menjalankan sh sehingga prompt akan berubah sesuai
dengan prompt Bourne shell.
Untuk keluar dan kembali ke shell default, ketik exit atau tekan Ctrl + d.
Contoh :
bash@praktikum:~$ sh
$
$ exit
1. cat /etc/shells
2.chsh -s /bin/sh nama_user
 Menjalankan Script Shell
Untuk menjalankan sebuah script shell, Ada dua cara yang digunakan
untuk menjalankan sebuah shell script, yaitu
a) Langsung ruuning dari file [dot]sh-nya.
b) Ubah Hak Aksesnya.
 Melihat variabel PATH
Untuk melihat variabel path, gunakan perintah
Syntax:
$ echo $PATH
$ bash hello.sh
chmod +x hello.sh
./hello.sh
 Menentukan variabel PATH
Mengatur PATH di bash, ksh atau csh adalah satu dan sama.
Syntax:
$ PATH=$PATH:folder_baru_yang_mengandung_binari
Contoh : $ PATH=$PATH:/usr/share/java
 Menentukan variabel PATH secara permanen
Jika ingin tetap menjaga agar variabel PATH tetap bisa dieksekusi setelah
reboot/restart, maka harus diset secara permanen. Masukan kalimat
export PATH=$PATH:/user/share/java
di dalam file ~/.profile atau ~/.bashrc agar dapat digunakan secara permanen.
Setelah diset, kita perlu menambahkan perintah source di terminal agar PATH
menjadi tersedia dan dapat digunakan.
$ Source ~/.profile atau
$ Source ~/.bashrc Atau lakukan reboot.
2.3.3. Macam Struktur Sistem Operasi
Sebuah sistem yang besar dan kompleks seperti sistem operasi modern
harus diatur dengan cara membagi tugas ke dalam beberapa komponen-
komponen kecil agar dapat berfungsi dengan baik dan mudah dimodifikasi. Ada
beberapa jenis struktur pembagian komponen sistem operasi antara lain :
a. Struktur Sederhana
b. Struktur Lapisan
c. Struktur Monolitik
d. Struktur Microkernel
e. Struktur Modular
Berikut penjelasan detile dari masing-masing jenis struktur sistem operasi:
A. Struktur Sederhana
Ada sejumlah sistem komersial yang tidak memiliki struktur yang cukup baik.
Sistem operasi tersebut sangat kecil, sederhana dan memiliki banyak
keterbatasan. Salah satu contoh sistem tersebut adalah MS-DOS. MS-DOS
dirancang oleh orang-orang yang tidak memikirkan akan kepopuleran software
tersebut. Sistem operasi tersebut terbatas pada perangkat keras sehingga tidak
terbagi menjadi modul-modul. Meskipun MS-DOS mempunyai beberapa
struktur, antar muka dan tingkatan fungsionalitas tidak terpisah secara baik.
B. Struktur Monolitik
Pada perkembangannya, mulai terjadi pemisahan struktur sistem operasi
yaitu antara bagian kernel dan program sistem. Kernel berada di bawah tingkat
antarmuka system call dan diatas perangkat lunak secara fisik. Kernel ini berisi
sistem file, penjadwalan CPU, menejemen memori, dan fungsi sistem operasi
lainnya yang ada pada sistem call berupa sejumlah fungsi yang besar pada satu
level. Program sistem meminta bantuan kernel untuk memanggil fungsi-fungsi
dalam kompilasi dan manipulasi file. Salah satu contoh sistem operasi dengan
struktur monolitik adalah sistem operasi UNIX generasi awal.
C. Struktur Lapisan
Sistem operasi dibagi menjadi sejumlah lapisan yang masing-masing
dibangun di atas lapisan yang lebih rendah. Lapisan yang lebih rendah
menyediakan layanan untuk lapisan yang lebih tinggi. Lapisan yang paling bawah
adalah perangkat keras, dan yang paling tinggi adalah user-interface.
D. Struktur Microkernel
Metode ini menyusun sistem operasi dengan mengeluarkan semua
komponen yang tidak esensial dari kernel, dan mengimplementasikannya
sebagai program sistem dan level pengguna. Hasilnya kernel yang lebih kecil.
Pada umumnya mikrokernel mendukung proses dan menajemen memori yang
minimal, sebagai tambahan utnuk fasilitas komunikasi.
E. Struktur Modular
Pada struktur modular, kernel hanya menyediakan layanan inti dari sistem
operasi sedangkan layanan lain diimplementasikan secara dinamis ketika kernel
sedang berjalan. Sebagai contoh, layanan inti seperti penjadwalan CPU dan
manajemen memori ditangani langsung oleh kernel, sedangkan layanan-layanan
yang lain seperti dukungan untuk beragam jenis file system dilakukan pada
modul-modul yang dapat dipasang dan dilepas saat kernel utama berjalan.
Modul-modul tersebut dikenal dengan istilah loadable kernel module.
Salah satu contoh sistem operasi yang memakai pendekatan struktur
modular adalah Linux. Salah satu contoh kernel module di Linux adalah modul
ath3k, ath9k yang berfungsi sebagai device driver untuk perangkat wifi dengan
chipset Atheros. Pada bagian selanjutnya, akan disajikan contoh kode kernel
module sederhana dalam bahasa C beserta cara kompilasi dan pemasangannya.
Pada bagian ini akan dijelaskan mengenai tahapan kompilasi dan
pemasangan sebuah kernel module sederhana.
1. Sebelum melakukan kompilasi kernel module, terlebih dahulu kita harus
memasang paket yang dibutuhkan antara lain : library header sesuai versi
kernel Linux, gcc (GNU C Compiler) dan make dengan perintah :
sudo apt-get install linux-headers-general make gcc
2. Buat file hello.c dengan editor favorit anda dengan isi sebagai berikut
hello.c
#include <linux/module.h> /* Needed by all modules */
#include <linux/kernel.h> /* Needed for KERN_INFO */
#include <linux/init.h> /* Needed for the macros */
static int __init hello_start(void)
{
printk(KERN_INFO "Loading hello module...n");
printk(KERN_INFO "Hello world Mr. Praktikann");
return 0;
}
static void __exit hello_end(void)
{
printk(KERN_INFO "Goodbye Mr. Praktikann");
}
module_init(hello_start);
module_exit(hello_end);
Penjelasan source code :
Pada kode hello.c tersebut terdapat dua fungsi callback yang dipanggil yaitu
module_init() dan module_exit(). Fungsi callback module_init() akan
dipanggil ketika kernel module dipasang. Selanjutnya, fungsi hello_start()
sebagai parameter dari module_init() akan dieksekusi. Pada hello_start()
dilakukan pencetakan string dengan fungsi printk(). Prosedur yang sama
berlaku untuk fungsi module_exit() yang dipanggil ketika sebuah kernel
module dilepas.
3. Buat sebuah file bernama Makefile di direktori yang sama dengan hello.c.
Makefile berisi informasi source code mana yang akan dikompilasi, lokasi
library yang dibutuhkan dan juga output dari proses kompilasi. Berikut isi
Makefile :
Makefile
obj-m = hello.o
KVERSION = $(shell uname -r)
all:
make -C /lib/modules/$(KVERSION)/build M=$(PWD) modules
clean:
make -C /lib/modules/$(KVERSION)/build M=$(PWD) clean
4. Compile source code dengan perintah
make
5. Pada direktori tersebut akan muncul file baru yaitu hello.ko. File tersebut
adalah file executable dari kernel module yang kita buat.
6. Pasang kernel module tadi dengan perintah
sudo insmod hello.ko
7. Cek apakah kernel module berhasil dipasang dengan perintah lsmod. Jika
sudah terpasang dengan benar, maka nama kernel module hello akan ada
pada daftar modul yang terpasang.
8. Cek output dari kernel module setelah dipasang dengan perintah dmesg.
9. Untuk melepas kernel module hello yang sudah terpasang tadi, kita dapat
memakai perintah :
sudo rmmod hello
10. Cek output dari kernel module setelah dilepas dengan perintah dmesg.

More Related Content

What's hot

Laporan Sistem Operasi Linux
Laporan Sistem Operasi LinuxLaporan Sistem Operasi Linux
Laporan Sistem Operasi Linux
Ibrahim Naki
 
Pengertian algoritma
Pengertian algoritmaPengertian algoritma
Pengertian algoritmakoboibdg
 
Sistem Persamaan linier dua variabel dan tiga variabel
Sistem Persamaan linier dua variabel dan tiga variabelSistem Persamaan linier dua variabel dan tiga variabel
Sistem Persamaan linier dua variabel dan tiga variabel
nurindah_nurisa
 
Kriptografi - Kriptanalisis
Kriptografi - KriptanalisisKriptografi - Kriptanalisis
Kriptografi - Kriptanalisis
KuliahKita
 
T3 – Query Lanjutan [1]
T3 – Query Lanjutan [1]T3 – Query Lanjutan [1]
T3 – Query Lanjutan [1]
Siska Amelia
 
Modul praktikum sistem operasi
Modul praktikum sistem operasiModul praktikum sistem operasi
Modul praktikum sistem operasi
Hidayatullah Aldy
 
Tugas contoh soal dan penyelesaian metode biseksi
Tugas contoh soal dan penyelesaian metode biseksiTugas contoh soal dan penyelesaian metode biseksi
Tugas contoh soal dan penyelesaian metode biseksi
muchamadsolikhulchakim
 
basis data lanjut modul
 basis data lanjut modul basis data lanjut modul
basis data lanjut modul
Denny Safardan
 
Pengantar Sistem Berkas (Lanjutan)
Pengantar Sistem Berkas (Lanjutan)Pengantar Sistem Berkas (Lanjutan)
Pengantar Sistem Berkas (Lanjutan)
formatik
 
6 lanjutan perulangan
6 lanjutan perulangan6 lanjutan perulangan
6 lanjutan perulangan
Simon Patabang
 
Laporan praktikum i dan ii tentang mengenal perintah dasar linux ubuntu
Laporan praktikum i dan ii tentang mengenal perintah dasar linux ubuntuLaporan praktikum i dan ii tentang mengenal perintah dasar linux ubuntu
Laporan praktikum i dan ii tentang mengenal perintah dasar linux ubuntu
Melina Krisnawati
 
Materi aljabar boolean
Materi aljabar booleanMateri aljabar boolean
Materi aljabar boolean
Mustahal SSi
 
Perpotongan dua persamaan
Perpotongan dua persamaanPerpotongan dua persamaan
Perpotongan dua persamaan
UNIVERSITAS MUHAMMADIYAH BERAU
 
Modul1 metode bagi dua Praktikum Metode Numerik
Modul1 metode bagi dua Praktikum Metode NumerikModul1 metode bagi dua Praktikum Metode Numerik
Modul1 metode bagi dua Praktikum Metode Numerik
James Montolalu
 
Analisa Sistem
Analisa SistemAnalisa Sistem
Analisa Sistem
Lia Rusdyana Dewi
 
Tugas sistem basis data kelompok
Tugas sistem basis data kelompokTugas sistem basis data kelompok
Tugas sistem basis data kelompok
Friska Nuraini
 
Aps10 design document_flowdiagram
Aps10 design document_flowdiagramAps10 design document_flowdiagram
Aps10 design document_flowdiagram
Arif Rahman
 
struct & stack
struct & stackstruct & stack
struct & stack
M Satrio
 
Laporan praktikum 1 perintah dasar sistem operasi linux
Laporan praktikum 1 perintah dasar sistem operasi linuxLaporan praktikum 1 perintah dasar sistem operasi linux
Laporan praktikum 1 perintah dasar sistem operasi linux
istiocta
 
Penawaran Aplikasi Kasir Toko ITB POS
Penawaran Aplikasi Kasir Toko ITB POSPenawaran Aplikasi Kasir Toko ITB POS
Penawaran Aplikasi Kasir Toko ITB POS
ITBrainIndonesia
 

What's hot (20)

Laporan Sistem Operasi Linux
Laporan Sistem Operasi LinuxLaporan Sistem Operasi Linux
Laporan Sistem Operasi Linux
 
Pengertian algoritma
Pengertian algoritmaPengertian algoritma
Pengertian algoritma
 
Sistem Persamaan linier dua variabel dan tiga variabel
Sistem Persamaan linier dua variabel dan tiga variabelSistem Persamaan linier dua variabel dan tiga variabel
Sistem Persamaan linier dua variabel dan tiga variabel
 
Kriptografi - Kriptanalisis
Kriptografi - KriptanalisisKriptografi - Kriptanalisis
Kriptografi - Kriptanalisis
 
T3 – Query Lanjutan [1]
T3 – Query Lanjutan [1]T3 – Query Lanjutan [1]
T3 – Query Lanjutan [1]
 
Modul praktikum sistem operasi
Modul praktikum sistem operasiModul praktikum sistem operasi
Modul praktikum sistem operasi
 
Tugas contoh soal dan penyelesaian metode biseksi
Tugas contoh soal dan penyelesaian metode biseksiTugas contoh soal dan penyelesaian metode biseksi
Tugas contoh soal dan penyelesaian metode biseksi
 
basis data lanjut modul
 basis data lanjut modul basis data lanjut modul
basis data lanjut modul
 
Pengantar Sistem Berkas (Lanjutan)
Pengantar Sistem Berkas (Lanjutan)Pengantar Sistem Berkas (Lanjutan)
Pengantar Sistem Berkas (Lanjutan)
 
6 lanjutan perulangan
6 lanjutan perulangan6 lanjutan perulangan
6 lanjutan perulangan
 
Laporan praktikum i dan ii tentang mengenal perintah dasar linux ubuntu
Laporan praktikum i dan ii tentang mengenal perintah dasar linux ubuntuLaporan praktikum i dan ii tentang mengenal perintah dasar linux ubuntu
Laporan praktikum i dan ii tentang mengenal perintah dasar linux ubuntu
 
Materi aljabar boolean
Materi aljabar booleanMateri aljabar boolean
Materi aljabar boolean
 
Perpotongan dua persamaan
Perpotongan dua persamaanPerpotongan dua persamaan
Perpotongan dua persamaan
 
Modul1 metode bagi dua Praktikum Metode Numerik
Modul1 metode bagi dua Praktikum Metode NumerikModul1 metode bagi dua Praktikum Metode Numerik
Modul1 metode bagi dua Praktikum Metode Numerik
 
Analisa Sistem
Analisa SistemAnalisa Sistem
Analisa Sistem
 
Tugas sistem basis data kelompok
Tugas sistem basis data kelompokTugas sistem basis data kelompok
Tugas sistem basis data kelompok
 
Aps10 design document_flowdiagram
Aps10 design document_flowdiagramAps10 design document_flowdiagram
Aps10 design document_flowdiagram
 
struct & stack
struct & stackstruct & stack
struct & stack
 
Laporan praktikum 1 perintah dasar sistem operasi linux
Laporan praktikum 1 perintah dasar sistem operasi linuxLaporan praktikum 1 perintah dasar sistem operasi linux
Laporan praktikum 1 perintah dasar sistem operasi linux
 
Penawaran Aplikasi Kasir Toko ITB POS
Penawaran Aplikasi Kasir Toko ITB POSPenawaran Aplikasi Kasir Toko ITB POS
Penawaran Aplikasi Kasir Toko ITB POS
 

Similar to Sistem_Operasi_FILKOMUB_2016_Bab 2_materi

Sistem Operasi II
Sistem Operasi IISistem Operasi II
Sistem Operasi II
Kho_Ai
 
Muhdin dahlan tugas so 2 (tgs ke 3)
Muhdin dahlan tugas so 2 (tgs ke 3)Muhdin dahlan tugas so 2 (tgs ke 3)
Muhdin dahlan tugas so 2 (tgs ke 3)
muhdin_dahlan
 
Sistem File
Sistem FileSistem File
Sistem File
Lusiana Diyan
 
Perintah-perintah Management File dan Group
Perintah-perintah Management File dan Group Perintah-perintah Management File dan Group
Perintah-perintah Management File dan Group
muhamadpandu1
 
Meeting 4 - operasi file dan struktur direktori-handout
Meeting 4 - operasi file dan struktur direktori-handoutMeeting 4 - operasi file dan struktur direktori-handout
Meeting 4 - operasi file dan struktur direktori-handout
Syaiful Ahdan
 
Praktikum Sistem Operasi Linux (3)
Praktikum Sistem Operasi Linux (3)Praktikum Sistem Operasi Linux (3)
Praktikum Sistem Operasi Linux (3)
Mirza Afrizal
 
Manajemen file permission
Manajemen file permissionManajemen file permission
Manajemen file permission
Rizal Arifin
 
Mod -2_-_so_-_2013-2014
Mod  -2_-_so_-_2013-2014Mod  -2_-_so_-_2013-2014
Mod -2_-_so_-_2013-2014day_aftercoma
 
Pertemuan12 sistem f ile
Pertemuan12   sistem f ilePertemuan12   sistem f ile
Pertemuan12 sistem f ile
Syaiful Ahdan
 
Praktikum 3
Praktikum 3Praktikum 3
Praktikum 3
Indra Wijaya
 
Tugas iii ade kaddam
Tugas iii ade kaddamTugas iii ade kaddam
Tugas iii ade kaddam
Erhyz Ambarak
 
Praktikum 8
Praktikum 8Praktikum 8
Praktikum 8
Indra Wijaya
 
Js 2 asj
Js 2   asjJs 2   asj
Tugas pengantar sistem unix
Tugas pengantar sistem unixTugas pengantar sistem unix
Tugas pengantar sistem unix
Hibaten Wafiroh
 
Sistem File
Sistem FileSistem File
Sistem File
eddie Ismantoe
 
Makalah Network operating system
Makalah Network operating systemMakalah Network operating system
Makalah Network operating system
johan11061993
 
SISTEM OPEN SOURCE
SISTEM OPEN SOURCESISTEM OPEN SOURCE
SISTEM OPEN SOURCE
Mariana Sudirinanti
 
Tugas sisitem operasi ii
 Tugas sisitem operasi ii Tugas sisitem operasi ii
Tugas sisitem operasi iifatek
 

Similar to Sistem_Operasi_FILKOMUB_2016_Bab 2_materi (20)

Sistem Operasi II
Sistem Operasi IISistem Operasi II
Sistem Operasi II
 
Muhdin dahlan tugas so 2 (tgs ke 3)
Muhdin dahlan tugas so 2 (tgs ke 3)Muhdin dahlan tugas so 2 (tgs ke 3)
Muhdin dahlan tugas so 2 (tgs ke 3)
 
Sistem File
Sistem FileSistem File
Sistem File
 
Perintah-perintah Management File dan Group
Perintah-perintah Management File dan Group Perintah-perintah Management File dan Group
Perintah-perintah Management File dan Group
 
Meeting 4 - operasi file dan struktur direktori-handout
Meeting 4 - operasi file dan struktur direktori-handoutMeeting 4 - operasi file dan struktur direktori-handout
Meeting 4 - operasi file dan struktur direktori-handout
 
Pertemuan4
Pertemuan4Pertemuan4
Pertemuan4
 
Praktikum Sistem Operasi Linux (3)
Praktikum Sistem Operasi Linux (3)Praktikum Sistem Operasi Linux (3)
Praktikum Sistem Operasi Linux (3)
 
Manajemen file permission
Manajemen file permissionManajemen file permission
Manajemen file permission
 
Mod -2_-_so_-_2013-2014
Mod  -2_-_so_-_2013-2014Mod  -2_-_so_-_2013-2014
Mod -2_-_so_-_2013-2014
 
Pertemuan12 sistem f ile
Pertemuan12   sistem f ilePertemuan12   sistem f ile
Pertemuan12 sistem f ile
 
Praktikum 3
Praktikum 3Praktikum 3
Praktikum 3
 
Tugas iii ade kaddam
Tugas iii ade kaddamTugas iii ade kaddam
Tugas iii ade kaddam
 
Praktikum 8
Praktikum 8Praktikum 8
Praktikum 8
 
Js 2 asj
Js 2   asjJs 2   asj
Js 2 asj
 
Tugas pengantar sistem unix
Tugas pengantar sistem unixTugas pengantar sistem unix
Tugas pengantar sistem unix
 
Sistem File
Sistem FileSistem File
Sistem File
 
Makalah Network operating system
Makalah Network operating systemMakalah Network operating system
Makalah Network operating system
 
8
88
8
 
SISTEM OPEN SOURCE
SISTEM OPEN SOURCESISTEM OPEN SOURCE
SISTEM OPEN SOURCE
 
Tugas sisitem operasi ii
 Tugas sisitem operasi ii Tugas sisitem operasi ii
Tugas sisitem operasi ii
 

Recently uploaded

Modul Projek - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...
Modul Projek  - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...Modul Projek  - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...
Modul Projek - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...
MirnasariMutmainna1
 
PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...
PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...
PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...
agusmulyadi08
 
SOAL SHB PKN SEMESTER GENAP TAHUN 2023-2024.docx
SOAL SHB PKN SEMESTER GENAP TAHUN 2023-2024.docxSOAL SHB PKN SEMESTER GENAP TAHUN 2023-2024.docx
SOAL SHB PKN SEMESTER GENAP TAHUN 2023-2024.docx
MuhammadBagusAprilia1
 
Patofisiologi Sistem Endokrin hormon pada sistem endokrin
Patofisiologi Sistem Endokrin hormon pada sistem endokrinPatofisiologi Sistem Endokrin hormon pada sistem endokrin
Patofisiologi Sistem Endokrin hormon pada sistem endokrin
rohman85
 
PENGUMUMAN PPDB SMPN 4 PONOROGO TAHUN 2024.pdf
PENGUMUMAN PPDB SMPN 4 PONOROGO TAHUN 2024.pdfPENGUMUMAN PPDB SMPN 4 PONOROGO TAHUN 2024.pdf
PENGUMUMAN PPDB SMPN 4 PONOROGO TAHUN 2024.pdf
smp4prg
 
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docxRUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
kinayaptr30
 
SOSIALISASI PPDB TAHUN AJARAN 2024-2025.pptx
SOSIALISASI PPDB TAHUN AJARAN 2024-2025.pptxSOSIALISASI PPDB TAHUN AJARAN 2024-2025.pptx
SOSIALISASI PPDB TAHUN AJARAN 2024-2025.pptx
astridamalia20
 
Karakteristik Manusia Komunikan dalam Bingkai Psikologi Komunikasi
Karakteristik Manusia Komunikan dalam Bingkai Psikologi KomunikasiKarakteristik Manusia Komunikan dalam Bingkai Psikologi Komunikasi
Karakteristik Manusia Komunikan dalam Bingkai Psikologi Komunikasi
AdePutraTunggali
 
Laporan Piket Guru untuk bukti dukung PMM.pdf
Laporan Piket Guru untuk bukti dukung PMM.pdfLaporan Piket Guru untuk bukti dukung PMM.pdf
Laporan Piket Guru untuk bukti dukung PMM.pdf
gloriosaesy
 
PPT LANDASAN PENDIDIKAN.pptx tentang hubungan sekolah dengan masyarakat
PPT LANDASAN PENDIDIKAN.pptx tentang hubungan sekolah dengan masyarakatPPT LANDASAN PENDIDIKAN.pptx tentang hubungan sekolah dengan masyarakat
PPT LANDASAN PENDIDIKAN.pptx tentang hubungan sekolah dengan masyarakat
jodikurniawan341
 
Diseminasi Budaya Positif Lucy Kristina S.pptx
Diseminasi Budaya Positif Lucy Kristina S.pptxDiseminasi Budaya Positif Lucy Kristina S.pptx
Diseminasi Budaya Positif Lucy Kristina S.pptx
LucyKristinaS
 
Form B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docx
Form B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docxForm B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docx
Form B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docx
EkoPutuKromo
 
KOMITMEN MENULIS DI BLOG KBMN PB PGRI.ppt
KOMITMEN MENULIS DI BLOG KBMN PB PGRI.pptKOMITMEN MENULIS DI BLOG KBMN PB PGRI.ppt
KOMITMEN MENULIS DI BLOG KBMN PB PGRI.ppt
Dedi Dwitagama
 
LK 1 - 5T Keputusan Berdampak PERMATA BUNDA.pdf
LK 1 - 5T Keputusan Berdampak PERMATA BUNDA.pdfLK 1 - 5T Keputusan Berdampak PERMATA BUNDA.pdf
LK 1 - 5T Keputusan Berdampak PERMATA BUNDA.pdf
UditGheozi2
 
SOAL SBDP KELAS 3 SEMESTER GENAP TAHUN PELAJARAN 2023 2024
SOAL SBDP KELAS 3 SEMESTER GENAP TAHUN PELAJARAN 2023 2024SOAL SBDP KELAS 3 SEMESTER GENAP TAHUN PELAJARAN 2023 2024
SOAL SBDP KELAS 3 SEMESTER GENAP TAHUN PELAJARAN 2023 2024
ozijaya
 
SEMINAR PPG DAN PPL ppg prajabatan 2024.pptx
SEMINAR PPG DAN PPL ppg prajabatan 2024.pptxSEMINAR PPG DAN PPL ppg prajabatan 2024.pptx
SEMINAR PPG DAN PPL ppg prajabatan 2024.pptx
bobobodo693
 
Permainan Wiwi Wowo aksi nyata berkebhinekaan
Permainan Wiwi Wowo aksi nyata berkebhinekaanPermainan Wiwi Wowo aksi nyata berkebhinekaan
Permainan Wiwi Wowo aksi nyata berkebhinekaan
DEVI390643
 
0. PPT Juknis PPDB TK-SD -SMP 2024-2025 Cilacap.pptx
0. PPT Juknis PPDB TK-SD -SMP 2024-2025 Cilacap.pptx0. PPT Juknis PPDB TK-SD -SMP 2024-2025 Cilacap.pptx
0. PPT Juknis PPDB TK-SD -SMP 2024-2025 Cilacap.pptx
Indah106914
 
ppt materi aliran aliran pendidikan pai 9
ppt materi aliran aliran pendidikan pai 9ppt materi aliran aliran pendidikan pai 9
ppt materi aliran aliran pendidikan pai 9
mohfedri24
 
RANCANGAN TINDAKAN AKSI NYATA MODUL 1.4.pptx
RANCANGAN TINDAKAN AKSI NYATA MODUL 1.4.pptxRANCANGAN TINDAKAN AKSI NYATA MODUL 1.4.pptx
RANCANGAN TINDAKAN AKSI NYATA MODUL 1.4.pptx
SurosoSuroso19
 

Recently uploaded (20)

Modul Projek - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...
Modul Projek  - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...Modul Projek  - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...
Modul Projek - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...
 
PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...
PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...
PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...
 
SOAL SHB PKN SEMESTER GENAP TAHUN 2023-2024.docx
SOAL SHB PKN SEMESTER GENAP TAHUN 2023-2024.docxSOAL SHB PKN SEMESTER GENAP TAHUN 2023-2024.docx
SOAL SHB PKN SEMESTER GENAP TAHUN 2023-2024.docx
 
Patofisiologi Sistem Endokrin hormon pada sistem endokrin
Patofisiologi Sistem Endokrin hormon pada sistem endokrinPatofisiologi Sistem Endokrin hormon pada sistem endokrin
Patofisiologi Sistem Endokrin hormon pada sistem endokrin
 
PENGUMUMAN PPDB SMPN 4 PONOROGO TAHUN 2024.pdf
PENGUMUMAN PPDB SMPN 4 PONOROGO TAHUN 2024.pdfPENGUMUMAN PPDB SMPN 4 PONOROGO TAHUN 2024.pdf
PENGUMUMAN PPDB SMPN 4 PONOROGO TAHUN 2024.pdf
 
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docxRUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
 
SOSIALISASI PPDB TAHUN AJARAN 2024-2025.pptx
SOSIALISASI PPDB TAHUN AJARAN 2024-2025.pptxSOSIALISASI PPDB TAHUN AJARAN 2024-2025.pptx
SOSIALISASI PPDB TAHUN AJARAN 2024-2025.pptx
 
Karakteristik Manusia Komunikan dalam Bingkai Psikologi Komunikasi
Karakteristik Manusia Komunikan dalam Bingkai Psikologi KomunikasiKarakteristik Manusia Komunikan dalam Bingkai Psikologi Komunikasi
Karakteristik Manusia Komunikan dalam Bingkai Psikologi Komunikasi
 
Laporan Piket Guru untuk bukti dukung PMM.pdf
Laporan Piket Guru untuk bukti dukung PMM.pdfLaporan Piket Guru untuk bukti dukung PMM.pdf
Laporan Piket Guru untuk bukti dukung PMM.pdf
 
PPT LANDASAN PENDIDIKAN.pptx tentang hubungan sekolah dengan masyarakat
PPT LANDASAN PENDIDIKAN.pptx tentang hubungan sekolah dengan masyarakatPPT LANDASAN PENDIDIKAN.pptx tentang hubungan sekolah dengan masyarakat
PPT LANDASAN PENDIDIKAN.pptx tentang hubungan sekolah dengan masyarakat
 
Diseminasi Budaya Positif Lucy Kristina S.pptx
Diseminasi Budaya Positif Lucy Kristina S.pptxDiseminasi Budaya Positif Lucy Kristina S.pptx
Diseminasi Budaya Positif Lucy Kristina S.pptx
 
Form B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docx
Form B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docxForm B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docx
Form B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docx
 
KOMITMEN MENULIS DI BLOG KBMN PB PGRI.ppt
KOMITMEN MENULIS DI BLOG KBMN PB PGRI.pptKOMITMEN MENULIS DI BLOG KBMN PB PGRI.ppt
KOMITMEN MENULIS DI BLOG KBMN PB PGRI.ppt
 
LK 1 - 5T Keputusan Berdampak PERMATA BUNDA.pdf
LK 1 - 5T Keputusan Berdampak PERMATA BUNDA.pdfLK 1 - 5T Keputusan Berdampak PERMATA BUNDA.pdf
LK 1 - 5T Keputusan Berdampak PERMATA BUNDA.pdf
 
SOAL SBDP KELAS 3 SEMESTER GENAP TAHUN PELAJARAN 2023 2024
SOAL SBDP KELAS 3 SEMESTER GENAP TAHUN PELAJARAN 2023 2024SOAL SBDP KELAS 3 SEMESTER GENAP TAHUN PELAJARAN 2023 2024
SOAL SBDP KELAS 3 SEMESTER GENAP TAHUN PELAJARAN 2023 2024
 
SEMINAR PPG DAN PPL ppg prajabatan 2024.pptx
SEMINAR PPG DAN PPL ppg prajabatan 2024.pptxSEMINAR PPG DAN PPL ppg prajabatan 2024.pptx
SEMINAR PPG DAN PPL ppg prajabatan 2024.pptx
 
Permainan Wiwi Wowo aksi nyata berkebhinekaan
Permainan Wiwi Wowo aksi nyata berkebhinekaanPermainan Wiwi Wowo aksi nyata berkebhinekaan
Permainan Wiwi Wowo aksi nyata berkebhinekaan
 
0. PPT Juknis PPDB TK-SD -SMP 2024-2025 Cilacap.pptx
0. PPT Juknis PPDB TK-SD -SMP 2024-2025 Cilacap.pptx0. PPT Juknis PPDB TK-SD -SMP 2024-2025 Cilacap.pptx
0. PPT Juknis PPDB TK-SD -SMP 2024-2025 Cilacap.pptx
 
ppt materi aliran aliran pendidikan pai 9
ppt materi aliran aliran pendidikan pai 9ppt materi aliran aliran pendidikan pai 9
ppt materi aliran aliran pendidikan pai 9
 
RANCANGAN TINDAKAN AKSI NYATA MODUL 1.4.pptx
RANCANGAN TINDAKAN AKSI NYATA MODUL 1.4.pptxRANCANGAN TINDAKAN AKSI NYATA MODUL 1.4.pptx
RANCANGAN TINDAKAN AKSI NYATA MODUL 1.4.pptx
 

Sistem_Operasi_FILKOMUB_2016_Bab 2_materi

  • 1. LABORATORIUM PEMBELAJARAN ILMU KOMPUTER FAKULTAS ILMU KOMPUTER UNIVERSITAS BRAWIJAYA NAMA : ILHAM TUBAGUS ARFIAN NIM : 165150207111051 MATERI : BAB II TANGGAL : 29/09/2017 ASISTEN : -ALFIAN RIZKY SUSANTO -ANANDA ADIYATMA PUTRA Bab 2. Pengenalan lingkungan sistem Operasi linux 2.1 Kebutuhan Untuk melaksakanan kegiatan praktikum pada bab 2, diperlukan sebuah sistem operasi yang didalamnya terdapat sebuah BASH ( Bourne Again SHell). 2.2 Tujuan Praktikum 1. Mengenalkan struktur system operasi 2. Mengenalkan antarmuka dalam sistem operasi, yaitu command line interface 3. Mengenalkan perintah-perintah dasar Linux yang umum digunakan 4. Mengenalkan lingkungan sistem operasi 5. Memberikan bekal kepada praktikan sebelum melajutkan ke materi lebih lanjut. 6. Praktikan mengerti dan mampu berinteraksi dengan shell 7. Praktikan mampu membuat program sederhana dengan shell 8. Praktikan mengerti absolute dan relative path 9. Praktikan mengerti proses pemasangan modul 2.3 Materi Praktikum 2.3.1. Commnad Line Interface CLI adalah antar muka yang tidak menyediakan grafik, baik berupa gambar-gambar, jendela-jendela ataupun animasi-animasi yang bisa memanjakan pengguna, melainkan hanya berupa teks yang harus diketikkan oleh pengguna. Pada bagian ini akan dikenalkan beberapa perintah dasar linux yang diperlukan dalam kehidupan sehari-hari, bahkan untuk proses administratif. Materi yang disajikan juga untuk mendukung kegiatan praktikum pada bab selanjutnya. Materi-materi tesebut meliputi :
  • 2. A. Manajemen User dan Group Pada sistem operasi yang mendukung banyak pengguna/multiuser Linux menyediakan konsep pengaturan user yang sederhana. Untuk dapat menambah, menghapus, ataupun mengelompokkan user/group baru harus login sebagai root (#), jadi seorang ‘user/group’ tidak dapat memodifikasi user/group lain. Perintah- perintah yang digunakan untuk memanajemen user dan group : Membuat User Untuk membuat user dan group hanya dapat dilakukan oleh super user “root”. Perintah untuk membuat user baru adalah : #useradd nama_user # adduser nama_user Untuk merubah password : #passwd nama_user
  • 3. Menghapus User Untuk menghapus user jalankan perintah berikut ini : #userdel nama_user Atau # userdel –r nama_user Jelaskan perbedaan dari kedua syntax diatas : Perintah userdel hanya sebatas menghapus user sedangkan userdel -r menghapus user sekaligus menghapus setiap file dan direktori yang terdapat pada user tersebut. Membuat Group Group adalah gabungan dari beberapa user membentuk suatu kelompok. User-user yangtergabung dalam satu group dapat saling berbagi file.  Berikut syntax untuk menambah group : # groupadd nama_group
  • 4.  Memberikan password group : # gpasswd nama_group  Perintah untuk menghapus group : # groupdel nama_group B. File dan direktori File merupakan koleksi dari data yang disimpan di dalam disk dan dapat dimanipulasi sebagai suatu unit sesuai dengan namanya. Sedangkan directories atau direktori adalah sebuah file yang bertindak sebagai folder untuk file lain. Sebuah direktori juga berisi direktori lain(subdirektori). Sebuah direktori yang berisi direktori lain disebut direktori parent. Sebuah directory tree termasuk sebuah direktori dan semua file didalamnya. Sebuah karakter slash (‘/’) adalah nama dari root directory. - Operasi pada file  Menamakan Files Dan Directories Sebuah file dapat terdiri dari huruf besar dan huruf kecil, nomor, titik (.), tanda penghubung(-) dan tanda garisbawah (_). Sebuah nama dari file juga mengandung case sensitive. ‘sisop’ , ‘Sisop’ dan ‘SISOP’ merupakan nama yang berbeda. Linux juga tidak membatasi dalam ekstensi sebuah file, tapi akan sangat baik dan berguna jika memberikan ekstensi yang sesuai untuk mengidentifikasi tipe file dengan sekali lihat. Nama file sebelum ektensi disebut dengan base file name. sebagai contoh base file name dari ‘sisop.txt’ adalah sisop.
  • 5.  Membuat File Untuk membuat file ‘sisop’ di direktori terkini Syntax : #membuat file $ touch sisop Untuk membuat file ‘sisop’ di dalam direktori ‘home/praktikum’ subdirektori dari direktori tersebut Syntax : $ touch home/praktikum/sisop  Membuat Direktori Gunakan perintah ‘mkdir’ untuk membuat sebuah direktori baru, berikan path name untuk direktori baru sebagai argumen. Untuk membuat folder ‘sisop’ di direktori terkini. Syntax : $ mkdir sisop Untuk membuat folder ‘sisop’ di dalam direktori ‘/tmp’ subdirektori dari direktori tersebut Syntax : $ mkdir /tmp/sisop
  • 6.  Berpindah Direktori Gunakan perintah cd untuk berpindah direktori dari direktori sebelumnya. Syntax : $ cd [alamat_direktori] Untuk Berpindah direktori ke direktori diatasnya (parent) gunakan perintah $ cd ..  Mendapatkan Nama Direktori Terkini Untuk memperlihatkan di direktori mana posisi kita berada sekarang digunakan perintah Syntax :  List directory Perintah ini berfungsi untuk menampilkan isi dari suatu directory beserta atribut filenya. Syntax : $ ls [option] $ pwd
  • 7. OPTION FUNGSI -a bila anda ingin menampilkan semua file dan folder, termasuk file dan folder yang tersembunyi -A sama dengan -a, tetapi tidak menampilkan direktori . dan .. -C menampilkan direktori dengan output berbentuk kolom -d menampilkan direktori saja, isi direktori tidak ditampilkan -f menampilkan isi direktori tanpa diurutkan -l menampilkan isi direktori secara lengkap, mulai dari hak akses, owner, group dan tanggal file atau direktori tersebut dibuat -1 menampilkan isi direktori dengan format satu direktori per baris Contoh : $ ls –l  Copy berkas Digunakan untuk melakukan copy file. Syntax : $ cp /[direktori]/[file_yang_ingin_dicopy] /[direktori tujuan] Contoh : ~# cp home/praktikum/sisop.txt home/SisopFolder
  • 8.  Memindah berkas Digunakan untuk melakukan memindahkan, cut atau rename file. Syntax : $ mv /[direktori]/[file_yang_ingin_dicut] /[direktori tujuan] (cut) $ mv /[direktori]/[file_yang_ingin_direname] /[nama_baru_file] (rename) Mengcut file sisop.txt pada direktori /home/praktikum/ dan memindahkannya kedalam direktori /home/SisopFolder. Merename file sisop.txt menjadi SisopIsGood.txt yang terdapat dalam direktori home/SisopFolder.  Menghapus file Digunakan untuk menghapus file. Syntax : $ rm [nama_file] Contoh : $ rm SisopIsGood.txt
  • 9.  Menghapus direktori Syntax : $ rmdir [nama_file] Contoh : $ rmdir SisopFolder  Menghapus direktori yang didalamnya terdapat file Syntax : $ rm –rf [nama_direktori] Contoh : $ rm –rf /home/SisopFolder  Menampilkan isi sebuah file Syntax : $ more [nama_file] Contoh : $ more sisop.txt
  • 10. C. Kepemilikan File dan hak akses Ketika sebuah file atau direktori dibuat, maka file atau direktori tersebut kepemilikikannya akan melekat pada suatu user dan group tertentu. Selain itu pada file tersebut akan melekat juga tiga hak akses yang berbeda, yaitu baca (read), tulis (write), dan eksekusi (execute), terhadap pemilik, grup, atau user lain. Hak akses tersebut dapat diubah oleh root atau user yang memilikinya. Mekanisme kepemilikan dan akses file tersebut sangat penting, karena Linux bersifat multiuser, sehingga harus ada mekanisme untuk mencegah akses-akses ilegal terhadap file. Secara umum pengaturan hak akses atas file atau direktori mempunyai prinsip sebagai berikut : • Setiap file selalu dimiliki oleh seorang yang berhak mengatur hak akses terhadap file tersebut. • Hak akses terbagi menjadi 3 bagian: Read, Write, dan Execute. • Hak akses dapat diberikan kepada 3 kelompok pemakai, yaitu pemilik file (Owner), grup pemilik file (Group), dan pemakai lainnya (Other). Hak akses • read : r • write : w • execute : x Kelompok pemakai User pemilik (Owner) : u Group : g User lain : o Kemudian tanda (+) untuk menandakan pemberian hak akses, sedangkan tanda (-) untuk menandakan penghapusan hakakses.Perhatikan perintah berikut ini : # chmod go+wx sisop.txt
  • 11. Untuk merubah hak akses sebuah file atau direktori hanya bisa dilakukan oleh user root. Contoh berikut menunjukkan agar group (g) dan other (o) bisa menulis (w). Selain menggunakan kombinasi huruf, hak akses file atau direktori dapat dilakukan dengan kombinasibilangan numerik,yaitu 0 sampai7. Untuk merubah kepemilikan file atau direktori baik user maupungrup gunakan perintah Chown dan chgrp , kepemilikan file ini terkadang perlu dilakukan dengan alasan keamanan. # chown [nama pemilik baru] [nama directory/nama file] Contoh $ chown ilham test.txt Begitu juga nama group pada sebuah file juga dapat kita ubah,untuk mengubahnya kita bisa menggunakan chgrp. # chgrp [nama group baru] [nama direktory/ nama file Contoh $ chgrp family test.txt
  • 12. Contoh -rw-rw-r-- 1 bin auth 1639 2008-08-31 20:19 File.txt tipe Ijin akses Jml link Pemilik Group Jml karakter Waktu Nama file Pemilik File/Direktori dapat mengubah ijin akses sebagai berikut : -rwxrwxrwx 1 student test 1639 2001-08-31 20:19 file.txt Format untuk mengubah ijin akses dimana u = user (pemilik) g = group (kelompok) user group other chmod [ugoa] [= + -] [rwx] File(s) chmod [ugoa] [= + -] [rwx] Dir(s)
  • 13. Note : angka 0 di berikan apabila kita tidak memberikan ijin sedangkan agka 1 di berikan apabila diberikan ijin. Contoh : Ada file dengan nama file.txt dimana untuk ijin aksesnya owner diberi seluruh akses, group hanya baca, other tidak ada akses sama sekali.bagaimanakah format yang digunakan untuk merubah ijin akses dari file.txt tersebut ? Jawab : u = r w x = 1 1 1 = 7 g = r w x = 1 0 0 = 4 o = r w x = 0 0 0 = 0 jadi formatnya adalah : $ chmod 740 file.txt #Apakah ada cara lain untuk mengganti hak ijin akses file selain dengan meggunakan mode biner dan alphabet..? jika ada jelaskan! Ada dengan menggunakan GUI. Dengan cara klik kanan pilih properties pilih permisions. Setelah itu atur ijin hak akses yang diinginkan. o = others (lainnya) a = all r w x 1 0 1 = 5 Format lain dari chmod adalah menggunakan bilangan biner sebagai berikut chmod [Angka_ijin] File(s) chmod [Angka_Ijin] Dir(s)
  • 14. # Buatlah file dengan nama coba1 lalu ubahlah hak ijin aksesnya dengan $chmod u-x,g+r,o=w coba1 .Jelaskan proses perintah tersebut! Pemilik sebuah file atau direktori dapat diganti menjadi user yang lain yang kita inginkan Untuk menggantinya digunakan perintah chown. Syntax : Contoh # chown ilham test.txt Begitu juga nama group pada sebuah file juga dapat kita ubah, untuk mengubahnya kita bisa menggunakan perintah chgrp. Syntax : # chown option pemilik_baru nama_file/direktori # chgrp option group_pengganti nama_file/direktori Pertama hak akses pada user yaitu execute akan dihilangkan, kemudian ditambahkan hak akses read pada group, setelah itu hak akses pada others dijadikan hanya sebatas write.
  • 15. Contoh $ chgrp family test.txt Untuk keamanan dan privasi, setiap file di linux memiliki identitas kepemilikan(ownership). Dengan adanya identitas ini maka akan jelas siapa pemilik file tersebut. D. Process dan Thread Proses pada Linux merupakan aktifitas permintaan user terhadap sistem operasi. Model proses pada Linux mirip dengan UNIX, dimana prinsip dasar keduanya menggunakan fungsi fork() dan exec(). fork() digunakan untuk membuat proses baru sedangkan exec() digunakan untuk memanggil program. Kedua pendekatan diatas merupakan dua hal yang berbeda, dimana proses (child) bisa diciptakan tanpa membuka program baru, dan secara sederhana akan meneruskan program awal (parent) untuk mengeksekusi perintah yang sama pada program awal. Untuk membuat proses baru, bisa dengan mengetikan perintah langsung pada shell Linux. TIPE PROSES : Terdapat beberapa tipe proses yang dikenal dalam OS berbasis Linux pada umumnya, antara lain:  Interactive : proses yang dimulai (dan dikontrol oleh) shell . Bisa tampak di luar (foreground) ataupun hanya di dalam (background).  Batch : proses yang tidak berhubungan dengan terminal, tetapi menunggu untuk dieksekusi secara berurutan (sekuensial).  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’. Process Environment Pada sistem operasi Linux process environment terdiri dari dua komponen, argumen dan environment. Argumen adalah daftar opsi tambahan pada CLI yang
  • 16. berkaitan dengan perilaku program ketika dijalankan, sedangkan environment adalah daftar parameter, baik berupa variabel, direktori home yang secara tekstual dibutuhkan oleh program. Environment variable biasanya terdiri dari beberapa informasi seperti: • PATH, daftar lokasi direktori dimana file executable berada. • HOME, lokasi direktori home. • CPPLIBS, lokasi dimana library yang berkaitan dengan program disimpan. • HOSTNAME digunakan untuk penamaan mesin. • USER user yang digunakan pada saat login pada sistem operasi Memulai menggunakan perintah ps # Apa perintah yang seharusnya Anda tulis agar menampilkan hasil output seperti di atas ? Dengan cara menuliskan syntax : ps -u
  • 17. # Apa fungsi perintah tersebut ? Menampilkan semua proses yang sedang berjalan pada system # Apa perintah yang seharusnya Anda tulis agar menampilkan hasil output seperti di atas? # atau Anda bisa menggunakan perintah lain, seperti ? Untuk menampilkan proses yang sedang dijalankan oleh user. ps -A ps -a ps -l
  • 18. # Dan perintah apa yang berfungsi menampilkan semua proses dalam format sesuai definisi user yaitu terdiri dari kolom PID dan CMD.?  Melihat semua proses yang berjalan kecuali root # Pada poin ketiga ini, Anda dapat menggunakan perintah seperti di bawah ini : ps -U root -u root -N #Bagaimana hasil ouputnya ? ps -m
  • 19.  Menampilkan proses yang sedang dijalankan oleh user tertentu # Untuk menjalankan fungsi pada poin empat, Anda dapat menggunakan perintah seperti di bawah ini : ps -u <user> #Bagaimana hasil ouputnya ?  Menampilkan proses yang sedang berjalan dalam bentuk pohon # Untuk menjalankan fungsi pada poin lima, Anda dapat menggunakan perintah seperti di bawah ini : pstree #Bagaimana hasil ouputnya ? Hasil outputnyanya hampir sama dengan perintah ps -m akan tetapi pada perintah tersebut tidak menampilkan nilai variabel TTY
  • 20. #Apa perbedaan perintah pstree dengan pstree –h ?
  • 21. contoh pstree : Controlling Proses Dalam sistem operasi linux semua proses dikontrol oleh shell yaitu sebuah antar muka antara sistem operasi dengan user. Sebagai contohnya kita akan mengirim output y yang tidak akan pernah selesai. Dengan menggunakan sintak sebagai berikut : $ yes #Bagaimana untuk menghentikan perintah $yes diatas? Hasil output: #Bagaimana cara agar perintah yes tetap dijalankan tetapi shell tetap digunakan untuk hal yang lain ? Hasil Output: Pada perintah pstree tidak menunjukkan sebuah sub proses yang sedang dijalankan, sedangkan pstree -h menunjukkan highlight dari proses yang sedang dijalankan dan ancestor dari proses itu sendiri. Menekan tombol Ctrl+Z. Menekan tombol Ctrl + C.
  • 22. # Bagaimana Untuk melihat status proses yang sedang berjalan?? Hasil Output: PERINTAH KILL Perintah kill adalah salah satu perintah daasar Linux yang digunakan untuk menghentikan atau mematikan proses yang sedang berjalan pada Sistem Operasi Linux / UNIX. perintah ini sangat penting karena dengan memahami perintah ini kita bisa mengetahui mana proses yang mengganggu performa, tidak dibutuhkan, dll. #Bagaimana contoh perintah kill ? # PID adalah nomor proses yang akan di hentikan. Tidak tahu PID proses mana yang akan dihentikan? Cobalah bereksperimen dengan perintah: ps aux | grep <myusername> # Lalu tempelkan hasil output pada kolom di bawah ini pkill firefox Mengetikkan perintah ps -u pada terminal
  • 23. Daemons Daemons adalah sebuah proses yang bekerja pada background karena proses ini tidak memiliki terminal pengontrol. Dalam sistem operasi Windows biasanya lebih dikenal dengan sebutan service. Daemon adalah sebuah proses yang didesain supaya proses tersebut tidak mendapatkan intervensi dari user. Daemon biasanya bekerja dalam jangka waktu yang sangat lama dan bertugas menerima request dan menjalankan responsnya. #Apa yang membedakan Daemons dengan proses lain ? Berikut ini adalah beberapa cara untuk membuat daemon:  Forking dan pembunuhan Proses induk. Langkah pertama dari pembuatan daemon adalah dengan menspawn proses menjadi induk dan anak dengan melakukan forking, kemudian membunuh proses induk. Proses induk yang mati akan menyebabakan sistem operasi mengira bahwa proses telah selesai sehingga akan kembali ke terminal user. # Contoh Script : Daemon tidak memiliki parent proses id, pengontrol, baik itu STDIN,STDOUT,STD error. Daemon juga berjalan dalam privilege superuser. Daemon tidak memiliki suatu terminal yang digunakan untuk mengontrol daemon itu sendiri. Sehingga daemon tidak dapat dikendalikan, seperti di kill atau di beri perintah lainnya. sid=setsid (); if(sid<0){ exit(EXIT_FAILURE); } if((chdir("/"))<0){ exit(EXIT_FAILURE); }
  • 24.  Membuat proses bekerja secara independen Daemon harus bekerja secara independen daripada proses-proses lain, termasuk juga proses yang menjalankannya. Langkah bisa dilakukan dengan memanggil fungsi setsid(), sehingga proses akan mendapatkan sebuah session ID yang baru. # Contoh Script :  Menutup standar I/O deskriptor yang diwarisi Untuk mencegah terjadinya intervensi dari user serta untuk pengamanan, maka standar I/O descriptor dan descriptor yang diwarisi dari proses induk harus ditutup. Ada 3 jenis standar I/O descriptor : STDIN (standar input), STDOUT (standar output), STDERR (standar error). # Contoh Script :  Melakukan masking pada File Creation Sebagian besar daemon bekerja dalam previlege super user. Daemon biasanya memproteksi setiap file yang dibuat, dengan alasan keamanan. Fungsi umask() akan mencegah file-file previleges yang tidak aman dalam setiap pembuatan file. sid=setsid (); if(sid<0){ exit(EXIT_FAILURE); } if((chdir("/"))<0){ exit(EXIT_FAILURE); } close(STDIN_FILENO); close(STDERR_FILENO);
  • 25. # Contoh Script:  Running Directory Directory kerja daemon haruslah sebuah directory yang selalu hidup. Bisa saja pada saat starting working directorynya pada saat itu berada pada user home. Karena daemon bekerja sampai sistem reboot, maka file sistem user directorynya takkan pernah bisa di unmount. # Contoh Script :  Mendengarkan signal # Tulislah pada kolom di bawah ini, apakah maksud dari proses ini ? sid = setsid(); if(sid < 0) { exit(EXIT_FAILURE); } if((chdir(“/home/indra/Desktop/Data/”)) < 0) { exit(EXIT_FAILURE); } pid_t pid,sid; pid=fork(); if(pid < 0) { exit(EXIT_FAILURE); } if(pid > 0) { printf("process_id of child process %d n", pid); exit(EXIT_SUCCESS); } umask(0); Tugas dari daemon adalah mendengarkan request yang dikirim melalui suatu sinyal. Sehingga dalam suatu daemon harus terdapat fitur untuk mendengar/menerima suatu sinyal agar terdapat respon saat dikirimi suatu sinyal. Kita dapat menginstall suatu signal listener pada suatu daemon dengan mengetikkan fungsi signal().
  • 26.  Logging # Sebutkan beberapa cara untuk melakukan proses logging dan berikan penjelasan! 2.3.2 Pengenalan Lingkungan Sistem operasi linux Shell Shell merupakan command executive, yaitu program yang menunggu instruksi atau perintah dari pemakai, memeriksa sintaks dari perintah yang diberikan, dan kemudian mengeksekusi perintah tersebut Shell disebut juga dengan command interpreteur language, artinya shell adalah bahasa yang menerjemahkan perintah yang menjadi penghubung secara langsung atau antar muka antara user dengan utilitas & bahasa pemrograman dari sistem operasi itu sendiri. Contohnya pada saat kita mengetikkan perintah “ls” di terminal, shell akan menjalankan perintah tersebut dengan mengeksekusi program “ls” yang ada pada sistem operasi. Jika kita mengetikkan perintah yang tidak memiliki program didalam sistem operasi, missal kita mengetikkan “hello” saja pada terminal, maka shell tidak akan mengeksekusi program apapun ,dan biasanya akan muncul pesan “command not found”. #bagaimana cara menampilkan shell yang tersedia di linux anda? tunjukkan screenshot! Mengetikkan syntax cat /etc/shells - Metode Log File : Semua file ditulis ke dalam suatu file dan di kendalikan oleh file konfigurasi daemon . Cara melakukan nya adalah dengan mengetikkan sintaks fopen() - Metode Log Server : UNIX memiliki daemon khusus yang digunakan untuk logging yaitu syslogd. Daemon ini mengelompokkan pesan-pesan menjadi beberapa kelompok yang disebut facility, kemudian kelompok ini dapat dikirim ke tempat yang berbeda misalnya email.
  • 27. 1. Macam-macam Shell Shell sendiri terdiri dari berbagai macam dengan kelebihan dan kekurangan masing-masing. Untuk melihat langsung shell apa saja yang ada di linux bisa dengan menggunakan perintah $ls /etc/shells kemudian enter. Berikut adalah beberapa contoh macam shell yang digunakan pada linux : Shell Developer Lokasi Keterangan Bourne Shell ( /bin/sh) Steven Bourne Shell yang pertama kali ada di Unix Bourne Again Shell ( /bin/bash) Brian Fox dan Chet Ramey Free Software Foundation Shell BASH merupakan shell yang paling umum digunakan di semua system operasi Linux C Shell ( /bin/csh) Bill Joy Universitas Berkeley California C Shell adlah Shell yang mengadopsi perintah pemrograman C Tenec C Shell ( /bin/tcsh) TCSH adalah Shell pengembangan dari UNIX C Shell Korn Shell (/ bin/ksh) Bill Joy AT&T Labs Shell ini menggabungkan kelebihan Bourne shell dan C shell sehingga lebih interaktif. Alquimist Shell ( /bin/ash) Kenneth Almquist Ash banyak digunakan dalam embedded linux, sistem yang tertanam misalnya BIOS. Z Shell ( /bin/zsh) Z shell ini biasa digunakan oleh pengguna linux untuk membangun script yang kompleks.
  • 28. #ketikkan perintah "bash" pada terminal anda, apa yang akan muncul? mengapa muncul seperti itu?  Mengganti dan Menjalankan Shell Linux menggunakan bash sebagai shell default, tetapi pengguna bisa mengubah shell default untuk tiap usernya. Untuk melihat shell yang sedang digunakan oleh user bisa dilihat pada file : Isi dari file tersebut tiap barisnya dibagi menjadi tujuh bagian, dan setiap terakhir digunakan untuk mendefinisikan shell yang digunakan. Dalam contoh di atas user root menggunakan shell Bash sedangkan daemon menggunakan shell bourne shell. Cara lain yang bisa digunakan untuk melihat shell adalah dengan melihat environmet user dengan menjalankan perintah env. Environment user merupakan lingkungan user yang berisi semua variabel atau ketentuan khusus untuk user tersebut. Terminal akan memanggil shell bash. /etc/passwd ................................. root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/bin/sh ................................. $ env ........... SHELL=/bin/bash ..............
  • 29.  Mengganti Shell Ada beberapa cara yang dapat digunakan untuk mengubah shell default, yaitu dengan utilitas userconf, atau dapat juga dengan mengubah pada file /etc/passwd tersebut tetapi harus sebagai root. #Contoh mengganti shell dengan utilitas chsh (change shell) :  M e n j a lankan Shell sebuah shell dapat dijalankan tanpa harus mengubah default shell-nya. Cara yang digunakan adalah dengan memanggil nama shell pada command prompt. Misalnya, user akan menggunakan shell sh, user tinggal menjalankan shell sh, user tinggal menjalankan sh sehingga prompt akan berubah sesuai dengan prompt Bourne shell. Untuk keluar dan kembali ke shell default, ketik exit atau tekan Ctrl + d. Contoh : bash@praktikum:~$ sh $ $ exit 1. cat /etc/shells 2.chsh -s /bin/sh nama_user
  • 30.  Menjalankan Script Shell Untuk menjalankan sebuah script shell, Ada dua cara yang digunakan untuk menjalankan sebuah shell script, yaitu a) Langsung ruuning dari file [dot]sh-nya. b) Ubah Hak Aksesnya.  Melihat variabel PATH Untuk melihat variabel path, gunakan perintah Syntax: $ echo $PATH $ bash hello.sh chmod +x hello.sh ./hello.sh
  • 31.  Menentukan variabel PATH Mengatur PATH di bash, ksh atau csh adalah satu dan sama. Syntax: $ PATH=$PATH:folder_baru_yang_mengandung_binari Contoh : $ PATH=$PATH:/usr/share/java  Menentukan variabel PATH secara permanen Jika ingin tetap menjaga agar variabel PATH tetap bisa dieksekusi setelah reboot/restart, maka harus diset secara permanen. Masukan kalimat export PATH=$PATH:/user/share/java di dalam file ~/.profile atau ~/.bashrc agar dapat digunakan secara permanen. Setelah diset, kita perlu menambahkan perintah source di terminal agar PATH menjadi tersedia dan dapat digunakan. $ Source ~/.profile atau $ Source ~/.bashrc Atau lakukan reboot. 2.3.3. Macam Struktur Sistem Operasi Sebuah sistem yang besar dan kompleks seperti sistem operasi modern harus diatur dengan cara membagi tugas ke dalam beberapa komponen- komponen kecil agar dapat berfungsi dengan baik dan mudah dimodifikasi. Ada beberapa jenis struktur pembagian komponen sistem operasi antara lain : a. Struktur Sederhana b. Struktur Lapisan c. Struktur Monolitik d. Struktur Microkernel e. Struktur Modular
  • 32. Berikut penjelasan detile dari masing-masing jenis struktur sistem operasi: A. Struktur Sederhana Ada sejumlah sistem komersial yang tidak memiliki struktur yang cukup baik. Sistem operasi tersebut sangat kecil, sederhana dan memiliki banyak keterbatasan. Salah satu contoh sistem tersebut adalah MS-DOS. MS-DOS dirancang oleh orang-orang yang tidak memikirkan akan kepopuleran software tersebut. Sistem operasi tersebut terbatas pada perangkat keras sehingga tidak terbagi menjadi modul-modul. Meskipun MS-DOS mempunyai beberapa struktur, antar muka dan tingkatan fungsionalitas tidak terpisah secara baik. B. Struktur Monolitik Pada perkembangannya, mulai terjadi pemisahan struktur sistem operasi yaitu antara bagian kernel dan program sistem. Kernel berada di bawah tingkat antarmuka system call dan diatas perangkat lunak secara fisik. Kernel ini berisi sistem file, penjadwalan CPU, menejemen memori, dan fungsi sistem operasi lainnya yang ada pada sistem call berupa sejumlah fungsi yang besar pada satu level. Program sistem meminta bantuan kernel untuk memanggil fungsi-fungsi dalam kompilasi dan manipulasi file. Salah satu contoh sistem operasi dengan struktur monolitik adalah sistem operasi UNIX generasi awal. C. Struktur Lapisan Sistem operasi dibagi menjadi sejumlah lapisan yang masing-masing dibangun di atas lapisan yang lebih rendah. Lapisan yang lebih rendah menyediakan layanan untuk lapisan yang lebih tinggi. Lapisan yang paling bawah adalah perangkat keras, dan yang paling tinggi adalah user-interface. D. Struktur Microkernel Metode ini menyusun sistem operasi dengan mengeluarkan semua komponen yang tidak esensial dari kernel, dan mengimplementasikannya sebagai program sistem dan level pengguna. Hasilnya kernel yang lebih kecil.
  • 33. Pada umumnya mikrokernel mendukung proses dan menajemen memori yang minimal, sebagai tambahan utnuk fasilitas komunikasi. E. Struktur Modular Pada struktur modular, kernel hanya menyediakan layanan inti dari sistem operasi sedangkan layanan lain diimplementasikan secara dinamis ketika kernel sedang berjalan. Sebagai contoh, layanan inti seperti penjadwalan CPU dan manajemen memori ditangani langsung oleh kernel, sedangkan layanan-layanan yang lain seperti dukungan untuk beragam jenis file system dilakukan pada modul-modul yang dapat dipasang dan dilepas saat kernel utama berjalan. Modul-modul tersebut dikenal dengan istilah loadable kernel module. Salah satu contoh sistem operasi yang memakai pendekatan struktur modular adalah Linux. Salah satu contoh kernel module di Linux adalah modul ath3k, ath9k yang berfungsi sebagai device driver untuk perangkat wifi dengan chipset Atheros. Pada bagian selanjutnya, akan disajikan contoh kode kernel module sederhana dalam bahasa C beserta cara kompilasi dan pemasangannya. Pada bagian ini akan dijelaskan mengenai tahapan kompilasi dan pemasangan sebuah kernel module sederhana. 1. Sebelum melakukan kompilasi kernel module, terlebih dahulu kita harus memasang paket yang dibutuhkan antara lain : library header sesuai versi kernel Linux, gcc (GNU C Compiler) dan make dengan perintah : sudo apt-get install linux-headers-general make gcc
  • 34. 2. Buat file hello.c dengan editor favorit anda dengan isi sebagai berikut hello.c #include <linux/module.h> /* Needed by all modules */ #include <linux/kernel.h> /* Needed for KERN_INFO */ #include <linux/init.h> /* Needed for the macros */ static int __init hello_start(void) { printk(KERN_INFO "Loading hello module...n"); printk(KERN_INFO "Hello world Mr. Praktikann"); return 0; } static void __exit hello_end(void) { printk(KERN_INFO "Goodbye Mr. Praktikann"); } module_init(hello_start); module_exit(hello_end);
  • 35. Penjelasan source code : Pada kode hello.c tersebut terdapat dua fungsi callback yang dipanggil yaitu module_init() dan module_exit(). Fungsi callback module_init() akan dipanggil ketika kernel module dipasang. Selanjutnya, fungsi hello_start() sebagai parameter dari module_init() akan dieksekusi. Pada hello_start() dilakukan pencetakan string dengan fungsi printk(). Prosedur yang sama berlaku untuk fungsi module_exit() yang dipanggil ketika sebuah kernel module dilepas. 3. Buat sebuah file bernama Makefile di direktori yang sama dengan hello.c. Makefile berisi informasi source code mana yang akan dikompilasi, lokasi library yang dibutuhkan dan juga output dari proses kompilasi. Berikut isi Makefile : Makefile obj-m = hello.o KVERSION = $(shell uname -r) all:
  • 36. make -C /lib/modules/$(KVERSION)/build M=$(PWD) modules clean: make -C /lib/modules/$(KVERSION)/build M=$(PWD) clean 4. Compile source code dengan perintah make 5. Pada direktori tersebut akan muncul file baru yaitu hello.ko. File tersebut adalah file executable dari kernel module yang kita buat. 6. Pasang kernel module tadi dengan perintah sudo insmod hello.ko
  • 37. 7. Cek apakah kernel module berhasil dipasang dengan perintah lsmod. Jika sudah terpasang dengan benar, maka nama kernel module hello akan ada pada daftar modul yang terpasang. 8. Cek output dari kernel module setelah dipasang dengan perintah dmesg. 9. Untuk melepas kernel module hello yang sudah terpasang tadi, kita dapat memakai perintah : sudo rmmod hello 10. Cek output dari kernel module setelah dilepas dengan perintah dmesg.