Anda di halaman 1dari 94

ANALISIS SISTEM OPERASI BERBASIS LINUX

Makalah ini diajukan untuk memenuhi tugas mata kuliah Sistem Operasi

Dosen pembina : Rangga Sidik S.Kom M.Kom M.Eng

Oleh :

Muhammad Alfi F 10515235

Gilang Chandra Wijaya 10515049

Kelas : SO-5

PROGRAM STUDI SISTEM INFORMASI

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA

BANDUNG

2017
KATA PENGANTAR

Puji syukur kami panjatkan kehadirat Tuhan Yang Maha Esa, atas segala rahmat dan

karunianya sehingga draft makalah tentang “Analisis Sistem Operasi Berbasis Linux” ini dapat

selesai disusun. Kami juga mengucapkan terimakasih kepada segala pihak terutama kepada dosen

mata kuliah SO (Sistem Operasi) yang telah membantu kami dengan memberikan sumbangan

berupa materi maupun pikirannya.

Mohon maaf jika terdapat kekurangan dalam makalah ini, itu semua tidak luput dari

kesalahan kami semata. Tuhan menciptakan manusia dalam keadaan sebaik-baiknya maka jika

terdapat kekurangan dan ketidaksempurnaan maka itu dari manusia itu sendiri.

Makalah ini disusun guna untuk memenuhi nilai tugas mata kuliah SO, namun meskipun

begitu kami berharap makalah ini dapat berguna untuk tujuan yang berbeda di lain waktu. Semoga

makalah ini juga dapat menambah wawasan pengetahuan dan pengalaman bagi mereka yang

membacanya.

i
DAFTAR ISI

KATA PENGANTAR ................................ Error! Bookmark not defined.


DAFTAR ISI ............................................................................................. ii
DAFTAR GAMBAR ................................................................................ iv
DAFTAR TABEL ..................................................................................... v
BAB I ......................................................................................................... 1
PENDAHULUAN ...................................................................................... 1
1.1 Latar Belakang .................................................................................. 1
1.2 Tujuan ............................................................................................... 2
BAB II ........................................................................................................ 3
PENGENALAN SISTEM OPERASI .......................................................... 3
2.1 Sistem Operasi ................................................................................... 3
2.2 Sistem Operasi Komputer .................................................................. 4
2.3 Komponen Sistem Operasi................................................................. 6
2.6 Sejarah Sistem Operasi Komputer .................................................... 15
2.7 Fungsi Sistem Operasi ..................................................................... 16
BAB III .................................................................................................... 18
MENGENAL SISTEM OPERASI LINUX ............................................... 18
3.1 Arsitektur Sistem Operasi Linux ...................................................... 18
3.2 Perkembangan Linux ....................................................................... 27
3.3 Perangkat Linux............................................................................... 36
3.4 Keunggulan dan Kelemahan Linux .................................................. 36
3.5 Memory Linux ................................................................................. 39
3.6 Konsep Pemrosesan pada Sistem Operasi Linux. ............................. 55
BAB V...................................................................................................... 86
PENUTUP ................................................................................................ 86
DAFTAR PUSTAKA ............................................................................... 88

ii
iii
iv
5
BAB I

PENDAHULUAN

1.1 Latar Belakang

Linux merupakan sebuah system operasi yang serupa dengan UNIX, dan

merupakan implementasi independen dari system operasi POSIX, dengan ekstensi

SYSV dan BSD system operasi UNIX, yang terutama berjalan di mesin

mikroprosesor keluarga intel 80386DX, atau versi yang lebih baru. Perkembangan

berikutnya, Linux dapat berjalan di atas beberapa mesin lainnya seperti Sun Sparc,

Mac, PowerPC, DEC Alpha, dan PPC mk86.

Linux dahulu adalah proyek sampingan yang dikerjakan oleh Linus Torvalds.

Dalam mengerjakan proyek hobinya, Linus Torvalds memperoleh inspirasi dari

Minix, suatu system operasi UNIX kecil yang dikembangkan oleh Andy

Tanenbaum. Linux versi 0.01 dikerjakan sekitar bulan agustus 1991. Pada tanggal

5 Oktober 1991 Linus mengumumkan versi resmi Linux, yaitu 0.02.

Analisis Sistem Operasi Berbasis Linux | P a g e 1


1.2 Indentifikasi Masalah

Identifikasi masalah diuraikan sebagai berikut :

1. Apa itu system operasi LINUX ?

2. Bagaimana memahami dasar-dasar LINUX ?

3. Bagaimana arsitektur, perkembangan, perangkat linux, Pros dan cons linux,

memory dan proses pada LINUX ?

1.3 Tujuan

Tujuan penulisan ini adalah untuk mengetahui :

1. Menjelaskan Sistem Operasi

2. Menjabarkan pengertian dan isi system operasi LINUX

3. Menjelaskan arsitektur, perkembangan, perangkat linux, Pros dan cons linux,

memory dan proses pada LINUX

Analisis Sistem Operasi Berbasis Linux | P a g e 2


BAB II

PENGENALAN SISTEM OPERASI

2.1 Sistem Operasi

Menurut Fery Indayudha, system operasi merupakan sebuah system yang

diperlukan untuk dapat menjalankan semua aplikasi program / software yang ada

di komputer.

Menurut Tata Sutabri, system operasi adalah suatu system di dalam suatu

organisasi yang mempertemukan kebutuhan pengolahan transaksi harian yang

mendukung fungsi organisasi yang bersifat manajerial dalam kegiatan strategi dari

suatu organisasi untuk dapat menyediakan kepada pihak luar tertentu dengan

laporan-laporan yang diperlukan.

Menurut Mc Leod (PEARSON), system operasi adalah program-program

computer yang mengendalikan sumber daya peranti keras dan piranti lunak

computer kita.

Menurut Erwan Arbie, system operasi adalah system di dalam suatu

organisasi yang mempertemukan kebutuhan pengolahan transaksi harian,

membantu dan mendukung kegiatan operasi, bersifat manajerial dari suatu

organisasi dan membantu mempermudah penyediaan laporan yang diperlukan.

Analisis Sistem Operasi Berbasis Linux | P a g e 3


2.2 Sistem Operasi Komputer

Secara umum sebuah sistem komputer terdiri atas hardware, software dan

brainware dimana ketiganya saling terkait satu sama lain (lihat gambar di bawah

ini). Ketiganya merupakan syarat mutlak untuk menjalankan sebuah sistem

komputer.

Gambar 2.2.1 Sistem Komputer

Sebuah sistem operasi merupakan program yang bertindak sebagai perantara

antara pengguna (user) komputer dengan hardware (perangkat keras)

komputer. Tujuan dari sistem operasi adalah untuk menyediakan lingkungan

dimana user dapat mengeksekusi program yang diinginkan dengan efisien.

Sebuah sistem operasi sama halnya dengan sebuah

pemerintahan. Komponen-komponen seperti hardware, software, dan data. Sistem

operasi menyediakan kemudahan untuk menggunakan berbagai sumberdaya dalam

Analisis Sistem Operasi Berbasis Linux | P a g e 4


sebuah operasi. Sama halnya dengan sebuah pemerintahan, sistem operasi tidak

bekerja sendirian. Sistem operasi harus menyediakan sebuah lingkungan yang

didalamnya terdapat berbagai program untuk menyelesaikan berbagai pekerjaan.

Gambar 2.2.2 Abstraksi Komponen-Komponen Komputer

Sistem operasi dapat dipandang sebagai pengontrol sumberdaya yang

ada. Sebuah sistem komputer memiliki berbagai sumberdaya (hardware dan

software) yang dibutuhkan untuk menyelesaikan berbagai masalah: CPU time,

ruang memori, ruang penyimpanan file, perangkat I/O (input/output), dan lain

sebagainya. Sistem operasi bertindak sebagai manajer bagi semua sumberdaya ini

dan mengalokasikannya pada program dan user tertentu untuk melakukan berbagai

tugas (task). Dengan demikian ada peluang terjadinya konflik permintaan

sumberdaya, sistem operasi harus mengambil keputusan, request (permintaan)

sumberdaya mana yang harus dilayani untuk menjaga efisiensi operasi komputer.

Pandangan lain terhadap sebuah sistem operasi terfokus pada kebutuhan

pengendalian (control) program. Control program mengendalikan eksekusi


Analisis Sistem Operasi Berbasis Linux | P a g e 5
program user untuk mencegah error dan penggunaan yang tidak efisien, khususnya

pengoperasian dan pengendalian perangkat I/O.

Tujuan utama sebuah sistem operasi adalah untuk kenyamanan user. Sistem

operasi ada untuk lebih memudahkan user mengoperasikan komputer dibanding

tanpa sistem operasi. Tujuan lainnya adalah untuk mengefisienkan operasi sistem

komputer.

2.3 Komponen Sistem Operasi

Pada kenyataannya tidak semua sistem operasi mempunyai struktur yang

sama, umumnya sebuah sistem operasi modern mempunyai komponen sebagai

berikut :

Managemen Proses.

Proses adalah keadaan ketika sebuah program sedang di eksekusi. Sebuah

proses membutuhkan beberapa sumber daya untuk menyelesaikan tugasnya.

Sumber daya tersebut dapat berupa CPU time, memori, berkas-berkas, dan

perangkat-perangkat I/O. Sistem operasi bertanggung jawab atas aktivitas-aktivitas

yang berkaitan dengan managemen proses seperti :

 Pelaksanaan dan penghapusan proses yang diinginkan user atau

sistem.

 Menunda atau melanjutkan proses.

 Menyediakan mekanisme untuk proses sinkronisasi.

 Menyediakan mekanisme untuk proses komunikasi.

Analisis Sistem Operasi Berbasis Linux | P a g e 6


 Menyediakan mekanisme untuk penanganan deadlock.

Managemen Memori Utama.

Memori utama atau lebih dikenal sebagai memori adalah sebuah array yang

besar dari word atau byte, yang ukurannya mencapai ratusan, ribuan, atau bahkan

jutaan byte. Setiap word atau byte mempunyai alamat tersendiri. Memori Utama

berfungsi sebagai tempat penyimpanan yang akses datanya digunakan oleh CPU

atau perangkat I/O. Memori utama termasuk tempat penyimpanan data yang

sementara (volatile), artinya data dapat hilang begitu sistem dimatikan. Sistem

operasi bertanggung jawab atas aktivitas-aktivitas yang berkaitan dengan

managemen memori seperti:

 Menjaga track dari memori yang sedang digunakan dan siapa yang

menggunakannya.

 Memilih program yang akan di-load ke memori.

 Mengalokasikan dan meng-dealokasikan ruang memori sesuai

kebutuhan.

Managemen Secondary-Storage.

Data yang disimpan dalam memori utama bersifat sementara dan jumlahnya

sangat kecil. Oleh karena itu, untuk meyimpan keseluruhan data dan program

computer dibutuhkan secondary-storage yang bersifat permanen dan mampu

menampung banyak data. Contoh dari secondary-storage adalah harddisk,

flashdisk, CD-ROM, disket, dll.

Managemen Sistem I/O.

Analisis Sistem Operasi Berbasis Linux | P a g e 7


Sering disebut device manager. Menyediakan "device driver" yang umum

sehingga operasi I/O dapat seragam (seperti kegiatan untuk membuka, membaca,

menulis, menjalankan dan menutup file atau program). Komponen Sistem Operasi

untuk sistem I/O:

 Buffer: menampung sementara data dari dan ke perangkat I/O.

 Spooling: melakukan penjadualan pemakaian I/O sistem supaya lebih

efektif dan efisien (pengaturan antrian).

 Menyediakan driver untuk dapat melakukan operasi "rinci" untuk

perangkat keras I/O tertentu.

Managemen Berkas.

Berkas adalah kumpulan informasi yang berhubungan sesuai dengan tujuan

pembuat berkas tersebut. Berkas dapat mempunyai struktur yang bersifat hirarkis

(direktori, volume, dll). Sistem operasi bertanggung-jawab terhadap :

 Pembuatan dan penghapusan berkas.

 Pembuatan dan penghapusan direktori.

 Mendukung manipulasi berkas dan direktori.

 Memetakan berkas ke secondary storage.

 Mem-backup berkas ke media penyimpanan yang permanen (non

volatile).

Sistem Proteksi

Analisis Sistem Operasi Berbasis Linux | P a g e 8


Proteksi mengacu pada mekanisme untuk mengontrol akses yang dilakukan

oleh program, prosesor, atau pengguna ke sistem sumber daya. Mekanisme proteksi

harus:

 Membedakan antara penggunaan yang sudah diberi izin dan yang

belum.

 Specify the controls to be imposed (menetapkan sistem pengaturan

yang digunakan). provide a means of enforcement (menyiapkan alat

yang digunakan).

Jaringan

Dukungan terhadap komunikasi data antar perangkat komputer mutlak

diperlukan. Pada model sistem terdistribusi, dimana sistem operasi mengatur

mekanisme penjadualan penggunaan resource komputer dalam jaringan, maka

sekumpulan prosesor yang tidak berbagi memori atau clock diatur oleh sistem

operasi komputer host untuk pengunaan prosesor dan alokasi tempat penyimpanan

serta mekanisme pendistribusian data maupun proses yang dilakukan.

Tiap prosesor mempunyai memori sendiri. Prosesor-prosesor tersebut

terhubung melalui jaringan komunikasi, Sistem terdistribusi menyediakan akses

pengguna ke bermacam sumber-daya sistem. Akses tersebut menyebabkan:

 Computation speed-up (proses komputasi semakin cepat).

 Increased data availability (peningkatan ketersediaan data).

 Enhanced reliability (peningkatan kemampuan).

Command-Interpreter system.

Analisis Sistem Operasi Berbasis Linux | P a g e 9


Sistem Operasi menunggu instruksi dari user (command driven). Program

yang dapat membaca instruksi dan mengartikan control statements berdasarkan

masukan dari user umumnya disebut : control-card interpreter, atau command-line

interpreter.

Pada sistem UNIX sering disebut juga shell atau console. Command-

Interpreter System sangat bervariasi dari satu sistem operasi ke sistem operasi yang

lain dan disesuaikan dengan tujuan dan teknologi I/O devices yang ada.

Layanan Sistem Operasi

Sebuah sistem operasi yang baik menurut Tanenbaum harus memiliki layanan

sebagai berikut:

1. Pembuatan program, yaitu sistem operasi menyediakan fasilitas dan

layanan untuk membantu para pemrogram untuk menulis program

2. Eksekusi program adalah kemampuan sistem untuk "load" program ke

memori dan menjalankan program yang dikehendaki user maupun sistem.

3. Operasi I/O merupakan kegiatan dimana pengguna tidak dapat secara

langsung mengakses sumber daya perangkat keras, sehingga sistem operasi harus

menyediakan mekanisme untuk melakukan operasi I/O atas nama pengguna.

4. Sistem manipulasi berkas adalah kemampuan program untuk operasi

pada berkas (membaca, menulis, membuat, dan menghapus berkas yang berupa file

atau direktori).

5. Komunikasi adalah pertukaran data/ informasi antar dua atau lebih proses

yang berada pada satu komputer (atau lebih).

Analisis Sistem Operasi Berbasis Linux | P a g e 10


6. Deteksi error adalah kegiatan untuk menjaga kestabilan sistem dengan

mendeteksi "error", perangkat keras maupun operasi yang dilakukan.

7. Deteksi dan Pemberian tanggapan pada kesalahan, jika muncul

permasalahan pada sistem komputer maka sistem operasi harus memberikan

tanggapan yang menjelaskan kesalahan yang terjadi serta dampaknya terhadap

aplikasi yang sedang berjalan.

8. Efesisensi penggunaan sistem, diantaranya:

 Resource allocator, yakni: mengalokasikan sumber-daya hardware

maupun software ke beberapa pengguna atau mengalokasikan job

yang jalan pada saat yang bersamaan ke beberapa komputer dalam

jaringan.

 Proteksi sistem untuk menjamin akses ke sistem sumber daya yang

aman, dikendalikan oleh sistem sehingga pengguna dikontrol

aksesnya ke sistem).

 Accounting adalah kegiatan merekam aktifitas pengguna, report

pemakaian sumber daya. Sistem Operasi yang bagus harus mampu

mengumpulkan data statistik penggunaan beragam sumber-daya dan

memonitor parameter kinerja.

Analisis Sistem Operasi Berbasis Linux | P a g e 11


Kategori Sistem Operasi Menurut Sejarah

1. Sistem Operasi Generasi Awal dan Penting Menurut Sejarah:

 CTSS (The Compatible TimeShare System, dibuat di MIT oleh

Corbato cs)

 Incompatible Timesharing System (The Incompatible TimeShare

System, dibangun di MIT untuk mainframe DEC 10/20)

 Sistem operasi THE (oleh Dijkstra cs)

 Multics (proyek gabungan Bell Labs, GE dan MIT)

 Master programme, dibangun oleh Leo Computers, Leo III pada tahun

1962

2. Sistem Operasi Berhak Milik Generasi Awal :

 Apple Computer

 Business Operating System (BOS)

 Commodore PET, Commodore 64, dan Commodore VIC-20

 IBM PC awal (UCSD p-System, CPM-86, PC-DOS)

 Sinclair Micro dan QS

 TRS-DOS, ROM OS

 TI99-4

 Flex

 FLEX9

 mini-FLEX

Analisis Sistem Operasi Berbasis Linux | P a g e 12


3. Sistem Operasi Berlisensi

● Acorn ● Amiga ● Atari ST


● Arthur ● AmigaOS ● TOS
● ARX ● MultiTOS
● RISC OS ● MiNT
● RISCiX

● Be Incorporated ● ICT/ICL ● Novell


● BeOS ● GEORGE ● Novell Netware v.1.0, 2.0,
● BeIA ● VME 3.0, 3.1, 3.12
● Zeta ● DME ● Novell Netware v.4.11, 5.0,
● TME 5.1, 6.0
● Novell SuSE 9.0,9.1,9.2,
9.3

● IBM ● Digital/Compaq/HP ● Microsoft


● IBSYS ● AIS ○ MS-DOS
● OS/2 ● OS-8 ○ Windows for Workstation
● AIX ● ITS (untuk PDP-6 / Stand alone
● OS/400 dan PDP-10) ■ Windows 1.0
● DOS/360 ● TOPS-10 (untuk ■ Windows 2.0 (u/ 80286)
● DOS/VSE PDP-10) ■ Windows 3.0, 3.1
● OS/360 ● WAITS ■ Windows 95
● MFT ● TENEX ■ Windows 98/98se/98plus
● MVT ● TOPS-20 ■ Windows ME (Millenium)
● SVS ● RSTS/E ■ Windows 2000 Profesional
● MVS ● RSX-11 ■ Windows XP (eXPerience)
● TPF ● RT-11 Home Edition&Profesional
● ALCS ● VMS ■ Windows Vista (Longhorn)
● OS/390 ● Apple Macintosh ■ Windows "Blackcomb"
● z/OS, Unix-like ● Apple DOS ■ Windows 7
● z/VM ● A/UX ■ Windows 8
● z/VSE ● ProDOS ○ Windows for Server
● Basic Operating ● GS/OS ■ Windows NT 3.5
System ● Mac OS ■ Windows NT 4
● PC-DOS ● Mac OS X ■ Windows 2000 Server &
● Apple Darwin Advance Server (NT v5.0)
■ Windows Server 2003
○ Xenix
○ Windows for PDA
○ Windows for PC Tablet

PDA Smartphones ● OS berhak milik lainnya,


Analisis Sistem Operasi Berbasis Linux | P a g e 13
(Personal ● Windows CE Unix-like & POSIX-
Digital ● Linux compliant
Assistant) ● Symbian OS ○ Aegis/OS
● Palm OS Microcontrolle ○ Cromix
● Pocket PC r, Real-Time ○ Coherent
● EPOC, Symbian OS, ○ DNIX
OS Embedded ○ Digital UNIX
● Windows CE ● Contiki ○ HP-UX
● Linux Sharp ● eCos ○ Idris
Zaurus ● OSEK ○ IRIX
Router ● Nuclues ○ Mac OS X
● IOS ● QNX ○ Menuet
● MikroTik ● VxWorks ○ NeXTSTEP
RouterOS ● ITRON ○ OS-9
● uCLinux ○ OS-9/68k
● TRON OS ○ OS-9000
● ThreadX ○ OSF/1
● INTEGRITY ○ OPENSTEP
● Montavista Linux ○ Plan 9
● OS-9 ○ Plan 9, Inferno
● LynxOS ○ Rhapshody
● RTOS ○ RiscOS
○ SCO UNIX
○ System V
○ UNIflex
○ Ultrix
○ UniCOS

Tabel 2.3.1 Sistem Operasi Berlisensi


4. Sistem Operasi Open Source

● Linux ● BSD (Berkley ● Sun


distronya antara lain : Software Microsystems
● Debian Development) ● Solaris -
● Slackware ● FreeBSD, Unix-like
● Redhat/Fedora ● OpenBSD, ● SunOS -
● Mandrake/Mandriva ● NetBSD, Unix-like
● Gentoo dll. (menjadi
● YellowDog Solaris)
● Ubuntu ● Java Desktop
● Trustix System (JDS)
● Knoppix
● Blank-on
● Xnuxer,
● dll.
Analisis Sistem Operasi Berbasis Linux | P a g e 14
Tabel 2.3.2 Sistem Operasi Open Source

2.4 Sejarah Sistem Operasi Komputer

Seperti kita ketahui, system operasi yang umum digunakan oleh kebanyakan

computer, terdiri dari 3 keluarga atau 3 kelompok, yaitu keluarga Microsoft

Windows, keluarga Unix, dan keluarga Mac OS. Sedangkan untuk computer

mainframe dan super computer menggunakan banyak sekali system operasi yang

berbeda-beda, umumnya turunan dari sitem UNIX yang dikembangkan oleh vendor

seperti IBM AIX, Hp/UX, Etc. Sistem Operasi mengalami perkembangan yang

dapat dibagi ke dalam 4 Generasi :

Generasi Awal. Perkembangan awal Sistem Operasi masih dilakukan secara

manual dalam artian belum muncul adanya Sistem Operasi yang secara otomatis

artinya belum mendukung layanan pekerjaan yang dapat dilakukan dalam 1

rangkaian.

Generasi Kedua. Di generasi ini sudah diperkenalkannya perkejaan yang

dapat dilakukan dalam 1 rangkaian atau biasa disebut dengan Batch proccessing

System

Generasi Ketiga. Pada generasi ketiga, Sistem Operasi sudah mendukung

layanan Multi-User, Multi-Programming dan Batch Proccessing System (Multi-

Task).

Generasi Keempat. Di masa ini, sudah diperkenankannya GUI (Graphical

User Interface) yang artinya Sistem Operasi memiliki tampilan dan dengan

Analisis Sistem Operasi Berbasis Linux | P a g e 15


bermodalkan mouse, End-User dapat menjalankan aplikasi/porgram atau piranti

lunak.

2.5 Fungsi Sistem Operasi

System operasi (OS) merupakan perangkat lunak, system yang berisi program

- program. Program - program ini mempunyai fungsi dan pekerjaan yang berbeda -

beda. Fungsi - fungsi yang berbeda - beda itulah yang membantu menyelesaikan

pekerjaaan. Beberapa fungsi system operasi (OS) antar lain adalah sebagai berikut

A. System Booting. Proses boting terjadi pada saat dimulainya

menghidupkan sistem komputer. Pada tahap ini, system operasi (OS) akan

mengecek dan menyimpan konfigurasi hardware, seperti monitor dan memori

internal.

B. Manajemen Proses. Inti proses yang ada didalam memori utama adalah

mengarahkan pengembalian program kedalam memori utama untuk dieksekusi oleh

CPU. Selanjutnya, system operasi (OS) mengelola memori tersebut, yaitu partisi

lokasi memori dan urutan data dalam memori.

C. Manajemen Memori. Fungsi system operasi (OS) yang lain adalah

mengelola memori yang terdiri dari partisi per program dan virtual memori. Hal

ini dilakukan dengan mengsimulasikan harddisk sebagai perluasan dari memori

utama mempunyai kapasitas yang lebih besar dari pada kapasitas fisik yang

sebenarnya.
Analisis Sistem Operasi Berbasis Linux | P a g e 16
D. Manajemen File. Pengaturan dan pengaksesan file yang disimpan dalam

penyimpanan sekunder juga menjadi tugas dari system operasi (OS). System

operasi (OS) membuat dan mengatur struktur direktori serta operasi - operasi

terhadap file sebagai contoh copy, delete, rename, dan paste.

E. Task Manajemen. Pekerjaan atau task yang dilakukan oleh system

operasi (OS) dapat diatur dengan pengaturan.

Analisis Sistem Operasi Berbasis Linux | P a g e 17


BAB III

MENGENAL SISTEM OPERASI LINUX

3.1 Arsitektur Sistem Operasi Linux

Sistem operasi Linux memiliki konsep yang hampir sama dalam hal arsitektur

dengan sistem operasi lainnya. Perbedaanya adalah bentuk dari disetiap komponen

pada arsitektur tersebut, antara lain seperti berikut ini.

1. Kernel

Dalam ilmu komputer, kernel adalah suatu perangkat lunak yang menjadi

bagian utama dari sebuah sistem operasi. Tugasnya melayani bermacam program

aplikasi untuk mengakses perangkat keras komputer secara aman.

Akses kepada perangkat keras secara langsung merupakan masalah yang

kompleks, oleh karena itu kernel biasanya mengimplementasikan sekumpulan

abstraksi hardware. Abstraksi-abstraksi tersebut merupakan sebuah cara untuk

menyembunyikan kompleksitas, dan memungkinkan akses kepada perangkat keras

menjadi mudah dan seragam. Sehingga abstraksi pada akhirnya memudahkan

pekerjaan programer.

Sistem operasi mengembangkan kernel sistem operasi yang pada akhirnya

terbagi menjadi empat bagian yang secara desain berbeda, sebagai berikut:

 Kernel Monolitik : Kernel monolitik mengintegrasikan banyak fungsi di

dalam kernel dan menyediakan lapisan abstraksi perangkat keras secara

penuh terhadap perangkat keras yang berada di bawah sistem operasi.


Analisis Sistem Operasi Berbasis Linux | P a g e 18
 Mikrokernel : Mikrokernel menyediakan sedikit saja dari abstraksi

perangkat keras dan menggunakan aplikasi yang berjalan di atasnya—yang

disebut dengan server—untuk melakukan beberapa fungsionalitas lainnya.

 Kernel Hibrida : Kernel hibrida adalah pendekatan desain microkernel yang

dimodifikasi. Pada hybrid kernel, terdapat beberapa tambahan kode di

dalam ruangan kernel untuk meningkatkan performanya.

 Exokernel : Exokernel menyediakan hardware abstraction secara minimal,

sehingga program dapat mengakses hardware secara langsung. Dalam

pendekatan desain exokernel, library yang dimiliki oleh sistem operasi

dapat melakukan abstraksi yang mirip dengan abstraksi yang dilakukan

dalam desain monolithic kernel.

Kernel Linux adalah kernel yang digunakan dalam sistem operasi

GNU/Linux. Kernel ini merupakan turunan dari keluarga sistem operasi UNIX,

dirilis dengan menggunakan lisensi GNU General Public License (GPL), dan

dikembangkan oleh pemrogram di seluruh dunia. Linux merupakan contoh utama

dari perangkat lunak bebas dan sumber terbuka (open source). Dibawah ini

ditunjukkan gambar keterkaitan antara hardware, kernel, Shell dan Desktop.

Analisis Sistem Operasi Berbasis Linux | P a g e 19


Gambar 3.5.1 Kerterkaitan antara hardware, kernel, shell dan Desktop pada

Linux

Kernel Linux dirilis dibawah Lisensi Publik Umum GNU versi 2 (GPLv2),

(dengan bermacam-macam Firmware dengan lisensi tidak gratis yang bervariatif),

dan dikembangkan oleh kontributor dari seluruh dunia. Diskusi perkembangan dari

hari ke hari dilakukan di Mailing List Linux Kernel. Kernel Linux pada awalnya

dibayangkan dan kemudian dibuat oleh mahasiswa Ilmu Komputer berkebangsaan

Finlandia, Linus Torvalds pada tahun 1991. Pengembang dan Pengguna Linux

bertambah dengan cepat, lalu mereka mengadaptasi kode dari proyek-proyek

software gratis untuk digunakan sebagai Sistem Operasi baru. Linux kernel telah

menerima kontribusi dari ribuan programmer. Banyak Distribusi Linux telah dirilis

berdasarkan Kernel Linux. Contoh gambar linux kernel ditunjukkan seperti berikut

ini.

Analisis Sistem Operasi Berbasis Linux | P a g e 20


Gambar 3.5.2 Linux kernel booting

Gambar 3.5.3 Linux kernel diagram

Pada gambar diatas ditunjukkan keterkaitan antara fungsi dengan layer yang

digunakan. Berdasarkan fungsinya, maka terdapat system, networking, storage,

memory, processing dan human interface. Apabila dilihat dari lapisannya, maka

terdiri dari layer / lapisan electronics, hardware interface, logical, bridges, virtual

subsystems dan user spaces interfaces.

Apa yang di lakukan Kernel ?

Fungsinya seperti layaknya sistem operasi, menangani task switching dalam

multitasking, menangani permintaan membaca atau menulis peralatan disk,

Analisis Sistem Operasi Berbasis Linux | P a g e 21


melakukan tugas-tugas network serta mengatur penggunaan memori. Kernel

membuat layanan yang ada didalamnya, tersedia untuk Software yang sedang

berjalan, melalui sekumpulan besar entry point yang secara teknis, Kernel

menggunakan system call read and writer unutk memberikan abstraksi Hardware

pada Komputer anda. Berikut ini contoh kernel saat melakukan proses booting :

Gambar 3.5.3 Booting

GNU/Linux adalah salah satu system operasi open source seperti UNIX.

Struktrudirektori GNU/Linux berbeda dengan system operasi Windows yang

selama ini yang kita kenal. Windows menggunakan pendekatan Forest atau hutan,

dimana partisi harddisk diberi nama dengan alfabet seperti C:/. Sedangkan

GNU/Linux menggunakan pendekatan tree atau pohon, semua direktori pembentuk

GNU/Linux terletak dibawah "/" atau root.

Pengenalan Direktori dan Fungsinya

1. /

Menunjukkan hirarki tertinggi dari sistem ditektori Linux dimana direktori

ini membawahi direktori /bin, /usr, /home, /mnt dan direktori lainya.
Analisis Sistem Operasi Berbasis Linux | P a g e 22
2. /bin

Berisi program yang berisi perintah-perintah yang digunakan oleh user biasa

seperti perintah ls (menampilkan isi dari suatu direktori), cp (menyalin file dan

direktori) dan perintah lain.

3. /sbin

Berisi program yang berisi perintah-perintah yang digunakan oleh super user

seperti ifconfig (menampilkan informasi tentang kartu jaringan atau network device

yang terpasang pada mesin).

4. /home

Berisi data (musik,ebook,dokumen dll) dari user yang terdaftar dalam

komputer/mesin yang bersangkutan. Selain untuk tempat penyimpanan data user,

partisi /home juga digunakan oleh beberapa program untuk meletakan file

konfigurasinya.

5. /usr

Digunakan untuk menyimpan semua file binari dari linux yang diinstall, yang

berisi paket program, dokumentasi, konfigurasi, aplikasi, library dan source aplikasi

linux dan tidak terkecuali source code dari kernel GNU/Linux.

6. /opt

Sama seperti "/bin",/opt juga merupakan tempat meletakan aplikasi. Namun

aplikasi yang diletakan disini biasanya bersifat optional.

Analisis Sistem Operasi Berbasis Linux | P a g e 23


7. /root

Root adalah akun spesial. Begitu pula home direktori nya. Home direktori

root tidak disatukan dengan pengguna lainnya, melainkan ada di /root/.Root

merupakan "home"-nya superuser/root/administrator.

8. /tmp

Singkatan dari temporary, adalah direktori yang disediakan ketika dibutuhkan

ruang sementara dalam melakukan pekerjaan, contoh ketika melakukan proses

membakar (burning) cd, maka image (file iso) secara default dimasukkan ke

direktori ini sebelum di burning ke cd (compact disk).

9. /etc

Secara umum merupakan direktori tempat file konfigurasi berbagai macam

service dan program yang terinstall di dalam sistem.

10. /mnt

Berisi informasi device yang terpasang (mount) di dalam komputer.

Contohnya CD/DVD-ROM, floppy disk drive atau usb flash drive.

11. /var

Direktori ini berisi file-file dan berbagai subdirektori yang isinya berubah

seiring dengan berjalannya system. Tedapat beberapa direktori menarik yang

terdapat di dalam sini. Salah satu nya /var/log/ yang berisi log dari apa yang system

kerjakan.

12. /boot

Analisis Sistem Operasi Berbasis Linux | P a g e 24


Digunakan untuk menyimpan file boot loader dan semua images dari kernel,

berisi informasi yang berkaitan dengan device dan service yang dijalankan ketika

komputer melakukan booting (proses komputer dari keadaan mati/off menjadi

hidup/on).

Secara umum, sistem operasi linux memiliki direktori di atas, namun pada

beberapa distro ditambahkan beberapa direktori spesifik seperti /srv pada keluarga

Suse dimana direktori yang ditambahkan memiliki fungsi khusus yang kadangkala

tidak terdapat pada distro lain. Seperti gambar di atas direktori user berada di bawah

/home. Di gambar terdapat tiga /user1 /user2 /user3 berada dalam satu direktori

yang sama (/home) namun tiap user memiliki sebuah direktori terpisah sesuai

dengan nama user dan tiap user tidak bisa melihat isi dari direktori user lainnya.

2. Library

Gambar 3.5.4 Anatomy of Linux dynamic libraries

Sebelum membahas Command Line Interface (CLI), sebenarnya di atas

kernel masih ada komponen yang tidak diperlihatkan di gambar, yang disebut

dengan Library. Library adalah file atau sekumpulan file yang di dalamnya terdapat

fungsi atau kelas yang dibutuhkan oleh program aplikasi. Sebagai contoh library

adalah Glibc, libcurl, libpng serta library yang lain yang fungsinya menjadi pondasi

Analisis Sistem Operasi Berbasis Linux | P a g e 25


untuk program yang akan berjalan diatasnya. Misalnya tanpa library getty, maka

kita tidak dapat membuka shell atau CLI, tanpa libpng maka kita tidak bisa

membuka gambar, tanpa libmpg maka kita tidak bisa memutar mp3. Dengan

demikian library adalah pondasi untuk aplikasi atau program tertentu. Kadang-

kadang libary juga saling berkaitan (depedensi) misalkan library A adalah pondasi

dari Library B dan Program C butuh library B. Hal semacam ini disebut dengan

depedency di linux.

3. Shell

Shell adalah aplikasi yang bertugas menerima Input perintah dari user. Pada

sistem operasi Windows, dapat disamakan dengan Command Prompt. Bedanya,

Shell di Linux tidak terikat dengan GUI nya. Linux mempunyai banyak shell,

diantaranya adalah csh, tcsh, sh, ash dan yang paling populer Bash. Kebanyakan

server, tiga lapis ini saja sudah lebih dari cukup, tinggal ditambahkan service

(apliksi yang berjalan dibelakang layar) misal webserver apache.

4. X Windows

X Windows adalah Library khusus untuk tampilan GUI di UNIX/Linux,

tanpa adanya librari ini, maka KDE, GNome atau openoffice tidak akan dapat

berjalan.

5. Window Manager

Window Manager adalah pengelola jendela dari aplikasi yang berjalan di

GUI. Window Manager hanya bertugas menangani posisi aplikasi di Layar,

Window manager tidak mempunyai fitur misal Drag and Drop atau fitur canggih

lainnya. Contoh window Manager adalah iceWM dan GNUStep.


Analisis Sistem Operasi Berbasis Linux | P a g e 26
6. Desktop

Lapisan di atas windows Manager adalah Desktop, ini adalah tampilan

antarmuka yang langsung berhubungan dengan user dimana user tinggal klik,drag,

melakukan segala kemudahan hanya dengan mouse. Contoh desktop di Linux

adalah KDE,LXDE, Gnome, XFace atau EDE.

7. Aplikasi

Lapisan yang paling atas dari sistem operasi Linux adalah aplikasi, misal Gedit,

Open Office dan firefox. Sebenarnya masih banyak lagi aplikasi-aplikasi yang

disediakan sendiri oleh vendor-vendor linux. misalnya untuk kategori jaringan,

keamanan, editing photo dan lain sebagainya.

3.2 Perkembangan Linux

Linux merupakan system operasi bertipe Unix. Unix sendiri merupakan

system operasi komputer yang dikembangkan oleh AT&T Bell Labs pada tahun

1960 dan 1970-an.

Linux merupakan turunan dari Unix dengan system berbasis GNU GPL

(General Public License). Unix diciptakan sebagai system operasi yng bisa

beradaptasi dengan banyak mesin (Portable), serta memiliki kemampuan Multi-

tasking dan Multi-user. Nama “Linux” berasal dari nama kernel-nya yaitu “Linux

kernel” yang dibuat pada tahun 1991 oleh Linus Torvalds. Pada tahun 1996 Larry

Ewing membuat gambar penguin yang kemudian menjadi logo Linux dengan nama

Tux(Tux = Torvalds + Unix).

Analisis Sistem Operasi Berbasis Linux | P a g e 27


Linus Torvalds yang awalnya terinspirasi oleh Minix. Minix sendiri

dikembangkan oleh Andrew S. Tanembaum. Berawal sebuah hobi seseorang. Linus

Torvalds beliau merupakan seorang mahasiswa di Universitas Helsinki, Finlandia

berumur 21 tahun. Beliau berpikiran untuk membuat Minix yang gratis dan dapat

diedit. Minix adalah suatu proyek pelajaran di kelasnya waktu itu yang menyerupai

system UNIX, akhirnya hasil karyanya dinamakan dengan istilah kernel Linux.

Linux versi pertama (0.01) dikerjakan sekitar bulan Agustus 1991 yang kemudian

dia posting hasilnya ke dalam milisnya com.os.minix, dengan maksud menawarkan

source code dari apa yang telah dibuatnya serta mengundang para programmer

lainnya berpartisipasi dalam proyeknya tersebut.

Sejarah OS Linux berkaitan Linus Torvalds, Sang penemu Linux erat dengan

proyek GNU, suatu proyek program freeware yang dikepalai oleh Richard M.

Stailman. Proyek ini diawali sekitar tahun 1983 untuk membuat system operasi

seperti UNIX yang lengkap beserta compiler, utility aplikasi, utility pembuat yang

sepenuhnya dengan perangkat lunak bebas.

5 Oktober 1991, Linus secara resmi mengeluarkan versi Linuxnya (versi

0.02). Proyek GNU telah menghasilkan hamper semua komponen dari system ini,

kecuali kernel. Linus Torvalds beserta pembuat kernel mirip Linux berusaha

menyesuaikan kernel mereka supaya dapat berfungsi dengan komponen GNU

hingga menghasilkan system operasi yang berfungsi. Walaupun pada waktu itu

hanya dapat menjalankan GNU/BASH (GNU Bourne Again Shell) dan GNU/GCC(

NU C Compiler). Berikutnya beribu-ribu program sukarelawan seluruh dunia telah

menyertai proyek-proyek ini.

Analisis Sistem Operasi Berbasis Linux | P a g e 28


Linux secara komplit (GNU/ Linux) dirilis pada tanggal 14 Maret 1994, yang

setelah tiga tahun mengalami masa pengembangan yang dilakukan oleh banyak

programmer seluruh dunia. Dan saat ini Linux biasanya telah dipaket dengan

program-program dari GNU ataupun program lain dan dibundel menjadi satu

dengan istilah Distro Linux, bisa digunakan untuk jaringan, pengembangan

perangkat lunak, multimedia, perkantoran, dan sebagainya. Sekarang ini telah

beredar ribuan distro Linux yang tiap-tiap distro memiliki kekurangan dan

kelebihan nya masing-masing. Perbedaan mendasar terletak apda paket-paket yang

telah disertakan ataupun manajemen paketnya, akan tetapi dari perbedaan tersebut,

ada satu yang ada dan masih tetap harus ada, yaitu kernel Linux buatan Linus

Torvalds.

Sebagai system operasi yang merupakan turunan Unix. Maka Linux mewarisi

karakteristik yang dimiliki oleh Unix. Berikut ini beberapa karakteristik milik Unix

yang diwarisi oleh Linux.

1. Ready for Network

Pada awalnya Unix memang dikembangkan untuk system komunikasi antar

komputer dalam jaringan. Dengan demikian bisa dikatakan bahwa Linux sebagai

turunan Unix memang lebih unggul dalam bidang jaringan komputer.

2. Multitasking

Multitasking merupakan suatu mekanisme dimana suatu system operasi

memiliki kemampuan untuk menjalankan lebih dari satu proses yang berbeda dalam

waktu yang bersamaan tanpa saling mempengaruhi. Misalnya seorang user

Analisis Sistem Operasi Berbasis Linux | P a g e 29


menjalankan aplikasi pengolah kata dan aplikasi pengolah angka dalamm waktu

bersamaan. Kedua proses dapat saling berjalan tanpa saling terganggu.

3. Multiuser

Multiuser merupakan suatu mekanisme dimana suatu system operasi bisa

digunakan oleh lebih dari satu user yang Login kedalam system pada waktu yang

bersamaan.

4. Aman

Sistem operasi Linux memiliki tingkat keamanan yang lebih baik

dibandingkan system operasi lainnya. Hal ini disebabkan mekanisme multiuser

milik Linux menerapkan aturan permission pada manajemen user dan groupnya.

Dengan adanya permission, setiap user memiliki hak yang berbeda dalam

mengakses file dan direktori, dikarenakan setiap user dan group terpisah antara satu

dengan yang lainnya. Seorang user tidak bisa melakukan modifikasi suatu file

miliki user lain tanpa ada izin dari user yang bersangkutan.

5.Line / Text Command Line

Metode Line ini mirip dengan DOS pada Windows, tapi bukan berarti system

operasi Linux tidak memiliki tampilan GUI (Graphical User Interface).

Menurut orang-orang yang sudah biasa menggunakan Linux, kemampuan

sebenarnya Linux bukan pada GUI-nya tapi pada Command Line-nya.

Linux biasanya telah dipaket dengan program-program dari GNU ataupun

program perangkat lunak lainnya dan dibundel menjadi satu dengan istilah distro

Linux. Distro ini disesuaikan dengan tujuan penggunaanya masing-masing seperti

untuk server, desktop, perkantoran, internet, multimedia, dan lain-lain. Karena sifat
Analisis Sistem Operasi Berbasis Linux | P a g e 30
Linux yang terbuka siapapun individu maupun kelompok dapat memaketkan Linux

dengan piranti lunak pilihannya dengan cara pemaketan masing-masing untuk

membuat distro sesuai dengan tujuannya.

Selain distro, distribusi utama yang bisa menghasilkan distro-distro Linux

baru sering disebut dengan istilah varian. Dibawah ini berbagai contoh distro Linux

beberapa jenis varian beserta contoh distro turunannya yang terkenal saat ini :

 Linux Mint adalah distribusi berbasis Ubuntu yang tujuannya adalah

untuk memberikan pengalaman out-of-the-box, lebih lengkap dengan

memasukkan plugin browser, codec media, dukungan untuk pemutaran

DVD, Java dan komponen lainnya. Distro ini juga menambahkan

kustomisasi desktop dan menu, beberapa tool konfigurasi yang unik,

dan antarmuka paket instalasi berbasis web. Linux Mint kompatibel

dengan repositori Ubuntu.

 Proyek Debian adalah asosiasi dari individu-individu yang bergerak

untuk menciptakan sebuah sistem operasi open source. Banyak orang

yang menginginkan sistem operasi gratis yang digunakan untuk

mengedit dokumen, menjalankan bisnis, untuk bermain game dan

berbagai hal lainnya. Debian datang dengan lebih dari 50.000 paket

(software precompiled yang terkumpul dalam format yang baik untuk

memudahkan Anda dalam melakukan instalasi) – semua itu gratis.

Setiap rilis terbaru, Debian selalu berhati-hati untuk memastikan tidak

ada masalah, sehingga jarak antar rilis begitu lama.

Analisis Sistem Operasi Berbasis Linux | P a g e 31


 Ubuntu adalah sistem operasi Linux yang lengkap, tersedia secara

bebas dengan komunitas dan dukungan profesional. Komunitas Ubuntu

dibangun di atas ide-ide yang tercantum dalam Ubuntu Manifesto:

bahwa perangkat lunak harus tersedia tanpa biaya, perangkat lunak

harus dapat digunakan oleh pengguna dalam bahasa lokal mereka dan

keterbatasan fisik, dan bahwa orang harus memiliki kebebasan untuk

menyesuaikan dan mengubah perangkat lunak mereka dengan cara apa

pun yang mereka inginkan. “Ubuntu” adalah kata kuno Afrika, yang

berarti “kemanusiaan untuk orang lain”. Distribusi Ubuntu membawa

semangat Ubuntu ke dunia perangkat lunak.

 Proyek openSUSE adalah program komunitas yang disponsori oleh

SUSE Linux dan perusahaan lainnya. Mempromosikan penggunaan

Linux di mana-mana, program ini diberikan secara gratis. Proyek

openSUSE memiliki tiga tujuan utama: membuat openSUSE Linux

mudah bagi siapa saja untuk mendapatkan dan distribusi Linux yang

paling banyak digunakan; membuat openSUSE menjadi paling berguna

di lingkungan desktop untuk pengguna Linux yang baru dan yang

berpengalaman; menyederhanakan dan membuka proses pembangunan

untuk membuat openSUSE platform pilihan bagi pengembang Linux

dan vendor perangkat lunak.

 Manjaro Linux adalah distro Linux yang cepat, user-friendly, sistem

operasi desktop berdasarkan Arch Linux. Fitur utama termasuk proses

instalasi yang cepat, deteksi hardware otomatis, model rolling-release

Analisis Sistem Operasi Berbasis Linux | P a g e 32


yang stabil, kemampuan untuk menginstal beberapa kernel, script Bash

khusus untuk mengelola driver grafis dan konfigurasi desktop yang

mudah. Manjaro Linux menawarkan Xfce sebagai pilihan utama

desktop serta edisi Net minimalis untuk pengguna yang lebih

berpengalaman. Pengguna juga mendapatkan keuntungan dari forum

komunitas yang mendukung Manjaro.

 elementary adalah distribusi Linux desktop berbasis Ubuntu. Beberapa

fitur yang lebih menarik yang mencakup lingkungan desktop disebut

Pantheon dan banyak aplikasi kustom termasuk Foto, Musik, Video,

Kalender, Terminal, File, dan banyak lagi. Hal ini juga dilengkapi

dengan beberapa aplikasi populer seperti web browser Epiphany dan

Geary email.

 Fedora (sebelumnya Fedora Core) adalah distribusi Linux yang

dikembangkan oleh Fedora Project yang didukung komunitas dan

dimiliki oleh Red Hat. Fedora berisi perangkat lunak yang

didistribusikan di bawah lisensi gratis dan open-source. Fedora

memiliki reputasi untuk fokus pada inovasi, mengintegrasikan

teknologi baru dan bekerja sama dengan masyarakat Linux. Desktop

default di Fedora adalah GNOME dan antarmuka default adalah

GNOME Shell. Desktop lain, termasuk KDE, Xfce, LXDE, MATE dan

Cinnamon, juga tersedia. Fedora Project juga mendistribusikan variasi

fedora bernama Fedora spins. Ini dibangun dengan paket perangkat

lunak tertentu, yang menawarkan lingkungan desktop alternatif atau

Analisis Sistem Operasi Berbasis Linux | P a g e 33


menargetkan kepentingan tertentu seperti game, keamanan, desain,

komputasi ilmiah dan robotika.

 Zorin OS adalah distribusi Linux berbasis Ubuntu yang dirancang

khusus bagi pengguna baru Linux. Zorin OS memiliki tampilan

antarmuka pengguna dengan grafis seperti di Windows. Zorin OS juga

dilengkapi dengan sebuah aplikasi yang memungkinkan pengguna

menjalankan banyak program Windows. Tujuan utama distribusi ini

adalah untuk memberikan alternatif Linux ke Windows dan

membiarkan para pengguna Windows menikmati semua fitur dari

Linux tanpa komplikasi.

 deepin (sebelumnya, Deepin, Linux Deepin, Hiweed GNU / Linux)

adalah distribusi berbasis Debian (berbasis Ubuntu sampai versi 15

dirilis pada akhir 2015) yang bertujuan untuk memberikan user-

friendly dan sistem operasi elegan yang handal. Tidak hanya mencakup

yang terbaik di dunia open source yang ditawarkan, tetapi juga telah

menciptakan lingkungan desktop sendiri disebut DDE atau Deepin

Desktop Environment yang didasarkan pada Qt 5 toolkit. Deepin

berfokus banyak perhatian pada desain intuitif. Aplikasi untuk

pengguna seperti Deepin Software Centre, DMusic dan DPlayer

disesuaikan dengan keinginan pengguna. Sangat mudah untuk

menginstal dan digunakan, deepin dapat menjadi alternatif yang baik

untuk kantor dan rumah.

Analisis Sistem Operasi Berbasis Linux | P a g e 34


 CentOS sebagai sebuah komunitas dari kontributor open source dan

juga penggunanya. CentOS adalah organisasi dan individu yang tidak

membutuhkan dukungan komersial yang kuat untuk mencapai

keberhasilan sistem operasi ini. CentOS adalah 100% kompatibel dari

Red Hat Enterprise Linux, semuanya sesuai dengan persyaratan

redistribusi Red Hat. CentOS adalah pilihan bagi orang yang

membutuhkan kelas enterprise, stabilitas sistem operasi tanpa biaya

sertifikasi dan dukungan lainnya.

Dalam satu buah distro, entah itu bundle dalam bentuk CD, DVD maupun Fash

Disc sekurang-kurangnya terdiri dari :

 Kernel Linux beserta system dasarnya

 Program instalasi

 Tools basic

 Package (program yang sesuai dengan tujuan pembuatan distro)

Saat ini, banyak sekali terdapat distro-distro Linux yang memiliki segmen pasar,

fitur, kelengkapan dan cita rasa yang berbeda. Seseorang bisa mendapatkan distro

Linux dapat dilakukan dengan : mencari ISO file yang bisa didownload gratis dari

internet, membeli CD/DVD Linux dari penyedia jasa penjualan distro Linux di

Indonesia, pinjam kemudian kopi ulang.

Analisis Sistem Operasi Berbasis Linux | P a g e 35


3.3 Perangkat Linux

Perangkat yang menggunakan Linux sebagai berikut :

1. Personal Computer

2. Laptop

3.4 Keunggulan dan Kelemahan Linux

Selain mewarisi karakteristik Unix, Linux sebagai system operasi juga

memiliki beberapa keunggulan jika dibandingkan dengan system operasi lain.

Bahkan Linux bisa dikatakan sebagai system operasi terbaik yang pernah ada.

Berikut kelebihannya :

Analisis Sistem Operasi Berbasis Linux | P a g e 36


 Free dan Open Source. Dibangun dengan lisensi GNU General Public

License pada kernelnya, menjadikan Linux sebagai system operasi

yang open source. Open source memiliki makna bahwa setiap orang

bebas mengetahui, memodifiaksi kode sumber yang ada pada kernel

Linux, serta mendistribusikannya.Beberapa versi distribusi Linux

adalah system operasi yang gratis dann bebas untuk dimodifikasi dan

didistribusikan kembali. Meskipun ada beberapa versi distribusi Linux

yang bersifat komersil, tapi pada dasarnya Linux adalah system operasi

yang free dan open source.

 Fasilitas aplikasi yang lengkap. Linux dilengkapi dengan puluhan

aplikasi multimedia dan aplikasi pengembangan software seperti C,

C++, java, Phyton, Ruby dan lain-lain dalam paket CD/DVD

instalasinya.

Hanya dengan sekali install bisa mendapatkan semua aplikasi tersebut

secara free dan open source. Bisa dibayangkan, jika menggunakan

system operasi yang mengharuskan seseorang membeli compiler

C/C++ agar bisa digunakan pada system, maka harus mengeluarkan

biaya sampai ribuan dollar amerika.

 Stabil dan tangguh. Linux adalah system operasi yang luar biasa

stabil. Jika melakukan konfigurasi yang benar pada sistemnya, Linux

akan “hidup” terus sampai hardware mengalami shutdown pada

system. Linux merupakan system yang tangguh, karena mampu bekerja

selama ratusan hari tanpa ada kendala jika dikonfigurasi dengan benar.

Analisis Sistem Operasi Berbasis Linux | P a g e 37


Berbeda dengan system operasi lain yang memiliki aturan harus di

restart dan di install ulang secara berkala untuk menjaga system agar

tetap stabil. Aplikasi yang crash tidak akan membuat system Linux

menjadi hang atau down. Jika ini terjadi pada system operasi lain,

mungkin system akan hang atau bisa saja melakukan booting ulang

pada system agar kembali normal. Hal seperti ini sebenarnya

merupakan kondisi yang tidak bisa ditolerir oleh seorang user. Apalagi

jika system operasi tersebut difungsikan sebagai server yang harus

bekerja 24 jam. Sungguh suatu hal yang sangat merepotkan.

 Ideal menjadi server. Ketangguhan dan system yang stabil, membuat

system operasi Linux sangat ideal untuk diposisikan sebagai server

dalam sebuah lingkungan jaringan. Linux menjadi pilihan utama oleh

para administrator jaringan sebagai system operasi yang menjalankan

server seperti web server, FTP server, database, dan sebagainya.

Selain stabil Linux juga memang menyediakan beberapa fasilitas yang

dibutuhkan untuk membangun server jaringan dalam paket

instalasinya. Seperti database PostgreSQL Apache server Squid Proxy,

Static Routing Firewall, dan sebagainya.

 Paket distribusi yang bervariasi. Linux juga menyediakan bermacam

pilihan dalam paket distribusinya atau yang umum disebut distro dalam

hal ini disebabkan karena Linux memiliki status open source sehingga

bermunculan beberapa versi dari berbagai distro yang sudah berbeda

sesuai dengan distronya. Hingga saat ini beberapa versi dari berbagai

Analisis Sistem Operasi Berbasis Linux | P a g e 38


distro yang sudah banyak dikenal antara lain seperti Mandriva,

CentOS, Back Track, Fedora, dan sebagainya.

Disisi lain, terdapat pula kelemahan yang dimiliki pada Linux pada masa awal

kemunculannya :

 Awalnya OS Linux yang agak sulit untuk dipelajari terutama bagi yang

tidak mempunyai dasar komputer yang kuat (namun sekarang lebih

mudah.

 Aplikasi yang tersedia belum sebanyak windows.

 OS Linux versi lama tidaksepenuhnya GUI (Graphical User

Interface) meskipun sudah menggunakan X-windows seperti GNOME

dan KDE. Nama-nama paket program antara distro satu dengan

distro lainnya berbeda beda. Seperti paket Yaz.tar.gz.rpm.krpm.deb

dan lain - lain.

3.5 Memory Linux

Memahami informasi memori Linux

Setiap sistem operasi membutuhkan memori untuk menyimpan segmen kode

program dan data. Ini juga berlaku untuk sistem Linux. Masalahnya: ada banyak

informasi yang tersedia mengenai penggunaan memori dan perilakunya.

Analisis Sistem Operasi Berbasis Linux | P a g e 39


Saat kita berbicara tentang memori RAM, biasanya menyebut random access

memory (RAM). Ini adalah memori yang bisa digunakan untuk menampilkan dan

menyimpan data. Biasanya akan menemukan jenis memori ini pada program yang

sedang berjalan di sistem, termasuk kernel Linux itu sendiri. Selain kode program,

memori juga menyimpan banyak data. Contoh yang bagus adalah saat menjalankan

server database MySQL. Program itu sendiri relatif kecil, data itu sendiri sangat

besar. Jadi akan melihat program tuning dan penggunaan memori mereka, karena

ini biasanya menjadi masalah dengan program yang haus akan memori.

Tentukan jumlah RAM

Langkah pertama adalah menemukan jumlah RAM yang kita miliki di sistem.

Ada beberapa cara bagaimana cara mencapainya, mulai dari data yang tersimpan di

dmesg.

dmesg | grep -in mem

Hasil outputnya mungkin akan terlihat seperti ini :

Informasi ini menunjukkan jumlah memori yang tersedia dalam kilobyte.

Nilai pertama menunjukkan apa yang tersedia saat ini, nilai kedua menampilkan

total memori di sistem. Nilai ini biasanya sangat dekat. Hal ini menunjukkan bahwa

sebagian besar memori dapat digunakan dan merupakan hal yang baik. Sebagian

kecil "hilang" digunakan oleh pemuatan awal kernel. Jika ada celah yang besar,

maka ini mungkin disebabkan oleh kernel dan berapa banyak memori yang bisa

diupgrade. Apalagi dengan versi 32 bit Linux ini jumlahnya terbatas.

Rincian dan informasi tentang modul RAM


Analisis Sistem Operasi Berbasis Linux | P a g e 40
Langkah selanjutnya adalah belajar lebih banyak tentang modul RAM itu

sendiri. Perlunya sebuah utilitas dmidecode untuk ini, yang tersedia untuk sebagian

besar distribusi Linux. Untuk mengumpulkan informasi memori, beritahu

dmidecode untuk hanya menampilkan informasi untuk tipe perangkat 17.

Dmidecode --tipe 17

Bergantung pada perangkat keras mungkin bisa mengekstrak spesifikasi modul dan

menunjukkan informasi terperinci. Mungkin perlu menjalankan ini sebagai

pengguna root. Pengguna normal tidak akan memiliki hak akses untuk membaca

semua informasi.

Pada output diatas kita bisa melihat detil modul memori yang pertama. Itu

adalah chip 4 GB dan dikonfigurasi pada kecepatan 1600 MHz. Ini adalah cara yang
Analisis Sistem Operasi Berbasis Linux | P a g e 41
bagus untuk menentukan memori yang tersedia di sistem Linux, bersamaan dengan

keluaran yang mendetail. Sayangnya, perintah tidak selalu berjalan dengan baik

dengan sistem virtual.

Menampilkan memori yang tersedia di Linux

Setelah kernel Linux di-boot maka saatnya untuk memulai program. Kernel

itu sendiri tidak bertanggung jawab atas program. Sebagai gantinya, delegasi ini

bertanggung jawab kepada manajer layanan seperti init atau systemd. Proses ini

adalah yang pertama dimulai dan akan menjadi ID proses 1. Tugasnya adalah

memulai layanan dan program lain selama masa pakai sistem. Setiap program akan

mengkonsumsi sejumlah memori, tergantung pada ukuran program dan data terkait.

Lihat memori yang tersedia dengan perintah gratis

Perintah pertama untuk mendapatkan informasi memori yang tersedia adalah

alat yang diberi nama dengan free.

Utilitas ini menunjukkan dua jenis memori yang berbeda: memori normal dan

memori swap. Swap adalah jenis memori yang ingin dihindari untuk

membutuhkannya sebanyak mungkin. Jika itu akan digunakan, maka itu berarti

memori normal sudah penuh. Sistem kemudian akan memanfaatkan memori swap

untuk menyimpan data sementara, dengan biaya operasi disk. Karena mereka jauh

lebih lambat dari RAM normal, sistem Anda akan terkena dampaknya. Pada

screenshot ini, kita melihat swap tidak digunakan, mana yang bagus.

Analisis Sistem Operasi Berbasis Linux | P a g e 42


Utilitas gratis mengambil informasi memori ini dari sebuah file bernama /

proc / meminfo. Mari lihat juga.

Rincian dari / proc / meminfo

Langkah selanjutnya untuk mendapatkan segala sesuatu yang tersedia

mengenai memori ditemukan di pohon procfs, biasanya dipasang di bawah / proc.

File ini sangat luas, jadi kita lihat di sistem :

cat /proc/meminfo

Manajemen memori di Linux sangat luas dan berubah seiring berjalannya

waktu seperti sekarang. Hal ini menghasilkan sistem yang rumit yang

mengoptimalkan penggunaan memori sebanyak mungkin. Mari masuk ke beberapa

bidang ini dan pahami lebih baik bagaimana Linux melakukan tugasnya.

Cached/SwapCached.

Analisis Sistem Operasi Berbasis Linux | P a g e 43


Sistem pengulangan banyak dilakukan, termasuk membaca file atau data

yang sama. Segala sesuatu yang masuk ke memori dan tidak lagi dibutuhkan, akan

disimpan sedikit lebih lama. Jika Anda kemudian meminta data yang sama saat

berada di memori, Anda akan langsung mendapatkannya. Inilah yang terjadi ketika

Anda menjalankan perintah find pada direktori tertentu untuk pertama kalinya, yang

biasanya memakan waktu lama. Jalankan lagi dan akan jauh lebih cepat.

Aktif, tidak aktif.

Cache halaman mengoptimalkan akses ke file. Penyangga ini dapat

digunakan baru-baru ini (= aktif), atau tidak (= tidak aktif). Aktif adalah total Active

(anon) dan Active (file). Demikian pula, Inactive adalah total Inactive (anon) +

Inactive (file).

SwapTotal, SwapFree

Ini memberikan wawasan dalam memori swap yang dikonfigurasi dan berapa

banyak yang tertinggal. Idealnya, nilai SwapFree sama dengan SwapTotal, artinya

tidak ada swap yang sedang digunakan saat itu. Swapping adalah disk intensif.

Dirty

Bidang Kotor mengacu pada data yang tersimpan dalam memori dan masih

perlu ditulis ke disk.

cat /proc/meminfo | grep Dirty && dd if=/dev/zero of=/tmp/testfile.txt

bs=1M count=10 && cat /proc/meminfo | grep Dirty

Slab, SReclaimable, SUnreclaim

Analisis Sistem Operasi Berbasis Linux | P a g e 44


Kernel melakukan banyak pengulangan selama menjalankannya. Beberapa

objek, seperti meminta inode spesifik file dapat dilakukan seribu kali sehari. Dalam

kasus seperti itu, akan lebih bijaksana jika menyimpannya dalam daftar referensi

singkat, atau cache. Slab adalah cache untuk objek kernel, untuk mengoptimalkan

aktivitas yang paling banyak terjadi.

Field Slab adalah keseluruhan SReclaimable dan SUnreclaim.

Slab: 32272 kB

SReclaimable: 18144 kB

SUnreclaim: 14128 kB

NFS_Unstable

Untuk sistem yang menggunakan NFS ini adalah pengukuran yang bagus

untuk melihat berapa banyak data yang tidak sesuai dengan penyimpanan. Untuk

sistem tanpa NFS, nilai ini bisa diabaikan dan biasanya hanya nol.

Bidang lainnya

Jika Anda membandingkan bidang ini dengan sistem Anda sendiri, Anda

akan menemukan ada lebih banyak bidang. Bergantung pada beban kerja Anda,

Anda harus menemukan bidang yang masuk akal untuk dipantau. Apa yang

umumnya bekerja dengan baik selama pemecahan masalah, adalah

membandingkan sistem yang serupa dan memeriksa perbedaan dalam / proc /

meminfo. Ini mungkin memberi indikasi bagus dimana memori digunakan dan apa

yang membuat sistem sibuk.

Menggunakan utilitas vmstat

Analisis Sistem Operasi Berbasis Linux | P a g e 45


Utilitas bagus lainnya yang sering tersedia adalah vmstat. Dengan -s kita bisa

query statistik memori.

Proses Di Linux

Pada artikel ini, pemahaman dasar tentang proses dan secara singkat melihat

bagaimana mengelola proses di Linux dengan menggunakan perintah tertentu.

Sebuah proses mengacu pada sebuah program dalam pelaksanaan; Ini adalah

contoh program yang sedang berjalan. Ini terdiri dari instruksi program, data dibaca

dari file, program lain atau masukan dari pengguna sistem.

Analisis Sistem Operasi Berbasis Linux | P a g e 46


Pada dasarnya ada dua jenis proses di Linux:

• Proses latar depan (juga disebut proses interaktif) - ini diinisialisasi dan

dikendalikan melalui sesi terminal. Dengan kata lain, harus ada pengguna yang

terhubung ke sistem untuk memulai proses seperti itu; Mereka belum mulai secara

otomatis sebagai bagian dari fungsi / layanan sistem.

• Proses latar belakang (juga disebut proses non-interaktif / otomatis) - adalah

proses yang tidak terhubung ke terminal; Mereka tidak mengharapkan input

pengguna

Apa itu Daemon?

Ini adalah jenis proses latar belakang khusus yang dimulai pada startup sistem dan

tetap berjalan selamanya sebagai layanan; Mereka tidak mati Mereka dimulai

sebagai tugas sistem (dijalankan sebagai layanan), secara spontan. Namun, mereka

bisa dikendalikan oleh pengguna melalui proses init.

Linux proses state

Analisis Sistem Operasi Berbasis Linux | P a g e 47


Pembuatan Proses di Linux

Proses baru biasanya dibuat saat proses yang ada membuat salinan yang tepat

dari dirinya sendiri dalam memori. Proses anak akan memiliki lingkungan yang

sama dengan orang tuanya, namun hanya proses nomor ID yang berbeda.

Ada dua cara konvensional yang digunakan untuk membuat proses baru di

Linux:

• Menggunakan Fungsi Sistem () - metode ini relatif sederhana, namun tidak

efisien dan memiliki risiko keamanan tertentu secara signifikan.

• Menggunakan fungsi fork () dan exec () - teknik ini sedikit maju namun

menawarkan fleksibilitas, kecepatan, dan keamanan yang lebih besar.

Bagaimana Linux Mengidentifikasi Proses?

Karena Linux adalah sistem multi-user, artinya pengguna yang berbeda dapat

menjalankan berbagai program pada sistem, setiap instance program yang berjalan

harus diidentifikasi secara unik oleh kernel.

Dan sebuah program diidentifikasi dengan ID prosesnya (PID) dan juga ID

proses orang tua (PPID), oleh karena itu proses selanjutnya dapat dikategorikan

menjadi:

• Parent Proses - inilah proses yang menciptakan proses lain selama run-time.

• Child Proses- proses ini diciptakan oleh proses lain selama run-time.

Init Process

Analisis Sistem Operasi Berbasis Linux | P a g e 48


Init process adalah induk (induk) semua proses pada sistem, ini adalah

program pertama yang dijalankan saat sistem Linux boot up; Ini mengelola semua

proses lain pada sistem. Hal ini dimulai oleh kernel itu sendiri, jadi pada prinsipnya

tidak memiliki proses induk. Proses init selalu memiliki ID proses 1. Ini berfungsi

sebagai induk angkat untuk semua proses yatim piatu. Anda dapat menggunakan

perintah pidof untuk menemukan ID sebuah proses:

# pidof systemd

# pidof top

# pidof httpd

Untuk menemukan ID proses dan ID proses induk dari shell saat ini, jalankan:

$ echo $$

$ echo $PPID

Memulai sebuah Proses di Linux

Begitu Anda menjalankan perintah atau program (misalnya cloudcmd -

CloudCommander), maka akan memulai proses di sistem. Anda bisa memulai

Analisis Sistem Operasi Berbasis Linux | P a g e 49


proses foreground (interaktif) sebagai berikut, maka akan terhubung ke terminal

dan pengguna bisa mengirimkannya:

# cloudcmd

Bagian dari Proses di Linux

Selama eksekusi, proses berubah dari satu keadaan ke keadaan lain

tergantung pada lingkungan / keadaannya. Di Linux, sebuah proses memiliki

kemungkinan berikut:

• Running - ini berjalan dengan baik (ini adalah proses saat ini dalam sistem)

atau siap dijalankan (menunggu untuk ditugaskan ke salah satu CPU).

• Waiting - dalam keadaan ini, sebuah proses menunggu suatu kejadian terjadi

atau untuk sumber daya sistem. Selain itu, kernel juga membedakan antara dua jenis

proses menunggu; Proses menunggu yang terganggu - dapat terganggu oleh sinyal

dan proses menunggu yang tidak terputus - menunggu secara langsung pada kondisi

perangkat keras dan tidak dapat terganggu oleh kejadian / sinyal apapun.

• Stopped - dalam keadaan ini, proses telah dihentikan, biasanya dengan

menerima sinyal. Misalnya, sebuah proses yang sedang debugged.

• Zombie - disini, sebuah proses sudah mati, sudah dihentikan tapi masih ada

yang masuk dalam tabel proses.

Analisis Sistem Operasi Berbasis Linux | P a g e 50


Cara Melihat Proses Aktif di Linux

Ada beberapa alat Linux untuk melihat / mencantumkan proses yang berjalan

pada sistem, dua yang populer dan terkenal adalah ps dan perintah teratas:

1.ps Perintah. Ini menampilkan informasi tentang pemilihan proses aktif pada

sistem seperti yang ditunjukkan di bawah ini:

# ps

# ps -e | head

2. top - Alat Pemantauan Sistem

Top adalah alat yang hebat yang menawarkan tampilan dinamis real-time dari

sistem yang sedang berjalan seperti yang ditunjukkan pada gambar di bawah ini:

# top

Analisis Sistem Operasi Berbasis Linux | P a g e 51


3. Glances - Alat Pemantauan Sistem

Glances adalah alat pemantau sistem yang relatif baru dengan fitur canggih:

# glances

Analisis Sistem Operasi Berbasis Linux | P a g e 52


Cara Mengontrol Proses di Linux

Linux juga memiliki beberapa perintah untuk mengendalikan proses seperti

kill, pkill, pgrep dan killall, berikut adalah beberapa contoh dasar bagaimana cara

menggunakannya:

$ pgrep -u tecmint top

$ kill 2308

$ pgrep -u tecmint top

$ pgrep -u tecmint glances

$ pkill glances

$ pgrep -u tecmint glances

Mengirim Sinyal ke Proses

Analisis Sistem Operasi Berbasis Linux | P a g e 53


Cara dasar mengendalikan proses di Linux adalah dengan mengirimkan

sinyal kepada mereka. Ada beberapa sinyal yang dapat Anda kirim ke sebuah

proses, untuk melihat semua sinyal yang dijalankan:

$ kill –l

Untuk mengirim sinyal ke sebuah proses, gunakan perintah kill, pkill atau

pgrep yang telah kami sebutkan tadi. Tapi program hanya bisa merespons sinyal

jika diprogram untuk mengenali sinyal tersebut.

Dan sebagian besar sinyal digunakan secara internal oleh sistem, atau untuk

pemrogram saat mereka menulis kode. Berikut ini adalah sinyal yang berguna bagi

pengguna sistem:

 SIGHUP 1 - dikirim ke sebuah proses saat terminal pengendali ditutup.

 SIGINT 2 - dikirim ke sebuah proses oleh terminal pengontrolnya saat

pengguna menyela prosesnya dengan menekan [Ctrl + C].

 SIGQUIT 3 - dikirim ke sebuah proses jika pengguna mengirim sinyal

berhenti [Ctrl + D].

 SIGKILL 9 - sinyal ini segera berakhir (membunuh) suatu proses dan

prosesnya tidak akan melakukan operasi pembersihan apa pun.


Analisis Sistem Operasi Berbasis Linux | P a g e 54
 SIGTERM 15 - ini sinyal pemutusan program (kill akan mengirimkan ini

secara default).

 SIGTSTP 20 - dikirim ke sebuah proses oleh terminal pengendali untuk

meminta agar berhenti (terminal stop); Diprakarsai oleh pengguna menekan

[Ctrl + Z].

Berikut ini adalah contoh perintah kill aplikasi Firefox menggunakan PID-

nya setelah freezes :

$ pidof firefox

$ kill 9 2687

OR

$ kill -KILL 2687

OR

$ kill -SIGKILL 2687

3.6 Konsep Pemrosesan pada Sistem Operasi Linux

Sistem operasi dapat mengeksekusi berbagai jenis program. Pada sistem

penumpukan program tersebut biasanya disebut dengan job (kerja), sedangkan pada

sistem time sharing program, disebut dengan program user atau task. Beberapa ahli

menggunakan istilah job atau proses.

Proses adalah tahapan program yang sedang dieksekusi. Dan Eksekusi

proses dilakukan secara berurutan. Dalam suatu proses terdapat program counter,

stack dan daerah data. Penjadwalan merupakan kumpulan kebijaksanaan dan

Analisis Sistem Operasi Berbasis Linux | P a g e 55


mekanisme di sistem operasi yang berkaitan dengan urutan kerja yang dilakukan

sistem komputer. Proses penjadwalan yang akan dibahas disini adalah proses

penjadwalan sistem operasi Solaris dan Linux.

Tujuan utama penjadwalan proses optimasi kinerja menurut kriteria tertentu,

dimana kriteria untuk mengukur dan optimasi kerja penjadwalan. Penjadwalan

CPU adalah basis dari multi programming sistem operasi. Dengan cara men-switch

CPU diantara proses, maka akan berakibat sistem operasi bisa membuat komputer

produktif. Dalam bab ini kami akan mengenalkan tentang dasar dari konsep

penjadwalan dan beberapa algoritma penjadwalan. Pada sistem Operasi, terdapat 3

tipe penjadwal berada secara bersama-sama pada sistem operasi yang kompleks,

yaitu:

a.Penjadwal jangka pendek (short term scheduller)

Bertugas menjadwalkan alokasi pemroses diantara proses-proses ready di

memori utama. Penjadwalan ini dijalankan setiap terjadi pengalihan proses untuk

memilih proses berikutnya yang harus dijalankan.

b. Penjadwal jangka menengah (medium term scheduller)

Setelah eksekusi selama suatu waktu, proses mungkin menunda sebuah

eksekusi karena membuat permintaan layanan masukan/keluaran atau memanggil

suatu system call. Proses-proses tertunda tidak dapat membuat suatu kemajuan

menuju selesai sampai kondisi-kondisi yang menyebabkan tertunda dihilangkan.

Agar ruang memori dapat bermanfaat, maka proses dipindah dari memori

utama ke memori sekunder agar tersedia ruang untuk proses-proses lain. Kapasitas

memori utama terbatas untuk sejumlah proses aktif. Aktivitas pemindahan proses
Analisis Sistem Operasi Berbasis Linux | P a g e 56
yang tertunda dari memori utama ke memori sekunder disebut swapping. Proses-

proses mempunyai kepentingan kecil saat itu sebagai proses yang tertunda. Tetapi,

begitu kondisi yang membuatnya tertunda hilang dan dimasukkan kembali ke

memori utama dan ready.

c. Penjadwal jangka panjang (long term scheduller)

Penjadwalan ini bekerja terhadap antrian batch dan memilih batch berikutnya

yang harus dieksekusi. Batch biasanya berupa proses-proses dengan penggunaan

sumber daya yang intensif (yaitu waktu pemroses, memori, masukan/keluaran),

program-program ini berprioritas rendah, digunakan sebagai pengisi (agar

pemroses sibuk) selama periode aktivitas job-job interaktif rendah. Meskipun tiap-

tiap proses terdiri dari suatu kesatuan yang terpisah namun adakalanya proses-

proses tersebut butuh untuk saling berinteraksi. Satu proses bisa dibangkitkan dari

output proses lainnya sebagai input. Pada saat proses dieksekusi, akan terjadi

perubahan status. Status proses didefiniskan sebagai bagian dari aktivitas proses

yang sedang berlangsung saat itu. Gambar dibawah, ditunjukkan diagram status

proses. Status proses terdiri dari :

 New, proses sedang dibuat.

 Running, proses sedang dieksekusi.

 Waiting, proses sedang menunggu beberapa event yang akan terjadi (seperti

menunggu untuk menyelesaikan I/O atau menerima sinyal).

 Ready, proses menunggu jatah waktu dari CPU untuk diproses.

 Terminated, proses telah selesai dieksekusi.

Analisis Sistem Operasi Berbasis Linux | P a g e 57


Secara blog diagram, maka dapat digambarkan sebagai berikut :

Gambar 3.6.1 Urutan proses pada sistem operasi

Masing-masing proses direpresentasikan oleh Sistem Operasi dengan

menggunakan Process Control Block (PCB). Informasi yang terdapat pada

setiap proses meliputi :

 Status Proses. New, ready, running, waiting dan terminated.

 Program Counter. Menunjukkan alamat berikutnya yang akan dieksekusi

oleh proses tersebut.

 CPU Registers. Register bervariasi tipe dan jumlahnya tergantung arsitektur

komputer yang bersangkutan. Register-register tersebut terdiri-atas:

accumulator, index register, stack pointer, dan register serbaguna dan

beberapa informasi tentang kode kondisi. Selama Program Counter

berjalan, status informasi harus disimpan pada saat terjadi interrupt.

 Informasi Penjadwalan CPU. Informasi tersebut berisi prioritas dari suatu

proses, pointer ke antrian penjadwalan, dan beberapa parameter

penjadwalan yang lainnya.

Analisis Sistem Operasi Berbasis Linux | P a g e 58


 Informasi Manajemen Memori. Informasi tersebut berisi nilai (basis) dan

limit register, page table, atau segment table tergantung pada sistem

memory yang digunakan oleh sistem operasi.

 Informasi Accounting. Informasi tersebut berisi jumlah CPU dan real time

yang digunakan, time limits, account numbers, jumlah job atau proses.

 Informasi Status I/O. Informasi tersebut berisi deretan I/O device (seperti

tape driver) yang dialokasikan untuk proses tersebut, deretan file yang

dibuka.

Swithing proses dari proses satu ke proses berikutnya, ditunjukkan seperti

gambar berikut ini.

Gambar 3.6.2 Kriteria Penjadwalan

3.6.1 Hardening HTTP Security Headers Pada Linux Server

Analisis Sistem Operasi Berbasis Linux | P a g e 59


A. Penerapan Content Security Policy Agar Server Lebih Aman

Content Security Policy atau CSP adalah pengaturan tambahan yang

diterapkan melalui respon HTTP Headers. kegunaan dari CSP sendiri adalah untuk

mencegah eksploitasi XSS maupun serangan dengan kode injeksi lainnya pada

server. Dengan Content Security Policy kita bisa megatur sumber mana saja yang

diijinkan untuk diload di server kita sehingga jika attacker mencoba menyisipkan

kode exploit dari sumber yang tidak dipercaya maka browser akan memblokir.

B. X-XSS-Protection

XSS Protection sudah didukung secara defult untuk browser modern. Namun

jika ingin menambahkan rule ini ke http-header, maka browser lama pun akan

dipaksa untuk memblokir serangan xss.Penerapan pada server :

Enable in Nginx

add_header x-xss-protection "1; mode=block" always;

C. HTTP Strict Transport Security (HSTS)

Strict-transport-security adalah pengaturan tambahan yang membatasi web

browser untuk mengakses server web hanya melalui HTTPS. Hal ini memastikan

koneksi tidak dapat membangun melalui koneksi HTTP tidak aman yang bisa

rentan terhadap serangan. Penerapan pada server :

strict-transport-security:max-age=31536000;

includeSubDomains; preload

D. X-Frame-Options

Rule ini membantu untuk memblokir clickjacking pada server dengan

memblokir iframe pada web kita. penerapan pada server :


Analisis Sistem Operasi Berbasis Linux | P a g e 60
Enable in Nginx

add_header x-frame-options "SAMEORIGIN" always;

Enable in Apache

header always set x-frame-options "SAMEORIGIN"

E. Public-Key-Pins

Tweaking ini mungkin sangat berguna untuk situs situs perbelanjaan online dan

internet banking. public-key-pin memberitahu web browser untuk mengaitkan public

keys dengan web server tertentu untuk mencegah serangan MITM yang berbahaya.

F. X-Content-Type-Options

Hal ini mencegal Internet Explorer dan Google Chrome melakukan sniffing dari

tipe file yang kita akses. Hal ini mengurangi resiko pengguna mengupload file yang

tidak sah ke server kita. Seperti memanipulasi nama file (contohnya :

gambar.xxxjpg), yang akhirnya lolos dan tereksekusi sebagai backdoor secara

normal. Penerapan pada server :

Enable in Nginx

add_header X-Content-Type-Options "nosniff" always;

Enable in Apache

Header always set X-Content-Type-Options "nosniff"

3.6.2 Kernel Generic dan Low Latency.


Pada kernel generic itu umumnya konfigurasi yang mengakomodasi

penggunaan sistem secara luas dari desktop sampai server. Dalam sistem generik

kernel membagi sumber daya mesin secara relatif merata, baik untuk servis maupun

Analisis Sistem Operasi Berbasis Linux | P a g e 61


untuk user desktop. karena pembagian sumber daya yang merata ini maka kerja

mesin / sistem operasi jasi stabil.

Sedangkan pada kernel low-latency, tujuan dibuat kernel ini adalah untuk

mengurangi latensi. Kekurangannya, kernel ini bekerja lebih berat (real time)

sehingga benar benar embutuhkan resource lebih. Inilah kenapa kernel low-latency

tidak dipasang secara default. Masih banyak yang beranggapan kernel low-latency

akan meningkatkan performa sistem operasi GNU/Linux yang dipakai. Generic

kernel itu sudah cukup optimal buat mengerjakan hal-hal produksi atau keseharian

yang tidak butuh proses interaksi/feedback secara realtime (desgraf, membuat

makalah, illustrasi). Sedangkan real-time/low-latency khusus dibutuhkan kalau

memang memang kegiatan/produksi yang dibutuhkan di komputer itu harus punya

feedback realtime seperti bermain instrument musik lewat DAW, MRI scanning di

kedokteran.

Gambar 3.6.1 Kernel Generic dan Low Latency

Analisis Sistem Operasi Berbasis Linux | P a g e 62


Dapat dilihat dari grafik diatas, dengan spesifikasi yang sama kernel generic

mampu mendapatkan fps lebih tinggi dari kernel low-latency.

A Low-Latency Kernel For Linux Gaming

Dari table yang didapat dari linux foundation pun menunjukkan bagaimana

kernel real-time atau low-latency ini dibutuhkan. Dan memang kernel ini

diperuntukkan bukan untuk kegunaan sehari hari (mengetik dan kegiatan kantoran

lainnya) maupun buat gaming.

Gambar 3.6.2 Kernel Linux berdasarkan real time classification

Singkatnya, Low Latency cuman berefek signifikan untuk hal yang berkaitan

input audio sama live performing. Jadi tidak ada hubungannya dengan performa

yang lain. Kekurangan kernel ini sendiri adalah karena membutuhkan respon real-

time inilah butuh resource lebih. Sehingga kalau laptop tidak memiliki spesifikasi

yang cukup, alih alih dapet performa lebih, yang ada malah makin lag.

Analisis Sistem Operasi Berbasis Linux | P a g e 63


3.6.3 Mengenal File System Ext2, Ext3, Ext4 di Linux
File system adalah system yang dirancang untuk menyimpan file pada

perangkat penyimpanan data, baik itu pada perangkat dalam komputer (Harddisk)

atau perangkat diluar komputer (Flashdisk, Harddisk eksternal, dll), setiap media

penyimpan memiliki kapasitas tertentu agar dapat dibaca oleh sistem operasi yang

ada. seperti FAT 16, FAT 32, dan NTFS yang merupakan file system di Windows,

Ext2, Ext3, dan Ext4 di Linux, dan HFS di Mac OS.

Pada bagian ini akan membahas file system pada Linux, di Linux

menggunakan file system Ext /Extended, yang terbagi menjadi 3 yaitu Ext2, Ext3,

dan Ext4 yang masing-masing adalah penyempurnaan dari file system sebelumnya

1.Ext2 – Second Extended File System 2

Deskripsi dan Tujuan:

Ext2 pertama kali dikembangkan dan diintegrasikan pada kernel Linux, dan

sekarang ini sedang dikembangkan juga penggunaannya pada sistem operasi

lainnya.

Tujuannya adalah untuk membuat suatu file system yang powerful, yang dapat

mengimplementasikan file-file semantik dari UNIX dan mempunyai pelayanan

advance features.

Kemampuan:

 File system Ext2 mampu menyokong beberapa tipe file yang standar dari

UNIX, seperti regular file, directories, device special files, dan symbolic

links.

 Ext2 mampu mengatur file-file system yang dibuat dalam partisi yang besar.
Analisis Sistem Operasi Berbasis Linux | P a g e 64
 File system Ext2 mampu menghasilkan nama-nama file yang panjang.

Maximum 255 karakter.

 Ext2 memerlukan beberapa blok untuk super user (root).

2. Ext3 – Third Extended File System

Deskripsi dan Tujuan:

Ext3 merupakan suatu journalled file system, journalled file system didesain untuk

membantu melindungi data yang ada di dalamnya. Dengan adanya journalled

filesystem, maka kita tidak perlu lagi untuk melakukan pengecekan kekonsistensian

data, yang akan memakan waktu sangat lama bagi harddisk yang berkapasitas besar.

Ext3 adalah suatu filesystem yang dikembangkan untuk digunakan pada sistem

operasi Linux. Ext3 merupakan hasil perbaikan dari Ext2 ke dalam bentuk Ext2

yang lebih baik dengan menambahkan berbagai macam keunggulan. Kelebihan:

 Ext3 tidak mendukung proses pengecekan file system, bahkan ketika system

yang belum dibersihkan mengalami “shutdown”, kecuali pada beberapa

kesalahan hardware yang sangat jarang.

 Hal seperti ini terjadi karena data ditulis atau disimpan ke dalam disk dalam

suatu cara sehingga file system-nya selalu konsisten.

 Waktu yang diperlukan untuk me-recover Ext3 file system setelah system

yang belum dibersihkan dimatikan

Analisis Sistem Operasi Berbasis Linux | P a g e 65


 Tidak tergantung dari ukuran file system atau jumlah file; tetapi tergantung

kepada ukuran “jurnal” yang digunakan untuk memelihara konsistensi.

Jurnal dengan ukuran awal (default)

 Membutuhkan sekitar 1 sekon untuk recover (tergantung dari kecepatan

hardware).

Perbandingan Ext2 dan Ext3: Secara umum prinsip-prinsip dalam Ext2 sama

dengan Ext3. Metode pengaksesan file, keamanan data, dan penggunaan disk space

antara kedua file system ini hampir sama. Perbedaan mendasar antara kedua file

system ini adalah konsep journaling file system yang digunakan pada Ext3. Konsep

journaling ini menyebabkan Ext2 dan Ext3 memiliki perbedaan dalam hal daya

tahan dan pemulihan data dari kerusakan. Konsep journaling ini menyebabkan Ext3

jauh lebih cepat daripada Ext2 dalam melakukan pemulihan data akibat terjadinya

kerusakan.

3.Ext4 – Fourth Extended File System

Deskripsi dan Tujuan

Ext4 dirilis secara komplit dan stabil berawal dari kernel 2.6.28 jadi apabila distro

anda yang secara default memiliki versi kernel tersebuat atau di atas nya otomatis

system anda sudah support Ext4 (dengan catatan sudah di include kedalam

kernelnya) selain itu versi e2fsprogs harus mengunakan versi 1.41.5 atau lebih.

Kelebihan:

 Telah dinyatakan stabil dan didukung sejak kernel linux 2.6.28.

Analisis Sistem Operasi Berbasis Linux | P a g e 66


 Didesign untuk memberikan performance yang lebih baik dan peningkatan

kemampuan.

 Dapat meningkatkan daya tampung maksimal filesystem ke 1 Exa Byte

(1,048,576 Tera Byte), dengan ukuran maksimum filesystem dengan 16 TB

untuk maksimum file size nya, Fast fsck, Journal checksumming,

Defragmentation support.

 Mengurangi waktu yang diperlukan untuk melakukan pengecekan hardisk

(fsck yang mana pada Filesystem Ext3, setiap 20-30 kali mount).

 Berdasarkan test benchmark yang dilakukan oleh beberapa benchmarker,

Filesystem Ext4 memiliki keunggulan performance yang significant dalam

menulis dan membaca file berukuran besar.

 Filesystem Ext4 menyisihkan filesystem lain seperti xfs, jfs, Reiserfs dan

Ext3. Dalam kasus Ubuntu 9.04, filesystem Ext4 di curigai sebagai faktor

utama yang mempercepat waktu boot Ubuntu 9.04. Filesystem Ext4 juga

meningkatkan umur hidup media flash seperti SSD. Karena filesystem Ext4

tidak melakukan penulisan data layaknya Filesystem Ext3 yang menulis

beberapa kali.

Jadi kesimpulannya, jika menggunakan GNU/Linux terbaru, lebih baik gunakan

ext4 karena ini merupakan penyempurnaan dari file system sebelumnya.

3.6.4 Perintah Dasar "find" di Linux


Adapun format umum perintah find adalah sebagai berikut :

find lokasi kriteria pencarian aksi

Analisis Sistem Operasi Berbasis Linux | P a g e 67


Lokasi. Lokasi yang dimaksud adalah direktori awal dari pencarian. Mudahnya,

pencarian tadi mau dimulai dari direktori apa yang diinginkan.

. - dimulai dari direktori shell berada

/ - dimulai dari root folder

/home - dimulai dari direktori home saja.

dll.

Kriteria Pencarian. Kriteria pencarian berisi syntax find yang telah ditentukan.

 name pola mencari berdasarkan suatu pola nama. Contoh: find /home -

name linuxsec.txt

 perm mencari berdasarkan kode oktal permission access. Contoh: find .

-perm 644 -print

 size n [c] mencari berdasarkan ukuran n blok atau dalam satuan karakter

jika menggunakan option c. Contoh: find . -size 1 -print

 user mencari berdasarkan owner file atau direktori. Contoh: find /home

-user rdp -print

 atime plus_minus_n mencari berdasarkan waktu akses terakhir. Contoh:

find . -atime 5 -print

 mtime plus_minus_n mencari berdasarkan waktu modifikasi terakhir.

Contoh: find . -mtime -10 -print

 ctime plus_minus_n mencari berdasarkan perubahan terakhir pada status

berkas (karena diciptakan atau diubah). Contoh: find . -ctime +2 -

print

Analisis Sistem Operasi Berbasis Linux | P a g e 68


 newer mencari usia yang lebih baru dari suatu berkas. Contoh: find . -

newer linuxsec.txt -print

 type mencari berdasarkan tipe berkas. Contoh: find . -type f -print

.Berikut tipe tipe berkas yang bisa gunakan dalam perintah find :

- file/berkas spesial berbasis blok

- file/berkas spesial berbasis karakter

- direktori

- pipa (FIFO)

- file/berkas biasa

- Symbolic Link .

Aksi. Aksi yang dilakukan terhadap berkas atau file yang ditemukan.

 print menampilkan berkas-berkas yang cocok dengan kriteria pencarian

ke layar.

 exec command menjalankan perintah UNIX command terhadap berkas-

berkas yang didapatkan. Perintah cmd harus diakhiri dengan \; sedangkan

argumen cmd harus ditulis dengan tanda {}. Contoh: find . -size 10c -exec

rm{} \;

Lantas apakah kita bisa menggunakan beberapa kriteria pencarian sekaligus ? Tentu

bisa. Contoh, ingin mencari file di direktori /home, dengan pemilik file/folder

linuxsecorg,type file, permission 644, dan nama file mangandung kata history.

Maka perintahnya :

Analisis Sistem Operasi Berbasis Linux | P a g e 69


find /home -user linuxsecorg -type f -perm 644 –name

*history* -print

3.6.5 Perintah Dasar FTP dan SFTP di Linux


Mayoritas pengguna system operasi tentu mengenal banyak FTP Client

seperti Filezilla atau di Windows menggunakan WinSCP. Namun beberapa orang

lebih memilih mengolah file file di server melalui ftp command di terminal karena

dirasa lebih nyaman. Pada pembahasan ini akan membahas perintah perintah apa

saja yang bisa digunakan untuk mengolah file menggunakan FTP.

1.How to Connect. Berikut cara menghubungkan ke FTP.

ftp ftp.freebsd.org

Connected to ftp.geo.freebsd.org.

220 This is ftp0.nyi.freebsd.org - hosted at NYI.net.

Name (ftp.freebsd.org:akame): ftp

331 Please specify the password.

Password:

230 Login successful.

Remote system type is UNIX.

Using binary mode to transfer files.

ftp>

2.Listing Files. Berikut cara melihat isi direktori FTP.

ftp> ls

Berikut contoh output nya :

200 PORT command successful. Consider using PASV.

150 Here comes the directory listing.


Analisis Sistem Operasi Berbasis Linux | P a g e 70
-rw-r--r-- 1 ftp ftp 5430 Jul 18

2014 favicon.ico

-rw-r--r-- 1 ftp ftp 682 Nov 02

2015 index.html

drwxr-xr-x 3 ftp ftp 3 Jul 18

2014 pub

226 Directory send OK.

3. Pindah Direktori

Cara pindah direktori adalah menggunakan command cd.

ftp> cd pub

Contoh Output : 250 Directory successfully changed.

4.Melihat Direktori Kerja

Berikut cara melihat lokasi dimana kita berada sekarang.

ftp> pwd

Contoh Output : 257 "/pub" is the current directory

5. Upload File

Untuk upload single file, bisa gunakan perintah berikut :

ftp> put x.txt

Contoh output :

local: x.txt remote: x.txt

200 PORT command successful

150 Opening BINARY mode data connection for x.txt

226 Transfer complete

Analisis Sistem Operasi Berbasis Linux | P a g e 71


Untuk banyak file, bisa gunakan perintah berikut :

ftp> mput *.txt

6.Membuat dan Menghapus Direktori

Untuk membuat direktori gunakan perintah berikut :

ftp> mkdir linuxsec

Untuk menghapus direktori gunakan perintah berikut :

ftp> rmdir linuxsec

Help. Untuk mengetahui perintah perintah lain di FTP silahkan gunakan perintah

berikut :

ftp> help

ftp> help ntrans

Contoh output :

ntrans set translation table for default file name

mapping

Untuk pengguna SFTP hanya mengganti command awal koneksi dari ftp ke sftp.

sftp linuxsec@ftp.linuxsec.id

Connecting to ftp.linuxsec.id...

linuxsec@ftp.linuxsec.id's password:

sftp>

3.6.6 Perintah Dasar Grep di GNU/Linux


Perintah ini biasanya digunakan untuk mencari string atau kata pada setiap

baris data. Perintah ini menggunakan regex (regular expressions) dalam

pencariannya dan menampilkan setiap baris kata sesuai dengan keyword yang

Analisis Sistem Operasi Berbasis Linux | P a g e 72


cocok. Mode default grep adalah case sensitive, artinya huruf besar kecil

diperhatikan. Jika ingin mengabaikan besar kecilnya huruf tambahkan opsi '-i' pada

command grep.

Disini ada sebuah folder bernama "grep" yang didalamnya terdapat dua file

"grep1.txt" serta "grep2.txt" .

Isi dari grep1.txt adalah :

linuxsec

linuxSec.org

linuxsec lolibuntu

linuxsec hackernews

exploit linuxsec

Isi grep2.txt adalah :

ubuntu linux

ubuntu

xubuntu

xubuntu linux

1.Mencari string pada sebuah file.

grep "linuxsec" grep/grep1.txt

Output :

linuxsec

linuxsec lolibuntu

linuxsec hackernews

exploit linuxsec

Analisis Sistem Operasi Berbasis Linux | P a g e 73


2.Invert pada String. Maksudnya adalah kebalikan dari mencari string yang ada

dalam command grep, invert tujuannya mencari mencari line yang tidak

mengandung string yang dimaksud.

grep -v "linuxsec" grep/grep1.txt

Output :

linuxSec.org

Karena kata yang dicari "linuxsec" case sensitive.

3.Mencari string pada semua file di Folder

Selanjutnya adalah mencari string yang terdapat pada file file yang terletak pada

suatu folder.

grep -Ri "linux" .

Output :

./grep/grep1.txt:linuxsec

./grep/grep1.txt:linuxSec.org

./grep/grep1.txt:linuxsec lolibuntu

./grep/grep1.txt:linuxsec hackernews

./grep/grep1.txt:exploit linuxsec

./grep/grep2.txt:ubuntu linux

./grep/grep2.txt:xubuntu linux

Tambahan command "-i" agar besar kecil huruf diabaikan.

4.Menghitung Banyak String

grep -Rc "linux" .

Analisis Sistem Operasi Berbasis Linux | P a g e 74


Output

./grep/grep1.txt:5

./grep/grep2.txt:2

Ada 5 string "linux" di file 1 dan 2 di file grep2.txt

5. Memberi warna pada output pencarian

grep --color -Ri "linux" .

Output :

./grep/grep1.txt:linuxsec

./grep/grep1.txt:linuxSec.org

./grep/grep1.txt:linuxsec lolibuntu

./grep/grep1.txt:linuxsec hackernews

./grep/grep1.txt:exploit linuxsec

./grep/grep2.txt:ubuntu linux

./grep/grep2.txt:xubuntu linux

6. Mencari dua string yang berbeda

Contoh file grep3.txt memiliki isi berikut :

linuxsec adalah situs untuk belajar mengenai GNU/linux

dan opensource

di linuxsec kalian juga bisa belajar mengenai security

news.linuxsec.org mengabarkan kasus peretasan di

Indonesia

Misal ingin mencari kata linux dan Indonesia.

grep -Ri '[linux|indonesia]' .

Analisis Sistem Operasi Berbasis Linux | P a g e 75


Output

/grep3.txt:linuxsec adalah situs untuk belajar mengenai

GNU/linux dan opensource

./grep3.txt:di linuxsec kalian juga bisa belajar

mengenai security

./grep3.txt:news.linuxsec.org mengabarkan kasus

peretasan di Indonesia

./grep1.txt:linuxsec

./grep1.txt:linuxSec.org

./grep1.txt:linuxsec lolibuntu

./grep1.txt:linuxsec hackernews

./grep1.txt:exploit linuxsec

./grep2.txt:ubuntu linux

./grep2.txt:lolibuntu

./grep2.txt:xubuntu

./grep2.txt:xubuntu linux

3.6.7 Pemograman Bash Shell dan 10 Perintah Dasar Linux


Bash adalah singkatan dari Bourne Again SHell, versi baru dari Bourne Shell

yang dikembangkan oleh Steve Bourne. Bash ini adalah shell yang paling umum

digunakan pengguna Linux. Shell adalah program yang menjadi jembatan antara

perintah yang dimasukkan user melalui input dari keyboard dengan sistem operasi

Analisis Sistem Operasi Berbasis Linux | P a g e 76


untuk melakukan perintah yang dimasukkan user tersebut. Sekarang ini, program

seperti shell ini sudah tergantikan oleh user interface yang lebih mudah digunakan.

Pemrograman bash shell itu sendiri adalah pemrograman kumpulan perintah

menggunakan script yang ditulis ke dalam bash shell, sehingga nantinya dapat

dieksekusi oleh sistem operasi. Selain bash shell, ada banyak shell lainnya yang

bisa digunakan untuk programming, namun penggunaan bash lebih fleksibel karena

script yang ditulis lebih kompatibel untuk dibaca dari mesin yang berbeda, distro

linux yang berbeda , atau bahkan sistem operasi yang berbeda. Pemrograman

menggunakan shell terutama bash shell berkembang terus sampai sekarang karena

penggunaannya di kalangan system administrator sangat dibutuhkan.

Bagaimana Konsep dari Pemrograman Bash Shell?

Konsep kerja dari pemrograman bash shell hampir mirip dengan bahasa

pemrograman lainnya. Pemrograman bash shell juga menggabungkan perintah-

perintah untuk memilih suatu kondisi, memproses suatu I/O, looping, dan membuat

fungsi-fungsi yang dapat dijalankan user. Konsep pemrograman bash shell ini akan

mudah dipelajari apabila kita sudah mengetahui perintah-perintah sederhana yang

ada di bash shell seperti whoami, cd, cat, dan lainnya. Dengan penguasaan perintah-

perintah sederhana ini, pemrograman bash shell akan membuat pekerjaan user

menjadi lebih efektif. Hal penting yang harus diketahui sebelum menggunakan

pemrograman bash shell adalah konsep mengenai variabel, format syntax dan

struktur di dalam pemrograman bash shell itu sendiri.

Format syntax dan struktur dalam bash shell programming adalah hal yang

paling penting untuk diketahui. Kita dapat menulis script menggunakan editor

Analisis Sistem Operasi Berbasis Linux | P a g e 77


seperti vim, emacs, gedit, dan dtpad. Namun vim dan emacs adalah yang paling

cocok karena bisa membantu kita dalam membenarkan syntax dari script yang kita

tulis jika kita mengaktifkan fiturnya. File script harus disimpan dalam bentuk .sh.

Kemudian di headernya harus diberikan komentar bahwa script ini merupakan

pemrograman berbasis bash shell seperti contoh dibawah ini.

Kemudian untuk menuliskan string harus diapit oleh tanda petik dan untuk

menggunakan variabel agar dapat ditampilkan harus didahului dengan karakter ‘$’

di depan variabel tersebut.

Untuk menjalankan program yang sudah dibuat, langkah selanjutnya harus

mengubah modenya dulu agar bisa dieksekusi dengan perintah seperti di bawah ini

ls -al untuk melihat mode yang sudah kita ubah seperti di bawah ini. Nama

file scriptnya adalahtest.sh

Dengan mode seperti di atas maka program test dapat dieksekusi dengan

menggunakan perintah seperti di bawah ini dan tampilannya akan seperti di bawah

ini.

Peraturan mengenai syntax pemrograman sesuai standar POSIX dan ANSI-

C.

Variabel adalah sesuatu yang nantinya akan menjadi masukkan, keluaran dan

parameter dari programmer. Variabel di dalam pemrograman bash shell sama

pentingnya dengan variabel dalam bahasa pemrograman lain. Variabel di dalam

bash shell menggunakan huruf kapital keseluruhan untuk penulisannya. Contohnya

adalah PATH, COLOR, dan sebagainya. Variabel di dalam bash shell terdiri dari

tiga jenis yaitu global variabel (environment variabel) yang berlaku di semua shell,
Analisis Sistem Operasi Berbasis Linux | P a g e 78
local variabel yang berlaku di dalam shell yang sedang digunakan dan user defined

variabel yaitu variabel yang dibuat oleh user. Selain dibagi menjadi tiga jenis

tersebut, variabel dapat dibagi berdasarkan tipe datanya yaitu string, integer,

constant, dan array. Cara melihat global variabel dengan menggunakan perintah env

Cara untuk melihat local variabel (bergabung dengan fungsi-fungsi yang ada)

dengan mengetikkan perintah set. Berikut contoh set dari fungsi userdel, di

dalamnya terdapat variabel bernama COMPREPLY.

Ada nama variabel yang sudah digunakan di dalam bash shell, sehingga kita

tidak bisa menggunakan nama variabel tersebut. Cara membuat dan mengassign

suatu nilai ke dalam variabel dengan deklarasi seperti di bawah ini

NAMA adalah nama variabel, kemudian diassign dengan value ‘Penguin’,

ingat pendeklarasian variabel harus tanpa spasi, case sensitive, dan tidak

menggunakan karakter khusus.

Apa Manfaat Pemrograman Bash Shell terutama bagi para System

Administrator ?

Pemrograman bash shell memiliki keuntungan dibandingkan shell lain yaitu

1. Bash shell merupakan shell yang menggabungkan fitur-fitur yang ada di

Korn Shell dan C Shell dengan peningkatan fitur-fitur yang cocok untuk

programming ataupun penggunaan oleh user secara interaktif. Bash shell

menggunakan standard POSIX yang paling umum digunakan dalam

pemrograman shell.

Analisis Sistem Operasi Berbasis Linux | P a g e 79


2. Bash shell bisa menjalankan hampir semua file .sh (script) tanpa modifikasi

terlebih dahulu

3. Syntax dari bash shell programming sederhana dan tidak bertele-tele, sama

seperti dengan menggabungkan function-function yang sudah ada di dalam

statu file script.

4. Hanya ada sedikit ‘rule’ yang perlu dipelajari untuk menulis program

menggunakan bash shell

5. Pemrograman menggunakan shell merupakan salah satu metode untuk

prototipe aplikasi yang lebih kompleks lagi.

6. Pemrograman menggunakan shell merupakan pendekatan yang paling

mudah dalam hal problem solving, karena masalah yang kompleks dipecah

menjadi sub-sub masalah yang lebih mudah dipecahkan.

7. Manfaat yang paling penting untuk system administrator adalah

memelihara system dengan command-command yang bisa dijalankan

secara otomatis dan berlaku default untuk semua user tanpa user sendiri

yang harus mensetting environment dari system.

Step by step Programming with Bash Shell

Sama halnya dengan pemrograman lainnya, Bash Shell programming juga

dapat melakukan fungsi-fungsi seperti baca input, tulis output, looping, condition

statement, dan sebagainya. Berikut adalah langkah-langkah untuk membuat script

bash programming

 Masuk ke terminal

Analisis Sistem Operasi Berbasis Linux | P a g e 80


 Login sebagai root (kita bisa membuat script tanpa harus login sebagai root)

 Buat script dengan format .sh pada direktori yang diinginkan dengan syntax

.ssh

Contoh:

vi : untuk membuka editor vi yang akan digunakan untuk menuliskan script.

Penggunaan vi dapat diganti dengan editor lain seperti pico, nano, dan

sebagainya

test : nama file

.sh : format data standard yang digunakan dalam bash programming

 Buat script pada editor. Tekan key Insert terlebih dahulu sebelum menulikan

script pada editor. Berikut adalah contoh program sederhana

Setelah selesai menuliskan script, tekan key Esc untuk keluar dari editor lalu

masukkan mode yang diinginkan. Ada beberapa mode yang dapat dilakukan

saat akan keluar dari editor:

– :q keluar editor. Jika ada perubahan, maka akan muncul peringatan

– :q! keluar editor tanpa menyimpan perubahan

– :wq: keluar editor dengan menyimpan perubahan yang dilakukan

 Setelah menyimpan perubahan dengan perintah wq ubah dulu mode dari

script agar bisa dieksekusi dengan perintah chmod ut, jalankan script dengan

perintah ./namafile, seperti terlihat dibawah ini

Analisis Sistem Operasi Berbasis Linux | P a g e 81


Contoh Implementasi Programming Bash Shell dalam pekerjaan Sys Admin

1. Menambah user baru dari file

 Buat file userlist.txtyang berisi daftar nama user baru yang ingin dibuat

 Buat file script dengan nama adduser.sh. Tulis script berikut pada editor

 Penjelasan script:

 Sistem akan membaca daftar nama user baru yang disimpan dalam file

userlist.txtsatu per satu dan disimpan dalam variabel $0. Setelah itu sistem

akan menjalankan perintah useradd -m $0 hingga nama user terakhir.

 Ubah mode file adduser.shdengan perintah chmod u+x adduser.shkemudian

eksekusi program dengan perintah ./adduser.sh

 Cek apakah semua nama user baru telah dibuat dengan perintah cat

/etc/group

2.Mengubah masa aktif password dari anggota grup

Biasanya sys admin harus mengatur masa aktif password satu per satu untuk

setiap user dengan menjalankan perintah chage. Bayangkan jika terdapat 1000 user

yang harus diubah masa aktif password nya. Tentu pekerjaan tersebut

membutuhkan waktu yang lama. Namun dengan membuat sebuah script, proses

tersebut dapat diotomisasi. Berikut adalah contoh script untuk mengubah masa aktif

user dalam suatu grup.

a. Buat file script dengan nama test.sh. Tulis script berikut pada editor

Analisis Sistem Operasi Berbasis Linux | P a g e 82


Penjelasan script:

Sistem akan mengambil semua nama user dalam grup MURID kemudian

disimpan dalam filelistuser.txt. Selanjutkan sistem akan membaca nama user satu

per satu dari fileuser.txt dan disimpan dalam variabel $0. Setelah itu sistem akan

menjalankan perintah chage -M 100 $0 hingga nama user terakhir. Karena

listuser.txt hanya file sementara yang digunakan untuk membantu program ini,

maka setelah program selesai file tersebut dihapus.

 Ganti mode file agar dapat dieksekusi

 Eksekusi program

3. Mencari file dengan ekstensi tertentu ada dalam sebuah direktori

 Buat file script dengan nama test01.sh. Tulis script berikut pada editor

Penjelasan script: Program di atas akan melakukan pengecekan apakah

dalam suatu direktori terdapat file dengan ekstensi .txt atau tidak. Jika ada

file dengan format txt maka akan ditampilkan pesan “File(s) exists.”.

Sebalikanya jika tidak ada maka akan muncul pesan “File does not exist”.

 Ubah mode file test01.sh kemudian eksekusi file tersebut seperti yang telah

dijelaskan di atas.

4.Penggunaan Array dan For Loop

Potongan script di atas menunjukan cara penggunaan array dan for loop

dalam bash programming. Program tersebut akan membaca isi file kemudian

disimpan dalam sebuah array. selanjutnya isi file tersebut akan ditampilkan oleh

Analisis Sistem Operasi Berbasis Linux | P a g e 83


program sebagai output. Untuk mengeksekusi program tersebut jalankan perintah

./. Berikut adalah contoh keluaran program tersebut.

5.Membandingkan variabel

Potongan script di atas menunjukan cara membandingkan dua buah variabel

dalam bash programming. Disini hanya dicontohkan 2 tipe variabel yaitu integer

(NUM1 dan NUM2) serta string (S1 dan S2). Berikut contoh keluaran dari program

tersebut.

Berikut perintah dasar Linux dan fungsinya :

1. ls = melihat isi direktori

2. mkdir = mencipatakan direktori

3. cd = mengubah direktori

4. rmdir = menghapus direktori

5. cat = Menampilkan isi file dan menciptakan file

6. cp = Menyalin file

7. rm = menghapus file

8. mv = mengganti nama file/direktori dan memindahkan file ke direktori lain

9. ln = link ke file lain

10. lp = Mencetak isi file

11. find = mencari file

12. chmod = untuk mengubah model akses terhadap file atau direktori

13. chgrp = mengubah grup fie

Analisis Sistem Operasi Berbasis Linux | P a g e 84


14. chown = mengubah kepemilikan dari file

15. echo = Menampilkan tulisan yang di buat setelah perintah echo dan itu tidak

disimpan.

16. sort = Mengurutkan suatu file teks menurut abjad.

17. cut = Mengambil kolom tertentu dari baris-baris masukannya yang ditentukan

pada option –c.

18. uniq = Menghilangkan baris – baris berurutan yang mengalami duplikasi.

19. locate = Mencari suatu file pada direktori lain yang sedang tidak dikunjungi.

20. finger = Melihat informasi user yang telah ditambahkan oleh perintah chfn.

Tabel 3.11.1 Perintah dasar linux dan fungsinya

Analisis Sistem Operasi Berbasis Linux | P a g e 85


BAB V

PENUTUP

Linux mempunyai sifat yang open, Linux berkembang sangat cepat dimana

source code bisa diperoleh secara cuma-cuma, tidak terkait dengan

perusahaan/vendor berbeda dengan sainganya Windows dari perusahaan/vendor

yang berlabel Microsoft itu. Dan semua penyedia jasa support bisa memberikan

dukungan atau bantuan yang baik secara efektif, bahkan untuk bug fixes. Ini

memberikan keuntungan bagi perusahaan yang memakai Linux sebagai sistem

operasinya, karena tidak perlu mengeluarkan biaya untuk lisensi seperti yang

dibutuhkan jika menggunakan sistem operasi Windows.

Linux sebagai OS open source membolehkan tiap orang untuk turut

berpartisipasi dan ini merupakan salah satu kelebihan Linux sebagai sistem operasi,

banyak variasi dan aplikasi yang dapat kita temukan. Namun bagi pemula, seperti

saya sendiri, banyaknya variasi atau lebih dikenal sebagai distro ini dapat membuat

bingung. Kurangnya pemahaman tentang Linux ditambah banyaknya variasi dapat

membuat kita sebagai pemula menjadi kaget dan mengurungkan niatnya untuk

mencicipi sistem operasi ini. Sebagai pemula, kita hanya perlu tahu untuk memilih

distro yang sesuai dengan apa yang ingin kita dapatkan dari Linux, apakah akan

digunakan sebagai sistem operasi server, sistem operasi multimedia, sistem aplikasi

perkantoran, atau penggunaan sistem operasi lainnya. Jadi, untuk membuat kita

terbiasa menggunakan sistem operasi Linux layaknya ketika kita menggunakan

sistem operasi Windows kita harus terus mencoba dan terus mencoba. Lama-lama

Analisis Sistem Operasi Berbasis Linux | P a g e 86


alasan kalau Linux itu sulit, terlalu banyak perintah berbasis teks, tampilan GUI-

nya kurang menarik, dan atau alasan lainnya lenyap dari dunia sistem operasi.

Demikianlah makalah yang kami buat ini, semoga bermanfaat dan menambah

pengetahuan para pembaca. Sekali lagi mohon maaf apabila terdapat kesalahan

ejaan dalam penulisan kata dan kalimat yang kurang jelas, dimengerti, dan lugas.

Sekian penutup dari kami semoga dapat diterima di hati dan kami ucapkan terima

kasih yang sebesar-besarnya.

Analisis Sistem Operasi Berbasis Linux | P a g e 87


DAFTAR PUSTAKA

Perintah Dasar FTP dan SFTP di Linux. 19 Juni 2017. Diakses dari :

http://bit.ly/2rEzOl7

Pengenalan Tampilan Desktop Environment Pada Linux . 19 Juni 2017

Diakses dari : http://bit.ly/2soymAz

Linux Process Management,19 Juni 2017. Diakses dari :

http://bit.ly/2un7HVn

Understanding memory information on Linux systems. 19 Juni 2017

Diakses dari : http://bit.ly/2uHXKkC

Analisis Sistem Operasi Berbasis Linux | P a g e 88

Anda mungkin juga menyukai