BAB II LANDASAN TEORI

dokumen-dokumen yang mirip
2.6. Struktur dasar sistem operasi

SISTEM OPERSI. bertugas untuk melakukan control dan manajemen perangkat keras serta operasi-operasi dasar system, dan menjalankan software aplikasi.

Sejarah dan Rancangan Dasar GNU/Linux

Pengenalan Linux. Kata "Linux" untuk saat ini sudah tidak asing lagi bagi para pengguna internet

Sistem Operasi. Nama : Bram Dermawan NIM : Kelas : 21 PROGRAM STUDI SISTEM INFORMASI FAKULTAS TEKNOLOGI INFORMASI

INSTALASI SISTEM OPERASI KOMPUTER. Nur Rahmad Suhendra. Pertemuan pertama

SISTEM OPERASI LINUX

Struktur Sistem Operasi

Process Control Block Keadaan proses Program counter Informasi manajemen memori Informasi pencatatan Informasi status I/O PCB CPU register

Arsitektur Sistem Operasi

MODUL 3 STRUKTUR SISTEM OPERASI M. R A J A B F A C H R I Z A L - S I S T E M O P E R A S I - C H A P T E R 2

BAB 1 PENDAHULUAN Latar Belakang

SEJARAH LINUX. Dara Hana Wardani. Abstrak

PERANGKAT LUNAK KOMPUTER

Struktur OS. Fak. Teknik Jurusan Teknik Informatika.

BAB I PENDAHULUAN. 1.1 Virtualisasi

BAB II TINJAUAN PUSTAKA. Sistem Operasi adalah sebuah perangkat lunak (software) yang berfungsi

BAB III METODOLOGI PENELITIAN. Berikut adalah tahapan penelitian yang dilakukkan oleh penulis :

SISTEM OPERASI II Pertemuan 1

BAB I PENGANTAR LINUX

Sistem Operasi. Teknologi Informasi

LAPORAN AWAL Perangkat Lunak Jaringan 1 NAMA : DIAN BAYU NIM : KELAS : C

BAB II. KAJIAN PUSTAKA

BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah

Sistem Operasi Outline. Rules. Sistem Operasi Picture. Pendahuluan 9/9/2016. Who Am I? Ricky Maulana Fajri

LINUX. Lely Suryani. Abstrak. Pendahuluan. Pembahasan.

Praktikum I Pengenalan Sistem Operasi Linux

Arsitektur Sistem Operasi WINDOWS

Modul ke: Aplikasi Komputer. Sistem Operasi Komputer. Fakultas EKONOMI DAN BISNIS. Nursidhi, SPd, MDs. Program Studi MANAJEMEN

PERANGKAT LUNAK(SOFTWARE)

Arsitektur Komputer Sistem Operasi

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB I PENDAHULUAN. Dinas Pendidikan, Pemuda dan Olahraga Kota Tanjungpinang merupakan

MODUL 11 PENGENALAN LINUX

STRUKTUR SISTEM OPERASI

BAB III METODOLOGI PENELITIAN. Gambar 3.1 merupakan desain penelitian yang akan digunakan dalam

MODUL 2 KOMPONEN, LAYANAN SISTEM OPERASI M. R A J A B F A C H R I Z A L - S I S T E M O P E R A S I - C H A P T E R 2

Aplikasi Komputer. Pengenalan, fungsi, program-program utilitas dan jenisjenis sistem operasi. Ita Novita, S.Kom, M.T.I. Modul ke:

PENGANTAR APLIKASI KOMPUTER

PERANCANGAN SISTEM INFORMASI PENJUALAN DAN PEMBELIAN GAYA BARU PHOTO BERBASIS CLIENT SERVER (Studi Kasus: Toko Gaya Baru Photo)

BAB III METODOLOGI PENELITIAN

BAB I PENDAHULUAN I-1

Gambar 1.1. Logo Linux

Kernel. Sistem Operasi. STMIK Indonesia Padang Yayasan Amal Bakti Mukmin LINATI IFFAH ( )

BAB 2 Pengenalan Bahasa JAVA

Bab 2: Struktur Sistem Operasi. Komponen Sistem Secara Umum

Struktursistemoperasi, Sysgen. Ptputraastawa.wordpress.com

Sistem Operasi Mobile

Pengantar Sistem Komputer

Bab 2 SISTEM OPERASI

BAB III METODE PENELITIAN

APLIKASI KOMPUTER (APLIKOM) Sistem Operasi. Dr. Suharno Pawirosumarto, S.Kom, MM. Sekilas Tentang Sistem Komputer

1. Setelah kita merakit PC, maka agar hardware dapat berfungsi dan fungsi komputer dapat dijalankan, maka kita harus menginstal... a. BIOS d.

Struktur Sistem Operasi

Tipe Sistem Operasi. Stand alone Network Embedded

STRUKTUR SISTEM OPERASI

E. Ully Artha SISTEM OPERASI

Sistem operasi. Contoh sistem operasi modern adalah Linux, Android, ios, Mac OS X, dan Microsoft Windows

Bab I Pengenalan Sistem Operasi. Apa yang dimaksud Sistem Operasi?

BAB III METODOLOGI PENELITIAN. Berikut tahapan penelitian yang dilakukan: 1. Menentukan kebutuhan data yang akan digunakan.

Pertemuan 2. Struktur Sistem Operasi

BAB I PENDAHULUAN. dalam suatu perusahaan, karena persediaan akan dijual secara terus menerus untuk

SISTEM OPERASI TERDISTRIBUSI

BAB I PENDAHULUAN. SMK Negeri 1 Kota Sukabumi merupakan salah satu sekolah unggulan

Pemgantar Teknologi Informasi

PRAKTIKUM SISTEM OPERASI LAPORAN RESMI MODUL 3 PENGENALAN LINUX ( 1 ) SESI : M1 FADJAR PRADJA WINATA /

Sebagai Kordinator, yang memberikan fasilitas sehingga segala aktivitas yang kompleks dapat dikerjakan dalam urutan yang benar.

BAB I PENDAHULUAN. Suara merupakan salah satu media komunikasi yang paling sering dan

BAB II LANDASAN TEORI

Raihana Rahma Fadhilah

BAB III LANDASAN TEORI. layanan (service) tertentu dalam sebuah jaringan komputer. Server. sebagai sistem operasi jaringan (network operating system).

4. SISTEM OPERASI TERDISTRIBUSI

Network Operating Sistem. Gambar Aristektur dari processor independent

Sistem Operasi Jaringan Komputer

BAB III ANALISIS PRAKTEK KERJA LAPANGAN. bagian-bagian komponennya dengan maksud untuk mengidentifikasikan dan

Penggunakan lebih dari satu CPU untuk menjalankan sebuah program secara simultan. Tujuan Utama Untuk meningkatkan performa komputasi.

BAB I PENDAHULUAN Latar belakang Masalah. Koperasi merupakan suatu wadah yang dapat membantu masyarakat terutama

BAB II PERANGKAT LUNAK

Penggolongan Software. Sistem Operasi Utility Program Paket Program Program Aplikasi Bahasa Pemrograman

Sistem Operasi AGUS PAMUJI. Teknik Informatika

Mata Kuliah Konsep Teknologi Topik : SISTEM OPERASI

Pengantar Teknologi. Informasi (Teori) Minggu ke-01. Konsep Teknologi Informasi. Oleh : Ibnu Utomo WM, M.Kom UNIVERSITAS DIAN NUSWANTORO

BAB 3 METODOLOGI PENELITIAN

LAPORAN PRAKTIKUM MATRIKULASI

BAB III METODOLOGI PENELITIAN

LINUX. by: Ahmad Syauqi Ahsan

BAB III ANALISIS DAN PERANCANGAN

Pemrograman Berbasis Objek. Pengenalan Java. Entin Martiana. Politeknik Elektronika Negeri Surabaya

Pengantar Sistem Operasi

BAB III OBJEK DAN METODE PENELITIAN. berlokasi di Jl. Leuwi Panjang No. 111 Bandung Telpon Terbaik dalam pelayanan servis di bengkel.

MAKALAH. Disusun Untuk Melengkapi Tugas. Dosen : Dadan irwan ST

1 BAB III METODE PENELITIAN

Studi Kasus: GNU/Linux

BAB 3 Metode dan Perancangan 3.1 Metode Top Down

1. Hardware terdistribusi. 2. Program terdistribusi. Nama : Gede Doddi Raditya Diputra NIM : Kelas : 5.C

Proses. - yaitu program yang sedang dieksekusi Proses merupakan satuan kerja terkecil yang secara individual dijadwalkan oleh sistem operasi

Berikut langkah-langkah penelitian yang dilakukan: 1. Menentukan kebutuhan data yang akan digunakan.

BAB I PENDAHULUAN. dizalimi. Prinsip dasar ini mempunyai implikasi yang sangat luas dalam bidang

TEKNOLOGI APLIKASI WEB BERBASIS SERVER

Pengenalan JAVA. Farhat, ST., MMSI., MSc

Transkripsi:

BAB II LANDASAN TEORI 2.1 Sistem Operasi Sistem operasi merupakan perantara antara program aplikasi, utilitas, dan pengguna di satu pihak, dengan hardware sistem komputer di pihak lain. [Stalling, 2005] Sistem operasi adalah sekumpulan rutin perangkat lunak yang berada di antara program aplikasi dan perangkat keras. [Hariyanto, 2009] Sistem operasi adalah perangkat lunak sistem komputer yang membantu perangkat keras dalam menjalankan fungsi-fungsi manajemen proses. [Denning, 1981] Dari definisi di atas dapat disimpulkan bahwa sistem operasi merupakan perangkat lunak sistem komputer yang bertanggung jawab mengelola sumber daya sistem komputer, baik sumber daya fisik maupun sumber daya abstrak serta menyediakan layanan untuk mengakses sumber daya tersebut. 2.1.2 Arsitektur Sistem Operasi Menurut Hariyanto, Arsitektur perangkat lunak merupakan struktur-struktur yang menjadi landasan untuk menentukan keberadaan komponen-komponen perangkat lunak, cara komponen-komponen saling berinteraksi dan organisasi komponen-komponen dalam membentuk perangkat lunak. Arsitektur sistem operasi adalah arsitektur perangkat lunak yang digunakan 8

9 dalam membangun perangkat lunak sistem operasi. Arsitektur sistem operasi yang terkenal antara lain: [Hariyanto, 2009] 2.1.2.1 Sistem Monolitik Sistem operasi sebagai kumpulan prosedur bahwa prosedur-prosedur di dalamnya dapat saling memanggil bila perlu. Kernel berisi semua layanan yang disediakan oleh sistem operasi. Seluruh komponen sistem operasi berada di satu ruang alamat. [Hariyanto, 2009] a. Kelemahan 1) Pengujian dan penghilangan kesalahan sulit karena tidak dapat dipisahkan dan dilokalisasi, namun praktik pemrograman yang berdisiplin bagus dapat mempermudah pengembangan. 2) Sulit dalam menyediakan fasilitas pengamanan. 3) Merupakan pemborosan apabila setiap komputer harus menjalankan kernel monolitik yang sangat besar sementara sebenarnya tidak memerlukan seluruh layanan yang disediakan kernel. Tidak fleksibel 4) Kesalahan pemrograman di satu bagian kernel dapat menyebabkan matinya seluruh sistem. b. Keunggulan Layanan dapat dilakukan sangat cepat karena terdapat di satu ruang alamat.

10 c. Evolusi Sampai saat ini, sebagian besar UNIX berstruktur monolitik. Meskipun monolitik bahwa seluruh komponen / subsistem di satu ruang alamat tetapi secara rancangan adalah berlapis / modular. Rancangan berlapis ialah satu komponen / subsistem merupakan lapisan lebih bawah dibanding lainnya secara logis dan menyediakan layanan-layanan untuk lapisan-lapisan lebih atas. Komponenkomponen tersebut kemudian dikompilasi dan ditautkan (di-link) menjadi satu ruang alamat. Saat ini, untuk mempermudah dalam pengembangan terutamam pengujian dan fleksibilitas, sebagian UNIX menggunakan konsep loadable kernel modules, yaitu: a) Bagian-bagian kernel terpenting berada di memori utama secara tetap. b) Bagian-bagian esensi lain dapat berupa modul yang dapat ditambahkan ke kernel saat diperlukan dan dicabut begitu tidak digunakan lagi diwaktu jalan (run-time). Kernel loadable module yang disisipkan ke kernel akan menjadi satu bagian dengan kernel. Dengan demikian, kesalahan yang terdapat pada loadable kernel module dapat menyebabkan seluruh sistem mati. [Hariyanto, 2009] 2.1.2.2 Sistem Berlapis Sistem operasi dibentuk secara hirarki berdasarkan lapisan-lapisan, dalam hal ini lapisan-lapisan bawah memberi layanan untuk lapisan lebih atas. Masingmasing lapisan di satu ruang alamat tersendiri. Sistem operasi berlapis yang

11 pertama kali memakai sistem berlapis adalah THE. THE dibuat oleh Dijkstra dan mahasiswa-mahasiswanya. Struktur berlapis dimaksudkan untuk mengurangi kompleksitas rancangan dan implementasi sistem operasi. Sistem lapisan mempunyai fungsional dan antarmuka input-ouput dengan dua lapisan bersebelahan yang dapat berfungsi dengan baik. [Hariyanto, 2009] Tabel 2.1 Lapisan-lapisan pada sistem operasi THE. (Hariyanto, 2009) Lapisan Nama Fungsi 0 Processor allocation & multiprogramming Mengatur alokasi pemroses dan switching, multiprogramming dan pengaturan prosessor. Alokasi ruang memori atau drum. 1 Memory & drum management 2 Operator process Mengatur komunikasi antar proses. communication 3 I/O management Penyederhanaan akses I/O pada level atas. 4 User program Untuk program pemakai. 5 Operator Untuk operator. Lapisan n memberi layanan untuk lapisan n+1. Proses-proses di lapisan n dapat meminta layanan lapisan n-1 untuk membangun layanan untuk lapisan n+1. Kebalikan tidak dapat, lapisan n tidak dapat meminta layanan n+1. Masingmasing lapisan berjalan di ruang alamat-nya sendiri. a. Keunggulan Sistem berlapis memiliki semua keunggulan rancangan yang modular, yaitu sistem terbagi dalam beberapa modul. Masing-masing lapisan atau modul itu dapat dirancang, dikode, dan diuji secara independen. Pendekatan berlapis menyederhanakan rancangan, spesifikasi, dan implementasi sistem operasi.

12 b. Kelemahan Fungsi-fungsi sistem operasi yang harus diberikan ke masing-masing lapisan harus dilakukan secara hati-hati. [Hariyanto, 2009] 2.1.2.3 Sistem Client / Server Sistem operasi merupakan kumpulan proses, dalam hal ini proses-proses dikategorikan menjadi server dan client. Server dan client berinteraksi, saling melayani yaitu: a. Server adalah proses yang menyediakan layanan b. Client adalah proses yang memerlukan/ meminta layanan Proses client yang memerlukan layanan mengirim pesan permintaan ke server dan menanti pesan jawaban. Proses server melakukan tugas yang diminta. Setelah itu, proses server mengirim hasil dalam bentuk pesan jawaban ke proses client. Proses server hanya menanggapi permintaan client dan tidak memulai percakapan dengan client. Dengan arsitektur client/ server, kode dapat diangkat ke level tinggi sehingga kernel dapat dibuat sekecil mungkin. Hampir semua tugas diangkat menjadi proses level pemakai. Kernel hanya mengatur komunikasi antara client dan server. Kernel yang berukuran kecil ini populer dengan sebutan microkernel. [Hariyanto, 2009]

13 a. Masalah Tidak semua tugas dapat dijalankan di tingkat pemakai (sebagai proses pemakai). Kesulitan ini diatasi dengan antara lain: 1) Proses server kritis tetap di kernel, yaitu proses yang biasanya berhubungan dengan perangkat keras. 2) Mekanisme ke kernel seminimal mungkin sehingga pengaksesan ruang pemakai dapat dilakukan secara cepat. Untuk sistem-sistem besar dengan banyak proses server dikendaki supaya proses client transparan dalam meminta layanan sehingga tidak menyulitkan pemrogram. b. Keunggulan 1) Pengembangan dapat dilakukan secara modular. 2) Kesalahan (bugs) di satu subsistem (diimplementasikan sebagai satu proses tersendiri) tidak merusak subsistem-subsistem lain sehingga tidak mengakibatkan satu sistem mati secara keseluruhan. 3) Mudah diadaptasi untuk sistem tersebar (distibuted system). c. Kelemahan 1) Layanan dilakukan secara lambat karena harus melalui pertukaran pesan. 2) Pertukaran pesan dapat menjadi bottleneck. [Hariyanto, 2009]

14 2.1.2.4 Sistem Mesin Maya (Virtual Machine). Awalnya struktur ini membuat seolah-olah semua pemakai mempunyai seluruh komputer sendirian. Teknik yang digunakan adalah dengan simulasi atas pemroses yang digunakan. Sistem operasi melakukan simulasi dengan banyak mesin nyata. Mesin maya hasil simulasi digunakan pemakai. Mesin maya ini merupakan tiruan seratus persen atas mesin nyata. Satu pemakai diberi satu mesin maya. Semua pemakai diberi ilusi mempunyai satu mesin nyata (maya) yang sama-sama canggih. Pendekatan ini memberikan fleksibilitas tinggi sehingga sampai memungkinkan sistem operasi - sistem operasi berbeda dapat dijalankan di mesin maya - mesin maya berbeda oleh pemakai - pemakai yang berbeda. Implementasi yang efisien merupakan masalah yang sulit karena sistem menjadi besar dan kompleks. Teknik ini berkembang menjadi operating system emulator sehingga sistem operasi dapat menjalankan aplikasi-aplikasi untuk sistem operasi lain. a. Sistem operasi MS-Windows NT dapat menjalankan aplikasi untuk MS-DOS, OS/2 mode teks dan aplikasi Win16. Aplikasi tersebut dijalankan sebagai masukan bagi subsistem di MS-Windows NT yang mengemulasikan system calls yang dipanggil aplikasi dengan Win32 API (system calls di MS- Windows NT). b. IBM mengembangkan WABI yang mengemulasikan Win32 API sehingga diharapkan sistem operasi yang menjalankan WABI dapat menjalankan aplikasi-aplikasi yang diperuntukkan MS-Windows.

15 c. Para sukarelawan pengembang Linux telah membuat DOSEMU agar aplikasi MS-DOS dapat dijalankan di Linux, WINE agar aplikasi MS-Windows dapat dijalankan di Linux, ibcs agar aplikasi SCO-UNIX dapat dijalankan di Linux, dan sebagainya. d. Niklaus Wirth menggagas P-Code Machine agar hasil kompilasi program bahasa Pascal dapat dijalankan di mesin manapun yang mempunyai P-Code Machine. Gagasan ini dilanjutkan oleh Java dengan JVM (Java Virtual Machine) yaitu program hasil kompilasi berupa kelas Java (berkas dengan ekstensi.class) dapat dijalankan dimanapun yang memiliki JVM. [Hariyanto, 2009] 2.1.2.5 Sistem Berorientasi Objek Sistem operasi yang merealisasikan layanan sebagai kumpulan proses disebut sistem operasi bermodel proses. Pendekatan lain implementasi layanan adalah sebagai objek-objek. Sistem operasi yang disusun berdasarkan paradigma objek disebut sistem operasi berorientasi objek. Pendekatan ini dimaksudkan untuk mengadopsi keunggulan teknologi berorientasi objek. Pada sistem operasi berorientasi objek, layanan diimplementasikan sebagai kumpulan objek. Objek mengapsulkan struktur data dan sekumpulan operasi pada struktur data itu. Masing-masing objek diberi tipe yang menandai properti objek seperti proses, direktori, berkas, dan sebagainya. Dengan memanggil operasi yang didefinisikan di objek, data yang dikapsulkan di dalamnya dapat diakses dan

16 dimodifikasi. Model ini sungguh terstruktur dan memisahkan antara layanan yang disediakan dan implementasinya. Contoh sistem operasi berorientasi objek, antara lain: Eden, Choices, X- kernel, Medusa, Clouds, Amoeba, Muse, dan sebagainya. Sistem operasi MS- Windows NT telah mengadopsi beberapa teknologi berorientasi objek tapi tidak keseluruhannya. [Hariyanto, 2009] 2.2 Linux Menurut Stalling, Linux awalnya merupakan sebuah varian dari UNIX untuk arsitektur IBM. Versi awal dituliskan oleh Linus Benedict Torvalds, seorang mahasiswa ilmu komputer dari Universitas Helsinki, Finlandia. Torvalds memposting versi awal dari Linux dari Internet tahun 1991. Sejak itu, sejumlah orang dengan berkolaborasi melalui Internet, telah mengkontribusikan pengembangan Linux, yang seluruhnya di bawah kontrol dari Torvalds. Karena Linux adalah gratis dan sumber kodenya tersedia, menjadi suatu alternatif awal untuk workstation UNIX seperti yang ditawarkan oleh Sun Microsystem, Digital Equipment Corp (sekarang menjadi Compaq), dan Silicon Graphics. Saat ini Linux merupakan sistem UNIX dengan fitur lengkap yang berjalan dalam berbagai platform. Menurut Hariyanto, Seluruh source code Linux termasuk kernel, device drivers, libraries, program dan perkakas pengembangan disebarkan secara bebas dengan lisensi GPL (General Public License) versi kedua.

17 Linux tidak memuat kode UNIX TM, ditulis ulang berdasar standar POSIX (Portable Operating System UNIX). Linus mengelola kernel Linux, menerima penambahan dan modifikasi setiap orang. Linus menerapkan kendali kualitas dan menambahkan semua kode baru ke kernel Linux. Linux telah di-port ke beragam platform antara lain intel x86, alpha AXP, MIPS, Sparc, PowerPC, dan sebagainya. Sekitar 95% source code kernel adalah sama untuk semua platform perangkat keras. Terdapat banyak distribusi Linux, yaitu hasil pemaketan oleh perusahaan sehingga mempermudah memperoleh Linux. Distribusi Linux antara lain Slackware, Debian, RedHat, dan S.u.S.e. Distribusi-distribusi menggunakan kernel Linux yang disetujui Linus Torvald sehingga menjamin kompatibilitas. Perbedaan antara distribusi satu dengan yang lainnya ialah pada: a. Paket-paket perangkat lunak yang disertakan di distribusi. b. Struktur direktori. c. Metode pemaketan perangkat lunak. d. Inisialisasi sistem. Banyak distributor menyebabkan persaingan yang meningkatkan layanan ke pemakai. Linux telah mulai mendukung perusahaan besar seperti IBM, Informix, SyBase, Oracle, Corel, Intel, Sun Microsystem, Compaq, Dell dan sebagainya. Linux telah menjadi sistem operasi terbanyak yang digunakan sebagai server internet.

18 Karena source code Linux diedarkan maka Linux merupakan sarana tepat untuk belajar. Linux bukan sistem operasi kacangan tapi telah dapat dihandalkan sebagai Enterprise Operating System. Setiap orang boleh memberi peningkatan dan mengubahnya sesuai kebutuhan spesifiknya, boleh menguji secara black-box bahkan secara white-box. 2.2.1 Fitur-fitur Sistem Operasi Linux Menurut Hariyanto, Fitur-fitur sistem operasi Linux antara lain: a. Multitasking Dapat menjalankan beberapa program pada waktu yang bersamaan. b. Multiuser Dapat melayani beberapa pemakai di mesin sama pada waktu yang bersamaan. c. Multiplatform Dapat berjalan di banyak CPU berbeda, tidak hanya Intel. Terdapat versi Linux untuk Intel x86 dan kompatibel, SPARC, m86k, PowerPC dan Alpha DEC. d. Multiprocessor Mendukung SMP (symmetric multiprocessing atau symmetric multiprocessor) untuk Intel dan SPARC, sedang dikembangkan untuk platform lain. Linux telah digunakan di beberapa aplikasi multiprocessing loosely-coupled termasuk sistem Beowulf dan super komputer berbasis AP1000+SPARC Fujitsu.

19 e. Memenuhi IEEE POSIX.1 Linux kompatibel dengan banyak standar UNIX di tingkat source code, IEEE POSIX.1, serta fitur-fitur System V dan BSD. f. Source code bebas Semua source code tersedia, termasuk seluruh kernel dan driver, perkakas pengembangan dan program pemakai, juga didistribusikan secara bebas. g. Mendukung beragam sistem berkas Sistem berkas yang didukung adalah ext2, ext3, serta ext4 (khusus Linux), Minix-1, Xenix, MS-DOS, ISO9660 CD-ROM, VFAT, NTFS, ReiserFS, dan lain-lain. h. Implementasi TCP/IP Networking lengkap Impementasi TCP/IP yang lengkap, seperti:slip/cslip, PLIP, PPP, NFS, FTP, Telnet, NNTP, SMTP, dan sebagainya. Tersedia protokol dasar di kernel termasuk TCP, Ipv4, Ipv6, AX.25, X.25, DDP (AppleTalk), NetBEUI, Netrom, dan sebagainya. i. Dan beragam fitur lainnya. 2.2.2 Arsitektur dasar sistem operasi Linux Menurut Hariyanto, Bagian penting sistem operasi adalah kernel, merupakan jantung sistem operasi. a. Kernel menyediakan perkakas di mana semua layanan sistem komputer disediakan.

20 b. Kernel mencegah proses aplikasi mengakses perangkat keras secara langsung, memaksa proses menggunakan perkakas yang disediakan. c. Kernel memberi proteksi kepada pemakai dari gangguan pemakai lain. Perkakas kernel digunakan melalui panggilan sistem (system call). Program sistem menggunakan perkakas kernel untuk implementasi beragam layanan. Program sistem dan semua program lain berjalan di atas kernel. Program pemakai berjalan di mode berbeda dengan kernel, disebut mode pemakai. Kernel berisi beberapa bagian penting, yaitu: manajemen proses, manajemen memori, driver perangkat keras, driver sistem berkas, manajemen jaringan, dan beragam subsistem lain. Gambaran lengkap kernel ditunjukan oleh Gambar 2.1. Gambar 2.1 Bagian-bagian penting kernel Linux (Hariyanto, 2009).

21 Berdasarkan gambar di atas dapat disimpulkan bahwa sistem operasi bertanggung jawab dalam menangani interaksi antara program-program pemakai dan perangkat keras sistem komputer. Oleh karena itu, di dalam sistem operasi terdapat system call yang berfungsi untuk mengelola sumber daya yang ada pada sistem komputer serta menyediakan layanan untuk mengakses sumber daya tersebut. System call yang ada pada sistem operasi diantaranya yaitu manajemen sistem file maya, manajer memori, manajer proses, manajer jaringan, dan lainlain. 2.3 Linux From Scratch Menurut situs resminya, www.linuxfromscratch.org/lfs, Linux From Scratch ialah sebuah proyek yang menyediakan instruksi secara bertahap dalam membangun sistem operasi Linux sesuai dengan keinginan kita yang seluruhnya dari source code. Secara bahasa definisi dari Linux From Scratch ialah Linux dari awal atau dari permulaan atau dari nol. Linux From Scratch ialah sebuah metode pembuatan sistem operasi Linux dari nol hingga menjadi sebuah sistem operasi yang utuh, yang dapat menyediakan fasilitas serta layanan-layanan tertentu. Berikut ini para pengembang Linux From Scratch diantaranya yaitu Gerard Beekmans sebagai Project Leader, Matthew Burgess sebagai Project Co-leader, Jeremy Huntwork, Ken Moffat, Dan Nicholson, Bryan Kadzban dan Alexander Patrakov sebagai Editor, Manuel Canales Esparcia sebagai XML/XSL Editor,

22 serta berbagai pihak yang ikut berkontribusi baik dalam pembuatan buku panduan maupun pada proyek Linux From Scratch. 2.3.1 Target Arsitektur Linux From Scratch Target arsitektur utama LFS ialah prosesor intel 32-bit yang paling mendukung sistem Linux dan paling kompatibel baik dengan perangkat lunak open source dan proprietary. Namun tidak menutup kemungkinan LFS dapat dijalankan baik pada Power PC dan pada prosesor AMD/Intel 64-bit. Tabel 2.2 Tabel Perkiraan Waktu Pembuatan LFS (Beekmans, 2011) Arsitektur Waktu Ukuran 32-bit 198.5 648 MB 64-bit 190.6 709 MB 2.3.2 LFS dan Standar Struktur LFS mengikuti standar Linux sedekat mungkin. Standar utama ialah: a. The Single UNIX Specification Version 3 (POSIX) b. Filesystem Hierarchy Standard (FHS) c. Linux Standard Base (LSB) Core Specification 4.0 LSB mempunyai 5 standar terpisah: Core, C++, Desktop, Runtime Languages, dan Printing.

23 2.4 Model Pengembangan Waterfall Menurut Pressman, Model sekuensial linier atau model waterfall mengusulkan sebuah pendekatan kepada perkembangan perangkat lunak yang sistematis dan sekuensial yang mulai pada tingkat dan kemajuan sistem pada seluruh analisis, desain, kode, pengujian, dan pemeliharaan. Dimodelkan setelah siklus rekayasa konvensional, model sekuensial linier atau model waterfall melingkupi aktivitas-aktivitas seperti yang digambarkan pada Gambar 2.2: Pemodelan Sistem Informasi Analisis Desain Kode Tes Gambar 2.2 Model Pengembangan Perangkat Lunak Waterfall (Pressman, 2002) a. Rekayasa dan Pemodelan Sistem Informasi Karena perangkat lunak selalu merupakan bagian dari sebuah sistem (bisnis) yang lebih besar, kerja dimulai dengan membangun syarat dari semua elemen sistem dan mengalokasikan beberapa subset dari kebutuhan ke perangkat lunak tersebut. Pandangan sistem ini penting ketika perangkat lunak harus berhubungan dengan elemen-elemen yang lain seperti perangkat lunak, manusia, dan basis data. Rekayasa dan analisis sistem menyangkut pengumpulan kebutuhan pada tingkat sistem dengan sejumlah kecil analisis serta desain tingkat puncak. Rekayasa

24 informasi mencakup juga pengumpulan kebutuhan pada tingkat bisnis strategis dan tingkat area bisnis. b. Analisis Kebutuhan Perangkat Lunak Proses pengumpulan kebutuhan diintensifkan dan difokuskan, khususnya pada perangkat lunak. Untuk memahami sifat program yang dibangun, perekayasa perangkat lunak (analis) harus memahami domain informasi, tingkah laku, unjuk kerja, dan antarmuka (interface) yang diperlukan. Kebutuhan baik untuk sistem maupun perangkat lunak didokumentasikan dan dilihat lagi dengan pelanggan. c. Desain Desain perangkat lunak sebenarnya adalah proses multi langkah yang berfokus pada empat atribut sebuah program yang berbeda; struktur data, arsitektur perangkat lunak, representasi interface, dan detail (algoritma) prosedural. Proses desain menerjemahkan syarat/ kebutuhan ke dalam sebuah representasi perangkat lunak yang dapat diperkirakan demi kualitas sebelum dimulai pemunculan kode. Sebagaimana persyaratan, desain didokumentasikan dan menjadi bagian dari konfigurasi perangkat lunak. d. Generasi Kode Desain harus diterjemahkan ke dalam bentuk mesin yang bisa dibaca. Langkah pembuatan kode melakukan tugas ini. Jika desain dilakukan dengan cara yang lengkap, pembuatan kode dapat diselesaikan secara mekanis.

25 e. Pengujian Sekali kode dibuat, pengujian program dimulai. Proses pengujian berfokus pada logika internal perangkat lunak, memastikan bahwa semua pernyataan sudah diuji, dan pada eksternal fungsional yaitu mengarahkan pengujian untuk menemukan kesalahan-kesalahan dan memastikan bahwa input yang dibatasi akan memberikan hasil aktual yang sesuai dengan hasil yang dibutuhkan. f. Pemeliharaan Perangkat lunak akan mengalami perubahan setelah disampaikan kepada pelanggan (perkecualian yang mungkin adalah perangkat lunak yang dilekatkan). Perubahan akan terjadi karena kesalahan-kesalahan ditentukan, karena perangkat lunak harus disesuaikan untuk mengakomodasi perubahan-perubahan di dalam lingkungan eksternalnya (contohnya perubahan yang dibutuhkan sebagai akibat dari perangkat peripheral atau sistem operasi yang baru), atau karena pelanggan membutuhkan perkembangan fungsional atau unjuk kerja. Pemeliharaan perangkat lunak mengaplikasikan lagi setiap fase program sebelumnya dan tidak membuat yang baru lagi.