P. 1
MAKALAH-Sistem Operasi

MAKALAH-Sistem Operasi

|Views: 960|Likes:
Published by Cis Mbol

More info:

Published by: Cis Mbol on Sep 29, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less

08/28/2013

pdf

text

original

PENGANTAR TEKNOLOGI INFORMASI SISTEM OPERASI

Diajukan Sebagai Tugas Pengantar Teknologi Informasi Pendidikan Teknik Informatika Offering B

Oleh:

RIA ANISAA 207533408578

UNIVERSITAS NEGERI MALANG PENDIDIKAN TEKNIK INFORMATIKA OFFERING B 2008

KATA PENGANTAR

Assalamu’alaikum Wr. Wb.

Syukur alhamdulilah kami persembahkan kehadirat Allah SWT yang telah mencurahkan rahmat dan karunianya, sehingga penulis dapat menyelesaikan makalah Pengantar Teknologi Informasi ini dengan judul “SISTEM OPERASI”. Untuk itu kami mengucapkan terima kasih terhadap semua pihak yang telah membantu hingga terselesaikannya makalah ini. Terutama kami ucapkan kepada : 1. Dr. Ir. Syaad Pathmantara, M.Pd., selaku dosen mata kuliah Pengantar Teknologi Informasi S1 Pend. Teknik Informatika offering A-B 2007 2. Kedua orang tua kami, atas segala dukungan yang telah diberikan. 3. Rekan-rekan mahasiswa-mahasiswi teknik elektro Unversitas Negeri Malang, atas segala dukungannya. Makalah ini kami susun sebagai tugas mata kuliah Pengantar Teknologi Informasi. Tak ada gading yang tak retak, demikian pepatah mengatakan. Demikian juga kiranya makalah ini, tentu masih banyak kekurangan. Oleh karena itu, penulis mengharapkan saran dan kritik dari pembaca demi sempurnanya makalah kami yang akan datang. Akhirnya, mudah-mudahan karya tulis ini bermanfaat bagi mahasiswa khususnya, dan bagi seluruh komponen bangsa Indonesia umumnya. Wassalamu’alaikum Wr.Wb.

Malang, Juni 2008 Penulis

2

DAFTAR ISI
Halaman Judul .................................................................................................................... 1 Kata Pengantar .................................................................................................................... 2 Daftar Isi ............................................................................................................................. 3 BAB I BAB II PENDAHULUAN ...................................................................................... 5 PEMBAHASAN ......................................................................................... 8
I.

SISTEM OPERASI ………………………………………………….. 8
a. Fungsi Dasar ……………………………………………………..

8 8

b. Tujuan Mempelajari System Operasi ……………………………. 8 c. Sejarah System Operasi ………………………………………….

d. Layanan System Operasi ………………………………………… 9 II. LAYANAN DAN ANTAR MUKA ………………………………… 10 a.

Jenis 10 17 Antarmuka System Jenis API (Application System 21 Programming

Layanan

……………………………………………………
b.

……………………………………………………….
c.

Calls Calls Interface) 24

…………………………………………………….. 19
d.

……………………………………………….
e.

………………........... 23
III. GNU (General Public License)/LINUX ............................................ a. Kernel …………………………………………………………………. 27

b. Distro ………………………………………………………………….. 30 c. Lisensi …………………………………………………………………. 33 3

d. Prinsip Rancangan Linux ……………………………………………….

33 37

e. Modul Kernel Linux ……………………………………………………. BAB III

PENUTUP ………………………………………………………………………. 40 Kesimpulan ……………………………………………………………………… 40

DAFTAR RUJUKAN …………………………………………………………………………….. 41

BAB I PENDAHULUAN

Biasanya, istilah Sistem Operasi sering ditujukan kepada semua software yang masuk dalam satu paket dengan sistem komputer sebelum aplikasi-aplikasi software terinstall. Kalau sistem komputer terbagi dalam lapisan-lapisan, maka Sistem Operasi adalah penghubung antara lapisan hardware dan lapisan software. Lebih jauh daripada itu, Sistem Operasi melakukan semua tugas-tugas penting dalam komputer, dan menjamin aplikasi-aplikasi yang berbeda dapat berjalan secara bersamaan dengan lancar. Sistem Operasi menjamin aplikasi software lainnya dapat menggunakan memori, melakukan input dan output terhadap peralatan lain, dan memiliki akses kepada sistem file. Apabila beberapa aplikasi berjalan secara bersamaan, maka Sistem Operasi mengatur skedule yang tepat, sehingga sedapat mungkin semua proses yang berjalan mendapatkan waktu yang cukup untuk menggunakan prosesor (CPU) serta tidak saling mengganggu. Dalam banyak kasus, Sistem Operasi menyediakan suatu pustaka dari fungsi-fungsi standar, dimana aplikasi lain dapat memanggil fungsi-fungsi itu, sehingga dalam setiap pembuatan program baru, tidak perlu membuat fungsi-fungsi tersebut dari awal. Sistem Operasi secara umum terdiri dari beberapa bagian:
1. Mekanisme Boot, yaitu meletakkan kernel ke dalam memory 2. Kernel, yaitu inti dari sebuah Sistem Operasi 3. Command Interpreter atau shell, yang bertugas membaca input dari pengguna

4

Sebagian Sistem Operasi hanya mengizinkan satu aplikasi saja yang berjalan pada satu waktu. Pustaka-pustaka. Daftar layanan inti umum akan terus bertambah. sedangkan Sistem Operasi lainnya sangat kecil dan dibuat dengan asumsi bekerja tanpa intervensi manusia sama sekali. Tipe yang pertama sering disebut sebagai Desktop OS. Sistem Operasi juga perlu untuk menjaga kerusakan sistem komputer dari gangguan program perusak yang berasal dari komputer lainnya. yaitu yang menyediakan kumpulan fungsi dasar dan standar yang dapat dipanggil oleh aplikasi lain 5. komputer personal) terbagi menjadi 3 kelompok besar: 5 . Driver untuk berinteraksi dengan hardware eksternal.1 bila dijalankan pada windows 95 dan generasi setelahnya akan terlihat perbedaan yang mencolok antara window program tersebut dengan program yang lain. Kini. Sistem operasi-sistem operasi utama yang digunakan komputer sistem umum (termasuk PC.4. Sistem Operasi seperti itu disebut sebagai Multi-tasking Operating System. yang dulunya tidak menjadi layanan inti umum. Seiring dengan berkembangnya Sistem Operasi. tetapi sebagian besar Sistem Operasi baru mengizinkan beberapa aplikasi berjalan secara simultan pada waktu yang bersamaan. seperti virus. Dengan API inilah program aplikasi dapat berkomunikasi dengan Sistem Operasi. Walaupun demikian API sebuah komputer tidaklah berpengaruh sepenuhnya pada program-program yang dijalankan diatas platform operasi tersebut. Sebagaimana manusia berkomunikasi dengan komputer melalui Antarmuka User. serta inputnya tergantung kepada input pengguna. semakin banyak lagi layanan yang menjadi layanan inti umum. Program saling berkomunikasi antara satu dengan lainnya dengan Antarmuka Pemrograman Aplikasi. Application Programming Interface atau disingkat dengan API. sekaligus untuk mengontrol mereka. program juga berkomunikasi dengan program lainnya melalui API. Beberapa Sistem Operasi berukuran sangat besar dan kompleks. sedangkan tipe kedua adalah RealTime OS. Contohnya bila program yang dibuat untuk windows 3. sebuah OS mungkin perlu menyediakan layanan network dan koneksitas internet.

Keluarga Microsoft Windows . Awal tahun 2007 direncanakan peluncuran versi 10. Windows Server 2003. umumnya merupakan turunan dari sistem operasi UNIX yang dikembangkan oleh vendor seperti IBM AIX. Windows 2000. Keluarga Unix yang menggunakan antarmuka sistem operasi POSIX. serta akan membahas tentang Linux.5 (Leopard). sejarah dari system operasi. layanan yang terdapat dalam system operasi. MacOS/X (berbasis kernel BSD yang dimodifikasi.x. dll. dan Super komputer menggunakan banyak sekali sistem operasi yang berbeda-beda.x hingga versi 3.x). Sistem operasi yang terbaru adalah Mac OS X versi 10. GNU/Linux. 3. dan Windows Vista yang akan dirilis pada tahun 2007)).4 (Tiger). Sedangkan komputer Mainframe. dan dikenal dengan nama Darwin) dan GNU/Hurd. Dan juga kita akan membahas tentang layanan dan antarmuka. Windows NT 4. 6 . Dalam makalah ini.yang antara lain terdiri dari Windows Desktop Environment (versi 1. 98. Mac OS. dan Windows NT (Windows NT 3. juga akan dibahas tentang fungsi dasar dari system operasi.1. Windows 9x (Windows 95. HP/UX. 2. keluarga BSD (Berkeley Software Distribution). Windows XP. adalah sistem operasi untuk komputer keluaran Apple yang biasa disebut Mac atau Macintosh. dan Windows ME). seperti SCO UNIX. tujuan mempelajari system operasi.0.

program aplikasi. sistem operasi mengatur pengguna mana yang dapat mengakses suatu sumber-daya. Satu lagi fungsi penting sistem operasi ialah sebagai program pengendali yang bertujuan untuk menghindari kekeliruan (error) dan penggunaan komputer yang tidak perlu. Fungsi dasar Sistem komputer pada dasarnya terdiri dari empat komponen utama. Sistem operasi berfungsi ibarat pemerintah dalam suatu negara. Sistem operasi berfungsi untuk mengatur dan mengawasi penggunaan perangkat keras oleh berbagai program aplikasi serta para pengguna. b. dan para pengguna. memaksimalkan penggunaan sistem 7 .BAB II PEMBAHASAN I. Tujuan mempelajari system operasi Tujuan mempelajari sistem operasi agar dapat merancang sendiri serta dapat memodifikasi sistem yang telah ada sesuai dengan kebutuhan kita. Untuk menghindari konflik yang terjadi pada saat pengguna menggunakan sumber-daya yang sama. agar dapat memilih alternatif sistem operasi. SISTEM OPERASI a. Sistem operasi juga sering disebut resource allocator. dalam arti membuat kondisi computer agar dapat menjalankan program secara benar. yaitu perangkat-keras. sistem-operasi.

operasi dan agar konsep dan teknik sistem operasi dapat diterapkan pada aplikasiaplikasi lain. Sejarah system operasi Menurut Tanenbaum. 8 . • Generasi Ketiga (1965-1980) Pada generasi ini perkembangan sistem operasi dikembangkan untuk melayani banyak pemakai sekaligus. contohnya fungsi sistem operasi ialah FMS dan IBSYS. tetapi dipecah dibanyak komputer sehingga tercapai kinerja yang lebih baik. sistem operasi dipergunakan untuk jaringan komputer dimana pemakai menyadari keberadaan komputer-komputer yang saling terhubung satu sama lainnya. yaitu Job yang dikerjakan dalam satu rangkaian. Pada masa ini para pengguna juga telah dinyamankan dengan Graphical User Interface yaitu antar-muka komputer yang berbasis grafis yang sangat nyaman. sistem operasi mengalami perkembangan yang sangat pesat. kekeliruan bahkan kesalahan. • Generasi Kedua (1955-1965) Generasi kedua memperkenalkan Batch Processing System. maka sistem operasi menjadi multiuser (di gunakan banyak pengguna sekali gus) dan multi-programming (melayani banyak program sekali gus). maka sistem komputer diberi instruksi yang harus dikerjakan secara langsung. lalu dieksekusi secara berurutan. yang dapat dibagi kedalam empat generasi: • Generasi Pertama (1945-1955) Generasi pertama merupakan awal perkembangan sistem komputasi elektronik sebagai pengganti sistem komputasi mekanik. c. • Generasi Keempat (Pasca 1980an) Dewasa ini. Pada generasi ini belum ada sistem operasi.Pada generasi ini sistem komputer belum dilengkapi sistem operasi. hal itu disebabkan kecepatan manusia untuk menghitung terbatas dan manusia sangat mudah untuk membuat kecerobohan. tetapi beberapa fungsi sistem operasi telah ada. dimana para pemakai interaktif berkomunikasi lewat terminal secara on-line ke komputer. pada masa ini juga dimulai era komputasi tersebar dimana komputasi-komputasi tidak lagi berpusat di satu titik.

perangkat-parangkat masukan/ keluaran dan berkas harus di-inisialisasi. pengaksesan I/O Device. Eksekusi Program yang berarti Instruksi-instruksi dan data-data harus dimuat ke memori utama. dimana sistem operasi 9 . LAYANAN DAN ANTARMUKA a. Pengaksesan sistem artinya pada pengaksesan digunakan bersama (shared system). Dan Akunting yang artinya Sistem Operasi yang bagus mengumpulkan data statistik penggunaan beragam sumber-daya dan memonitor parameter kinerja.d. deteksi dan pemberian tanggapan pada kesalahan. Layanan system operasi Sebuah sistem operasi yang baik menurut Tanenbaum harus memiliki layanan sebagai berikut: pembuatan program. Pembuatan program yaitu sistem operasi menyediakan fasilitas dan layanan untuk membantu para pemrogram untuk menulis program. Fungsi pengaksesan harus menyediakan proteksi terhadap sejumlah sumber-daya dan data dari pemakai tak terdistorsi serta menyelesaikan konflikkonflik dalam perebutan sumber-daya. Deteksi dan Pemberian tanggapan pada kesalahan. serta sumber-daya yang ada harus disiapkan. II. yaitu jika permasalahan muncul pada sistem komputer maka sistem operasi harus memberikan tanggapan yang menjelaskan kesalahan yang terjadi serta dampaknya terhadap aplikasi yang sedang berjalan. Jenis Layanan Seperti yang telah kita ketahui bersama. serta akunting. tujuan dari sebuah sistem operasi adalah sebagai penghubung antara user dan hardware. Pengaksesan terkendali terhadap berkas yang artinya disediakannya mekanisme proteksi terhadap berkas untuk mengendalikan pengaksesan terhadap berkas. Pengaksesan I/O Device. pengaksesan terkendali terhadap berkas pengaksesan sistem. semua itu harus di tangani oleh sistem operasi. eksekusi program. artinya Sistem Operasi harus mengambil alih sejumlah instruksi yang rumit dan sinyal kendali menjengkelkan agar pemrogram dapat berfikir sederhana dan perangkat pun dapat beroperasi.

tapi layanan ini diakses melalui sistem operasi. Eksekusi Program Eksekusi program adalah kemampuan sistem untuk "load" program ke memori dan menjalankan program. Layanan sistem operasi dirancang untuk membuat pemrograman menjadi lebih mudah. sistem operasi harus menyediakan mekanisme untuk melakukan operasi I/O atas nama pengguna. Sistem manipulasi berkas dalah kemampuan program untuk operasi pada berkas (membaca. menulis. Deteksi error adalah menjaga kestabilan sistem dengan mendeteksi "error". Antarmuka Sistem operasi menyediakan berbagai fasilitas yang membantu programmer dalam membuat program seperti editor. Proteksi menjamin akses ke sistem sumber daya dikendalikan (pengguna dikontrol aksesnya ke sistem). tapi layanan ini diakses melalui sistem operasi. 1. 10 . Accounting adalah merekam kegiatan pengguna.memberikan kemudahan-kemudahan agar user tidak harus mengakses hardware secara langsung dalam bahasa mesin. • • 3. Pembuatan Program Sistem operasi menyediakan berbagai fasilitas yang membantu programer dalam membuat program seperti editor. perangkat keras mau pun operasi. jatah pemakaian sumber daya (keadilan atau kebijaksanaan). and menghapus berkas). membuat. 2. Walaupun bukan bagian dari sistem operasi. Operasi I/O: pengguna tidak dapat secara langsung mengakses sumber daya perangkat keras. Walaupun bukan bagian dari sistem operasi. tetapi dalam bentuk layanan-layanan yang diberikan oleh sistem operasi. Komunikasi adalah pertukaran data/ informasi antar dua atau lebih proses yang berada pada satu komputer (atau lebih). Efesisensi penggunaan sistem: • Resource allocator adalah mengalokasikan sumber-daya ke beberapa pengguna atau job yang jalan pada saat yang bersamaan.

Oleh karena itu. diatur oleh device controller dan berkomunikasi dengan prosesor dan perangkat lain melalui bus. Perangkat Masukan/Keluaran sangat bervariasi. dia akan terus mengecek perangkat untuk mengetahui statusnya. peranan sistem operasi adalah mengatur dan mengontrol perangkat Masukan/Keluaran dan operasi Masukan/Keluaran. Sedangkan bila perangkat ingin memberitahu prosesor ketika siap diakses. tentunya memerlukan metode yang berbeda pula. Kedua cara ini mempunyai kelebihan dan kelemahan masing-masing. Perangkat terhubung ke komputer melalui port. Perbedaan detil untuk setiap alat akan dienkapsulasi pada modul kernel yang disebut device driver. Operasi Masukan/Keluaran Pada dasarnya. apakah mengizinkan untuk diakses. Adanya Direct Memory Access (DMA) dapat mengurangi beban CPU karena terjadinya transfer data antara perangkat dan memori tanpa melalui CPU. maka perangkat akan menggunakan interupsi. Cara ini dilakukan berulang-ulang yang disebut dengan polling. bagaimana cara mengontrol perangkat-perangkat tersebut mendapat perhatian besar dalam organisasi komputer. dikenal klasifikasi perangkat Masukan/Keluaran menjadi perangkat blok dan perangkat karakter. Jadi. Bahkan. Sedangkan untuk mengetahui waktu dan lama suatu proses digunakan clock dan timer. untuk itulah sistem 11 .4. pada konteks Masukan/Keluaran. walaupun ada perangkat yang tidak termasuk ke dalam satupun dari kedua golongan ini. Oleh karena itu. sebagian besar waktunya digunakan untuk mengolah Masukan/Keluaran sedangkan processing hanya bersifat insidental. perangkat Masukan/Keluaran yang sangat banyak jumlahnya dan setiap perangkat memiliki fungsi dan kecepatan sendiri-sendiri. Untuk efisiensi dan keamanan. Bayangkan. tugas utama komputer adalah processing dan Masukan/Keluaran. Program yang sedang dijalankan kadang kala membutuhkan Masukan/Keluaran. pengguna biasanya tidak bisa mengatur piranti masukan/keluaran secara langsung. Perangkat berkomunikasi dengan prosesor melalui dua pendekatan yaitu memory mapped dan instruksi Masukan/Keluaran langsung. Bila prosesor ingin mengakses suatu perangkat.

Sistem juga harus menyimpan penunjuk tulis pada berkas dimana penulisan berikut akan ditempatkan.operasi harus menyediakan mekanisme dalam melakukan operasi masukan/keluaran. kita menggunakan system call beserta nama berkas yang akan ditulisi dan informasi apa yang akan ditulis pada berkas. Untuk mendefinisikan berkas secara tepat. Kedua. kebanyakan sistem hanya mempunyai satu penunjuk. baca dan tulis menggunakan penunjuk yang sama. Penunjuk tulis harus diperbaharui setiap terjadi penulisan pada berkas. kita menggunakan system call beserta nama berkas dan di blok memori mana berkas berikutnya diletakkan. • Membaca sebuah berkas: Untuk dapat membaca berkas. membaca. suatu berkas ketika sedang dibaca atau ditulis. Sehingga secara umum. Manipulasi Sistem Berkas Program harus membaca dan menulis berkas. sebuah direktori harus mempersiapkan tempat untuk berkas baru. direktori mencari berkas yang akan dibaca. Sistem operasi menyediakan system calls untuk membuat. Sebuah berkas adalah jenis data abstrak. Berikut dapat kita lihat apa yang harus dilakukan sistem operasi pada keenam operasi dasar pada berkas. dan kadang kala juga harus membuat dan menghapus berkas. sistem mencari ke direktori untuk mendapatkan lokasi berkas. 12 . Ketika pembacaan dimulai. dan sistem menyimpan penunjuk baca pada berkas dimana pembacaan berikutnya akan terjadi. kemudian direktori tersebut akan mencatat nama berkas dan lokasinya pada sistem berkas. penunjuk baca harus diperbaharui. tempat baru di dalam system berkas harus di alokasikan untuk berkas yang akan dibuat. hal ini menghemat tempat dan mengurangi kompleksitas sistem. 5. menulis. • Membuat sebuah berkas Ada dua cara dalam membuat berkas: Pertama. kita perlu melihat operasi yang dapat dilakukan pada berkas tersebut. mencari. Ketika diberi nama berkas. dan sebagainya. Sama seperti menulis. menghapus. • Menulis pada sebuah berkas: Untuk menulis pada berkas.

dengan cara membuat berkas lalu membaca dari berkas lama dan menulis ke berkas yang baru. Operasi dasar ini kemudian digabung untuk melakukan operasi lainnya. Ketika berkas sudah tidak digunakan lagi dan sudah ditutup oleh yang menggunakan. Operasi umum lainnya adalah menyambung informasi baru di akhir suatu berkas. dan mengembalikan lokasi berkas pada saat itu. Sebagai contoh misalnya kita menginginkan salinan dari suatu berkas. • Memendekkan berkas: Ada suatu keadaan dimana pengguna menginginkan atribut dari berkas tetap sama tetapi ingin menghapus isi dari berkas tersebut. mengubah nama suatu berkas. Operasi sering disebut pencarian berkas.• Menempatkan kembali sebuah berkas: Direktori yang bertugas untuk mencari berkas yang bersesuaian. 13 . dan lain-lain. Sistem operasi akan menyimpan tabel kecil yang berisi informasi semua berkas yang dibuka yang disebut "tabel berkas terbuka". Enam operasi dasar ini sudah mencakup operasi minimum yang di butuhkan. Beberapa sistem terkadang langsung membuka berkas ketika berkas tersebut digunakan dan otomatis menutup berkas tersebut jika program atau pemakainya dimatikan. hal ini lebih baik dari pada memaksa pengguna untuk menghapus berkas dan membuatnya lagi. Menempatkan berkas tidak perlu melibatkan proses Masukan/Keluaran. atau menyalin berkas ke peralatan Masukan/Keluaran lainnya seperti printer. Hampir semua operasi pada berkas melibatkan pencarian berkas pada direktori. • Menghapus sebuah berkas: Untuk menghapus berkas kita perlu mencari berkas tersebut di dalam direktori. Setelah ditemukan kita membebaskan tempat yang dipakai berkas tersebut (sehingga dapat digunakkan oleh berkas lain) dan menghapus tempatnya di direktori. Fungsi ini mengizinkan semua atribut tetap sama tetapi panjang berkas menjadi nol. Untuk menghindari pencarian yang lama. Tetapi pada sistem lainnya terkadang membutuhkan pembukaan berkas secara tersurat dengan system call (open) sebelum berkas dapat digunakan. kebanyakan sistem akan membuka berkas apabila berkas tersebut digunakan secara aktif. maka sistem operasi mengeluarkan berkas tersebut dari tabel berkas terbuka.

Karena mungkin ada beberapa proses yang membuka berkas secara bersamaan dan sistem harus menunggu sampai berkas tersebut ditutup sebelum mengosongkan tempatnya di tabel. maka dari itu harus disimpan terpisah dari atribut berkas yang ada pada disk. Jadi. Umumnya sistem operasi menggunakan tabel internal dua level. • Lokasi berkas pada disk: Kebanyakan operasi pada berkas memerlukan sistem untuk mengubah data yang ada pada berkas. Hal tersebut mengizinkan bagian dari berkas ditempatkan pada suatu alamat di memori virtual. • Penghitung berkas yang terbuka: Setelah berkas ditutup. sistem harus mengosongkan kembali tabel berkas yang dibuka yang digunakan oleh berkas tadi atau tempat di tabel akan habis. Ada tabel yang mendata proses mana saja yang membuka berkas tersebut. Dalam sistem seperti itu pengguna yang membuka berkas mungkin lebih dari satu dan pada waktu yang hampir bersamaan. Informasi mengenai lokasi berkas pada disk disimpan di memori agar menghindari banyak pembacaan pada disk untuk setiap operasi. dan menjadi nol ketika yang terakhir membaca berkas menutup berkas tersebut barulah sistem dapat mengosongkan tempatnya di tabel. lebih rumit. Beberapa sistem operasi menyediakan fasilitas untuk memetakan berkas ke dalam memori pada system memori virtual. pada dasarnya ada beberapa informasi yang terkait dengan pembukaan berkas yaitu: • Penunjuk Berkas: Pada sistem yang tidak mengikutkan batas berkas sebagai bagian dari system call baca dan tulis. Biasanya tabel tersebut juga memiliki data berapa banyak proses yang membuka berkas tersebut. Penghitung ini mencatat banyaknya berkas yang telah dibuka dan ditutup. Operasi baca dan tulis pada memori dengan alamat tersebut dianggap sebagai operasi baca dan 14 . sistem tersebut harus mengikuti posisi dimana terakhir proses baca dan tulis sebagai penunjuk.Implementasi dari buka dan tutup berkas dalam lingkungan dengan banyak perngguna seperti UNIX. Penunjuk ini unik untuk setiap operasi pada berkas. tanggal akses dan ukuran berkas. kemudian tabel tersebut menunjuk ke tabel yang lebih besar yang berisi informasi yang berdiri sendiri seperti lokasi berkas pada disk.

sumber daya harus dialokasikan bagi masing-masing pengguna dan program tersebut. dan jenis sumber daya yang digunakan selalu terjaga. Untuk itu maka diperlukan suatu perhitungan dan statistik. atau antara proses yang berada dalam komputer yang berbeda tetapi dihubungkan oleh jaringan komputer. Komunikasi dapat terjadi antara proses dalam satu komputer. mencoba kembali melakukan operasi yang dijalankan. Komunikasi dapat dilakukan dengan share-memory atau message-passing. Error dapat terjadi di CPU dan memori perangkat keras. Komunikasi Kadang kala sebuah proses memerlukan informasi dari proses lain. Disamping pelayanan di atas. dimana sejumlah informasi dipindahkan antara proses oleh sistem operasi. dan di dalam program yang dijalankan pengguna. misalnya dengan menghentikan . Perhitungan ini diperlukan bagi seseorang yang ingin merubah konfigurasi system untuk meningkatkan pelayanan. 15 operasi harus bisa mengambil langkah yang tepat untuk mempertahanan jalannya proses komputasi. terdapat juga layanan-layanan lain yang bertujuan untuk mempertahankan efisiensi sistem itu sendiri. atau melaporkan kesalahan yang terjadi agar pengguna dapat mengambil langkah selanjutnya. Deteksi Error Sistem operasi harus selalu waspada terhadap kemungkinan error. Untuk setiap jenis error sistem jalannya program. 6. Ada dua cara umum dimana komunikasi dapat dilakukan.tulis pada berkas yang ada di alamat tersebut. • Accounting: Kita menginginkan agar jumlah pengguna yang menggunakan sumber daya. Layanan tambahan itu yaitu: • Alokasi Sumber Daya: Ketika beberapa pengguna menggunakan sistem atau beberapa program dijalankan secara bersamaan. Menutup berkas mengakibatkan semua data yang ada pada alamat memori tersebut dikembalikan ke disk dan dihilangkan dari memori virtual yang digunakan oleh proses. 7. masukan/keluaran.

dan tentu saja keamanan terhadap gangguan dari luar sistem tersebut. Terdapat dua jenis antarmuka. b. Pengguna Linux mengenal CLI pada Linux sebagai terminal. Keamanan bisa saja dilakukan dengan terlebih dahulu mengindentifikasi pengguna.• Proteksi: Layanan proteksi memastikan bahwa segala akses ke sumber daya terkontrol. menu. ksh. menu. 1. Ini bisa dilakukan dengan meminta password bila ingin menggunakan sumber daya. Meskipun konsepnya sama. Sedangkan pada Windows Vista. Command Line Interface (CLI) CLI adalah tipe antarmuka dimana pengguna berinteraksi dengan sistem operasi melalui text-terminal. Antarmuka adalah komponen system operasi yang bersentuhan langsung dengan pengguna. 2.com atau Command Prompt. ash. Microsoft menamakannya PowerShell. icon. Pengguna menjalankan perintah dan program di sistem operasi tersebut dengan cara mengetikkan baris-baris tertentu. sedangkan pada Apple namanya adalah commandshell. dan lain sebagainya. Elemen-elemen utama dari GUI bisa diringkas dalam konsep WIMP (window. tiap-tiap sistem operasi memiliki nama atau istilah yang berbeda untuk CLI-nya. dan menggunakan perangkat penunjuk (pointing device) seperti mouse atau track ball. pointing device). ikon. 16 . Graphical User Interface (GUI) GUI adalah tipe antarmuka yang digunakan oleh pengguna untuk berinteraksi dengan sistem operasi melalui gambar-gambar grafik. UNIX memberi nama CLI-nya sebagai bash. Microsoft Disk Operating System (MS-DOS) memberi nama command. Antarmuka Antarmuka (interface) adalah salah satu layanan yang disediakan sistem operasi sebagai sarana interaksi antara pengguna dengan sistem operasi. yaitu Command Line Interface (CLI) dan Graphical User Interface (GUI).

Beberapa tahun kemudian. Microsoft memberi nama GUI Windows XP sebagai Lunar dan GUI Windows Vista sebagai Aero.Gambar 2. sehingga penilaian terhadap sebuah sistem operasi tidak bisa hanya dari satu komponen saja. Karena GUI adalah kesan pertama pengguna dengan sistem operasi itu. Sebuah sistem operasi dianggap bagus jika tampilan luarnya (GUI-nya) bagus. Pada Apple Mac OS X. Apple mengklaim bahwa Microsoft mencuri ide dari Apple. komponen sistem operasi tidak hanya GUI. Pada tahun 1984. Padahal. Sejarah mencatat bahwa Xerox PARC (Palo Alto Research Center) yang pertama kali meriset tentang GUI. Contoh GUI Pengguna komputer yang awam seringkali menilai sebuah sistem operasi dari GUI-nya. Seperti halnya CLI. tiap-tiap sistem operasi juga memiliki nama tersendiri untuk komponen GUI-nya. Microsoft merilis sistem operasi Windows-nya yang juga menggunakan GUI. GUI-nya disebutAqua.1. setiap pengembang sistem operasi berlomba-lomba mengembangkan GUI-nya dengan keunggulannya masing-masing. seperti telah dijelaskan sebelumnya. 17 . Apple merilis Macintosh yang menggunakan GUI hasil riset Xerox PARC.

ada dua pengembang utama desktop environment pada Linux. System calls itu sendiri umumnya ditulis dalam bahasa C dan C++. shell itu sendiri secara umum adalah layer yang berfungsi sebagai interface antara user dan inti dalam sistem operasi (kernel). Sistem operasi melalui shell-nya akan menangkap perintah dari user yang kemudian akan dikomunikasikan melalui system calls. c. disediakan Graphical (GUI).Pada Linux. Komunikasi itu terjadi dalam bentuk system calls. 18 . lebih jelasnya lihat gambar bawah adalah sytem calls di yang membaca data dari meng-copy-nya ke file lain. Disinilah peran Sistem Operasi sebagai jembatan komunikasi antara user dan hardware itu terjadi. System Calls Komputer digunakan untuk melakukan suatu proses yang dikehendaki user. KDE digunakan pada beberapa distro seperti SuSE dan Mandrake. sedangkan GNOME dipakai pada beberapa distro seperti Fedora Core dan Ubuntu. Oleh karena itu harus ada suatu bentuk komunikasi antara user dan hardware. yang masing-masing menghasilkan produk KDE (K Desktop Environment) dan GNOME. Contoh di dalam satu program file lalu secara Jadi umum dengan yang kata dibagi lain. user dapat memberi perintah-perintah yang akan dikirim ke sistem operasi. Command Line (CLI) dan berperan sebagai interface layanan operasi. Mengenai shell. Shell dalam Sistem menjadi system dalam oleh Operasi 2. sehingga shell ini merupakan layer yang menerima interaksi dari user secara langsung. Melalui shell. calls layanansistem Untuk berikut.

Contoh: UNIX menyediakan system call: read. write => operasi I/O untuk berkas. • Menyimpan parameter pada data struktur (table) di memori. dan alamat table tsb ditunjuk oleh pointer yang disimpan di register. Contoh pada UNIX: read (buffer.2.Gambar 2. System call ditulis dalam bahasa assembly atau bahasa tingkat tinggi yang dapat mengendalikan mesin (C). file_id). max_size. Sering pengguna program harus memberikan data (parameter) ke OS yang akan dipanggil. 19 . Contoh System Call System call menyediakan interface antara program (program pengguna yang berjalan) dan bagian Sistem Operasi. Tiga cara memberikan parameter dari program ke sistem operasi: • Melalui registers (sumber daya di CPU). • Push (store) melalui "stack" pada memori dan Sistem Operasi mengambilnya melalui pop pada stack tsb. System call menjadi jembatan antara proses dan sistem operasi.

Gambar 2. menunggu child untuk mengeksekusi command tersebut. parent akan mengeksekusi system call waitpid. Jenis System Calls Berikut ini adalah tipe system calls: • Manajemen Proses System Calls untuk managemen proses diperlukan untuk mengatur proses-proses yang sedang berjalan. • Manajemen Berkas 20 . Contoh yang paling baik untuk melihat bagaimana system calls bekerja untuk managemen proses adalah Fork. termasuk file descriptor. Untuk menunggu child selesai. Setelah perintah Fork. Proses child harus mengeksekusi command yang dimasukkan oleh user (pada kasus shell). Proses child melakukannya dengan menggunakan system calls exec. Memberikan parameter melalui tabel d. Shell akan membaca command dari terminal. Bayangkan yang terjadi pada shell. dan lainnya. Fork adalah satu satunya cara untuk membuat sebuah proses baru pada system Unix. Dari ilustrasi tersebut kita dapat mengetahui bagaimana system calls dipakai untuk managemen proses. register. child akan mengeksekusi kode yang berbeda dengan parentnya. Kasus lainnya bukan hanya pada Fork. melakukan fork pada child. dan membaca command lainnya ketika child terminate. tetapi hampir setiap proses memerlukan system calls untuk melakukan management proses.3. yang hanya akan menunggu sampai child selesai. Fork membuat duplikasi yang mirip dengan proses aslinya. Kita dapat melihat penggunaan system calls untuk managemen proses pada Sistem Operasi Unix.

contohnya adalahsystem calls untuk meminta dan mengatur waktu dan tanggal atau meminta informasi tentang sistem itu sendiri. Shared-memory. Contohnya membuat atau menghapus suatu direktori. dan lain-lain. ditulis. dan lain-lain. Proses menggunakan memori yang bisa digunakan oleh berbagai proses untuk pertukaran informasi dengan membaca dan menulis data pada memori tersebut. • Manajemen Piranti Program yang sedang dijalankan kadang kala memerlukan tambahan sumber daya. Jika banyak pengguna yang menggunakan sistem dan memerlukan tambahan sumber daya maka harus meminta peranti terlebih dahulu. dan menulis berkas itu. • System Call Informasi/Pemeliharaan Beberapa system calls disediakan untuk membantu pertukaran informasi antara pengguna dan sistem operasi. Pertukaran informasi dilakukan melalui fasilitas komunikasi antar proses yang disediakan oleh sistem operasi. 21  . jenis berkas. jumlah memori dan disk yang masih bisa digunakan. Ada juga system calls yang menyediakan mekanisme lain yang berhubungan dengan direktori atau sistem berkas secara keseluruhan. membaca berkas tersebut. Yang termasuk atribut berkas adalah nama berkas. Lalu setelah selesai. seperti jumlah pengguna. • Komunikasi Dua model komunikasi:  Message-passing. Seperti ketika kita ingin membuat atau menghapus suatu berkas.System calls yang berhubungan dengan berkas sangat diperlukan. Ada juga system calls untuk meminta informasi tentang proses yang disimpan oleh sistem dan system calls untuk merubah informasi tersebut. atau direposisi. Jadi bukan hanya berhubungan dengan satu spesifik berkas. dan lain-lain. System calls juga diperlukan ketika kita ingin mengetahui atribut dari suatu berkas atau ketika kita juga ingin merubah atribut tersebut. penggunaannnya harus dilepaskan kembali dan ketika sebuah peranti telah diminta dan dialokasikan maka peranti tersebut bisa dibaca. atau ketika ingin membuka atau menutup suatu berkas yang telah ada.

Keuntungan memprogram dengan menggunakan API adalah: • Portabilitas Programmer yang menggunakan API dapat menjalankan programnya dalam sistem operasi mana saja asalkan sudah ter-install API tersebut. Tidak tertutup kemungkinan nama dari system calls sama dengan nama di API. System calls interface ini berfungsi sebagai penghubung antara API dan system calls yang dimengerti oleh sistem operasi. API (Application Programming Interface) Dalam contoh program sederhana diatas. sebelum komunikasi dapat dilakukan harus dibangun dulu sebuah koneksi. baik dalam menghubungkan koneksi tersebut maupun dalam memutuskan koneksi tersebut ketika komunikasi sudah selesai dilakukan.Dalam message-passing. e. • Lebih Mudah Dimengerti API menggunakan bahasa yang lebih terstruktur dan mudah dimengerti daripada bahasa system calls. maka perintah dari user tersebut diterjemahkan dulu oleh program menjadi perintah open(). Sedangkan system calls berbeda antar sistem operasi. dibutuhkan setidaknya ribuan system calls per detik. Dalam API itu terdapat fungsi-fungsi/perintah-perintah untuk menggantikan bahasa yang digunakan dalam System Calls dengan bahasa yang lebih terstruktur dan mudah dimengerti oleh programmer. Fungsi yang dibuat dengan menggunakan API tersebut kemudian akan memanggil system calls sesuai dengan sistem operasinya. Juga diperlukan suatu system calls untuk membaca dan menulis pesan (message) agar pertukaran informasi dapat dilakukan. Perintah open() ini merupakan perintah dari API dan bukan perintah 22 . Untuk itu diperlukan suatu system calls dalam pengaturan koneksi tersebut. dengan catatan dalam implementasinya mungkin saja berbeda. Untuk membuka suatu file tersebut user menggunakan program yang telah dibuat dengan menggunakan bantuan API. Hal ini sangat penting dalam hal editing dan pengembangan. System calls interface ini akan menerjemahkan perintah dalam API dan kemudian akan memanggil system calls yang diperlukan. Oleh karena itu Kebanyakan programmer membuat aplikasi dengan menggunakan Application Programming Interface (API).

.0 mulai diluncurkan.org. dan sebagai end-user platform.s. 23 . S. Macam-macam distribusi Linux antara lain: Stackware. prosesor 32-bit pertama dalam kumpulan CPU Intel yang cocok untuk PC. Bahasa Pemrograman. seperti: jaringan. Abiword. MIPS. Implementasi perintah open() tadi bisa bermacam-macam tergantung dari sistem operasi yang kita gunakan. Istilah Linux atau GNU/Linux (GNU) juga digunakan sebagai rujukan kepada keseluruhan distro Linux (Linux distribution).e. maka perintah open() tadi diterjemahkan kedalam bentuk System Calls oleh system call interface. Contoh program-program tersebut adalah Web Server. Basis Data. sebuah kernel untuk prosesor 80386. antara lain: Intel 80x86. yang didalamnya selalu disertakan program-program lain yang mendukung sistem operasi ini. Sparch. dan hal ini menjadi tonggak sejarah Linux. Distro Linux telah mengalami pertumbuhan yang pesat dari segi popularitas. Tampilan Desktop (Desktop Environment) (seperti GNOME dan KDE). dsb. Linux dapat digunakan untuk berbagai keperluan. Linux termasuk sistem operasi yang didistribusikan secara open source. Ia menulis Linux. Gnumeric. Selain itu Linux dikembangkan oleh GNU (General Public License). pengembangan software. Debian. dan Turbo Linux. Linux merupakan clone dari UNIX yang telah di-port ke beragam platform. agar keinginan user dapat dimengerti oleh sistem operasi. artinya kode sumber Linux diikutsertakan sehingga dapat dipelajari dan dikembangkan dengan mudah.u. RedHat. Baru pada tanggal 14 Maret 1994 versi 1. GNU (General Public License)/LINUX Linux adalah sebuah sistem operasi yang dikembangkan oleh Linus Benedict Torvalds dari Universitas Helsinki Finlandia sebagai proyek hobi mulai tahun 1991. KOffice. Caldera. Oleh karena itu. Sekitar 95% kode sumber kernel sama untuk semua platform perangkat keras. Selama ini Linux menjadi sistem operasi yang menjadi banyak perhatian karena kecanggihan dan harganya yang relatif murah dibanding dengan sistem operasi yang lain. AlphaAXP. III. dan lainnya. Power PC.yang langsung dimengerti oleh kernel Sistem Operasi. dan aplikasi/software perkantoran (office suite) seperti OpenOffice. sehingga lebih populer dari versi UNIX yang menganut sistem lisensi dan berbayar (proprietary) maupun versi UNIX bebas lain yang pada awalnya menandingi dominasi Microsoft Windows dalam beberapa sisi.

Segment default LDT normalnya berbagi dengan semua proses dan biasanya tidak digunakan. Linux hanya mengenal 2 level. Berikut ini merupakan tiga level penghalaman dalam Linux. Linux dibuat. dan telah digunakan di dalam berbagai peralatan dari Komputer pribadi. dan kompatibilitas yang tinggi dibandingkan versi UNIX proprietari. Pada mulanya. Superkomputer dan Sistem Benam (Embedded System) seperti Telepon Seluler Ponsel dan Perekam Video pribadi Tivo. serta faktor keamanan dan kestabilannya dibandingkan dengan Microsoft Windows. Tiap selector segmen mempunyai 2 bit proteksi. dikembangkan dan digunakan oleh peminatnya saja. Ciri-ciri ini juga menjadi bukti atas keunggulan model pengembangan perangkat lunak sumber terbuka opensource software. dimana descriptor -nya terletak di GDT. Para pengamat teknologi informatika beranggapan kesuksesan ini dikarenakan Linux tidak bergantung kepada vendor (vendorindependence). biaya operasional yang rendah.Linux mendukung banyak Perangkat keras Komputer. yaitu pengguna mode dan kernel mode. Linux hanya menggunakan 6 segmen: o o o o o o Segmen untuk kode kernel Segmen untuk data kernel Segmen untuk kode pengguna Segmen untuk data pengguna Segmen Task-State Segment default untuk LDT Segmen untuk kode pengguna dan data pengguna terbagi dengan semua proses yang running pada pengguna mode. Pada pentium. TSS ( Task-State Segment ) digunakan untuk menyimpan context hardware dari setiap proses selama context switch. Dari 4 level ini. Maka. maka proses dapat membuatnya dan tidak menggunakan default LDT. Kini Linux telah mendapat dukungan dari perusahaan besar seperti IBM. pentium Mengizinkan proteksi 4 level. Tiap proses mempunyai TSS sendiri. Jika suatu proses membutuhkan LDT-nya. karena semua proses menggunakan ruang alamat logis yang sama dan semua descriptor segmen terletak di GDT. dan HewlettPackard dan perusahaan besar lain. 24 .

1.Gambar 3. Karena akses terhadap perangkat keras terbatas. Memori Virtual Gambar 3. sedangkan ada lebih dari satu program yang harus dilayani dalam waktu yang bersamaan. maka kernel juga bertugas untuk mengatur kapan dan berapa 25 .2. Logo Linux a. Tugasnya aplikasi untuk mengakses aman. melayani Kernel adalah suatu program menjadi bagian utama dari sebuah bermacam perangkat keras komputer secara sistem operasi. Kernel Bagian ini akan menjelaskan kernel secara umum dan sejarah perkembangan perangkat lunak Kernel yang Linux.

Hal tersebut dinamakan sebagai multiplexing. Kernel Linux merupakan sebuah perangkat lunak orisinil yang dibuat oleh komunitas Linux. Monolithic kernel Kernel yang menyediakan abstraksi perangkat keras yang kaya dan tangguh. mengandung 26 . Teknik ini digunakan oleh komputer generasi awal. kernel Linux termasuk kategori monolithic kernel. tapi ia menyediakan sekumpulan pustaka yang menyediakan fungsi-fungsi akses ke perangkat keras secara langsung atau hampir-hampir langsung. yaitu bilamana pembuat program ingin melakukan pekerjaannya tanpa bantuan abstraksi perangkat keras atau bantuan sistem operasi. sehingga bila kita ingin berpindah dari satu program ke program lain. 3. 4. Sehingga abstraksi pada akhirnya memudahkan pekerjaan programer. 2. Akses kepada perangkat keras secara langsung merupakan masalah yang kompleks. Untuk menjalankan sebuah komputer kita tidak harus menggunakan kernel sistem operasi. Exokernel Kernel yang tidak menyediakan sama sekali abstraksi hardware. yang dikenal saat ini. Microkernel Kernel yang menyediakan hanya sekumpulan kecil abstraksi perangkat keras sederhana. Kernel Linux berbeda dengan sistem Linux. dan menggunakan aplikasi-aplikasi yang disebut sebagai server untuk menyediakan fungsi-fungsi lainnya. Ada 4 kategori kernel: 1. tetapi ia juga memasukkan beberapa kode tambahan di kernel agar ia menjadi lebih cepat.lama suatu program dapat menggunakan satu bagian perangkat keras tersebut. sedangkan sistem Linux. oleh karena itu kernel biasanya mengimplementasikan sekumpulan abstraksi hardware. kita harus mereset dan meload kembali program-program tersebut. Abstraksi-abstraksi tersebut merupakan sebuah cara untuk menyembunyikan kompleksitas. Sebuah program dapat saja langsung di-load dan dijalankan diatas mesin 'telanjang' komputer. Hybrid (modifikasi dari microkernel) Kernel yang mirip microkernel. dan memungkinkan akses kepada perangkat keras menjadi mudah dan seragam. Dari keempat kategori kernel yang disebutkan diatas.

Satu tahun kemudian dirilis kernel versi 1. yang merupakan tonggak sejarah Linux. Kernel pertama dibuat berdasarkan kerangka Minix (sistem UNIX kecil yang dikembangkan oleh Andy Tanenbaum). Konsentrasi lebih diberikan pada dukungan perangkat keras dan memperbanyak implementasi lengkap pada fungsi-fungsi yang ada. Pengembang telah memperbaharui networking stack untuk menyediakan support bagi protokol IPX. Dukungan perangkat keras telah berkembang termasuk diantaranya floppydisk. penanganan dependencies antara modul-modul loadable. CD-ROM. juga sudah didukung writable memory mapped regions. Sistem berkas yang didukung hanya sistem berkas Minix. Kernel 2. berbagai mouse. Kemampuan untuk memakai remote netware dan SMB (Microsoft LanManager) network volumes juga telah ditambahkan pada versi terbaru ini. sound card. Versi ini memiliki dua kemampuan baru yang penting.banyak komponen yang dibuat sendiri atau dipinjam dari proyek pengembangan lain. Untuk pertama kalinya.0 mampu mendukung protokol standar jaringan TCP/IP.0 dirilis. yaitu dukungan terhadap multiple architecture dan multiprocessor architectures. Versi ini adalah kulminasi dari tiga tahun perkembangan yang cepat dari kernel Linux.0 juga memiliki sistem berkas yang lebih baik tanpa batasan-batasan sistem berkas Minix. dan membuat implementasi IP lebih lengkap dengan memberikan fungsi accounting dan firewalling. Pada tanggal 14 Maret 1994 dirilis versi 1.01. Kernel 1. pada tanggal 14 Maret 1991. Tambahan lain adalah dukungan internal kernel threads. dan keyboard internasional. Pada bulan Juni 1996. kernel tersebut sudah mengimplementasi proses UNIX secara tepat. Sejumlah dukungan perangkat keras ekstra juga dimasukkan ke dalam rilis ini. ditambah dengan sejumlah protokol jaringan baru. Kernel 1.0 sudah memberikan kinerja TCP/IP yang lebih baik. file system caching dikembangkan ke networked file systems. kernel Linux 2. dan loading otomatis modul 27 . Tetapi.2 ini merupakan kernel Linux terakhir yang PC-only.2. Versi 1. Fitur baru terbesar yang disediakan adalah jaringan. Kernel ini mendukung variasi perangkat keras yang lebih luas.0. Dukungan juga diberikan terhadap modul kernel yang loadable dan unloadable secara dinamis. Kernel Linux pertama yang dipublikasikan adalah versi 0. Kode untuk manajemen memori telah diperbaiki sehingga kinerja sistem berkas dan memori virtual meningkat.

udf. cramfs.6 ini adalah: • • • • • kernel. Alasan utamanya adalah untuk meningkatkan kinerja.6. Semenjak Desember 2003. dan mengimplementasi hampir semua fungsi sistem operasi yang tidak memerlukan hak penuh atas kernel. adfs. msdos. amiga ffs. Hal-hal yang berubah dari versi 2. vfat.1 (http://kambing. efs (ro). Penjadwalan Proses yang dipercanggih. Kernel yang pre-emptif. • Utilitas sistem: adalah program yang melakukan pekerjaan managemen secara individual. free vxfs. qnx4fs.21. • Dukungan sistem berkas seperti: ext2. tetapi juga semua kode kernel. bfs.berdasarkan permintaan (on demand). Sistem Linux terdiri dari tiga bagian kode penting: • Kernel: Bertanggung-jawab memelihara semua abstraksi penting dari sistem operasi. romfs. jfs. Threading yang dipercanggih. Konfigurasi dinamis dari kernel pada run time telah diperbaiki melalui konfigurasi interface yang baru dan standar. alih konteks tidak diperlukan ketika sebuah proses memanggil sebuah fungsi sistem operasi atau ketika interupsi perangkat keras dikirim. termasuk hal-hal seperti memori virtual dan prosesproses. minix. • Perpustakaan sistem: menentukan kumpulan fungsi standar dimana aplikasi dapat berinteraksi dengan kernel. xfs. os/2 hpfs. BeOS befs (ro). ntfs (ro). yang dewasa ini (2007) telah mencapai patch versi 2.6/). ufs. Implementasi ALSA (Advanced Linux Sound Architecture) dalam 28 .ui. reiserfs. sysvfs. Walaupun berbagai sistem operasi modern telah mengadopsi suatu arsitektur message-passing untuk kernel internal mereka. apple macintosh hfs. Tidak hanya penjadualan inti dan kode memori virtual yang menempati address space ini. ext3. Linux tetap memakai model historis UNIX: kernel diciptakan sebagai biner yang tunggal dan monolitis. telah diluncurkan Kernel versi 2. iso9660.edu/kernellinux/v2. Subitem M/K yang dipercanggih.6. karena semua struktur data dan kode kernel disimpan dalam satu address space.

Apt-get adalah sebuah utilitas baris-perintah yang dapat digunakan secara dinamis untuk meng-upgrade sistem Debian GNU/Linux melalui apt-repository jaringan archive Debian yang luas. sharing. dan kode jaringan. Namun. Dia menyediakan semua fungsi yang diperlukan untuk menjalankan proses. dan fitur yang disediakan tidak selalu dalam format yang diharapkan oleh aplikasi UNIX. dll. SuSE. bahkan sampai menghasilkan distro turunan. Milis dan forum debian selalu penuh dengan pesan-pesan baik mengenai bug. Interface dari sistem operasi yang terlihat oleh aplikasi yang sedang berjalan tidak ditangani langsung oleh kernel. Distribusi Linux bisa berupa perangkat lunak bebas dan bisa juga berupa perangkat lunak komersial seperti Red Hat Enterprise. b. dan lain-lain. Kernel mengimplementasi semua fitur yang diperlukan supaya dapat bekerja sebagai sistem operasi. Dia tidak memiliki banyak fitur ekstra UNIX. hadir dalam satu address space yang sama. akan tetapi aplikasi membuat panggilan (calls) keperpustakaan sistem. Kernel Linux membentuk inti dari sistem operasi Linux. Distro ini menginginkan adanya semangat open-source yang harus tetap ada pada Debian. dan menyediakan layanan sistem untuk memberikan pengaturan dan proteksi akses ke sumber daya perangkat keras. yang kemudian memanggil layanan sistem operasi yang dibutuhkan. contohnya adalah : • Debian GNU/Linux Debian GNU/Linux adalah distro non-komersial yang dihasilkan oleh para sukarelawan dari seluruh dunia yang saling bekerjasama melalui Internet. masalah. sistem berkas. Dengan adanya sistem komunikasi ini bug 29 . system operasi yang disediakan oleh kernel Linux sama sekali tidak mirip dengan sistem UNIX. Distro Distro Linux (singkatan dari distribusi Linux) adalah sebutan untuk sistem operasi komputer mirip Unix yang menggunakan kernel Linux. Kedinamisan distro ini membuat setiap rilis paket-paketnya di-update setiap waktu dan dapat diakses melalui utilitas apt-get. jika sendiri. Beberapa bertahan dan besar.termasuk semua device drivers. Ada banyak distribusi atau distro Linux yang telah muncul.

stabil.sertifikasi.u. • Slackware Distronya Patrick Volkerding yang terkenal pertama kali setelah SLS.debian. Michael Johnson.linux. Knoppix. RPM adalah sebuah perangkat lunak untuk memanajemen paket-paket pada sistem Linux kita dan dianggap sebagai standar de-facto dalam pemaketan pada distro-distro turunannya dan yang mendukung distro ini secara luas.org/ 2. Keuntungan dari Debian adalah upgradability. http://de2. Dukungan-dukungan secara teknis. De2.E.jp/ 4. Distro ini termasuk distro yang cryptic dan manual sekali bagi pemula Linux. 5. http://www. aplikasi pengembangan. Poin terbesar dari distro ini adalah Red Hat Package Manager (RPM).E ataupunLinuxconf pada RedHat).S. Sebagian besar aktivitas konfigurasi di Slackware dilakukan secara manual (tidak ada tool seperti Yast pada S. sederhana. dan pengembangannya secara terbuka.dan masalah keamanan pada tiap paket dapat dilaporkan oleh para pengguna dan pengembang Debian dengan cepat.org/ 3. dan bergabungnya para hacker kernel dan free-software seperti Alan Cox. dan lain-lain • Red Hat Linux Red Hat adalah distro yang cukup populer dikalangan pengembang dan perusahaan Linux.vlsm. Slackware dikenal lebih dekat dengan gaya UNIX.or. pelatihan. • S. tapi dengan menggunakan distro ini beberapa penggunanya dapat mengetahui banyak cara kerja sistem dan distro tersebut. ketergantungan antar paket didefinisikan dengan baik. Libranet.U. Debian JP. Debian adalah salah satu distro selain Slackware yang masuk dalam kategori ini. http://www. dan didesain untuk komputer 386/486 atau lebih tinggi.knoppix. mudah di-custom.S. Stephen Tweedie menjadikan Red Hat berkembang cepat dan digunakan pada perusahaan. Beberapa proyek dan turunan Debian GNU/Linux: 1. 30 .

Pengguna produk dan layanan TurboLinux terbanyak adalah perusahaan dan perorangan di Jepang dan Asia.U.E.u. dukungan driver-driver terutama VGA dan tool administrasi sistem S. Untuk mendapatkan distro linux..E tersedia secara komersial dan untuk versi GPL-nya dapat diinstal melalui ftp di situs S. juga terlibat dalam pembuatan X server (video driver) untuk proyek XFree86 sehingga X server distro ini mendukung kartu grafis baru. anda dapat mendownloadnya langsung dari situs distributor distro bersangkutan.E. S.U. c.S.S. • Turbo Linux TurboLinux menargetkan pada produk berbasis Linux dengan kinerja tinggi untuk pasar workstation dan server terutama untuk penggunaan clustering dan orientasinya ke perusahaan. Beberapa produk-produknya: TurboLinux Workstation untuk dekstopnya.S.E. enFuzion akan merubah jaringan komputer perusahaan menjadi super computer dengan kecepatan tinggi dan 'fault tolerant'. S. Instalasi berbasis menu grafis dari CD-ROM. e-commerce dan transaksi B2B (Business-to-Business). disket boot modular.TurboCluster server ini pernah memenangkan poling Best Web Solution dari editor Linux Journal. atau membelinya dari penjual lokal. TurboLinux Server untuk backend server dengan kinerja tinggi terutama untuk penggunaan bisnis di perusahaan. Salah satu produknya TurboCluster Server ditargetkan untuk pembuatan server cluster yang berskala luas dan dapat digunakan 25 cluster node atau lebih. Lisensi Kernel Linux terdistribusi di bawah Lisensi Publik Umum GNU (GPL). membuat beberapa pengguna memilih distro ini. menggunakan dua sistem pemaketan yaitu RPM (versi lama) dan SPM. S.E. dukungan teknis.E. enFuzion.S. terkenal akan dukungan driver VGA-nya dan YasT.u. 400halaman buku referensi.u. S.S.E. satu lagi produk yang berbasis pada konsep sederhana dan powerful yang dinamakan 'parametric execution'.S. adalah distro yang populer di Jerman dan Eropa.S. Package Manager (versi baru).S. YaST. dimana peraturannya disusun oleh Free Software Foundation. Linux bukanlah perangkat lunak domain publik: Public Domain berarti bahwa pengarang telah 31 .u.u.

32 . Perangkat lunak yang dirilis atau akan dirilis tersebut harus disediakan sumber kodenya bersamaan dengan distribusi binernya. Standar POSIX terdiri dari kumpulan spesifikasi dari beberapa aspek yang berbeda kelakuan sistem operasi. tidak boleh membuatnya menjadi hak milik sendiri. Sistem berkas Linux mengikuti semantik tradisional UNIX. Ia adalah sistem yang multiuser.memberikan copyright terhadap perangkat lunak mereka. multitasking dengan seperangkat lengkap alat-alat yang kompatibel dengan UNIX. bukan oleh fasilitas riset yang memiliki dana besar. memakainya dengan cara apa pun. kernel Linux juga semakin lengkap dalam mengimplementasikan fungsi UNIX. Tujuan utama perancangan Linux adalah cepat dan efisien. Linux adalah perangkat lunak bebas. Linux menyerupai implementasi UNIX nonmicrokernel yang lain. Akibat dari semakin berkembangnya teknologi PC. Prinsip Rancangan Linux Dalam rancangan keseluruhan. atau membuat modifikasi dari Linux. d. modifikasi. Ada dokumen POSIX untuk fungsi sistem operasi biasa dan untuk ekstensi seperti proses untuk thread dan operasi real-time. namun: bebas dalam arti bahwa siapa saja dapat mengkopi. Ciri internal rancangan Linux telah dipengaruhi oleh sejarah perkembangan sistem operasi ini. pada awalnya dia dikembangkansecara eksklusif pada arsitektur PC. sehingga dari awal Linux berusaha untuk memasukkan fungsionalitas sebanyak mungkin dengan dana yang sangat terbatas. Saat ini. dan model jaringan standar UNIX diimplementasikan secara keseluruhan. Walaupun Linux dapat berjalan pada berbagai macam platform. Linux dapat berjalan baik pada mesin multiprocessor dengan main memory yang sangat besar dan ukuran disk space yang juga sangat besar. Sebagian besar dari pengembangan awal tersebut dilakukan oleh peminat individual. tetapi copyright terhadap kode Linux masih dipegang oleh pengarang-pengarang kode tersebut. tetapi akhir-akhir ini konsentrasi perkembangan Linux lebih pada tujuan rancangan yang ketiga yaitu standarisasi. produk tersebut tidak boleh didistribusi hanya sebagai produk biner (binary-only). namun tetap mampu beroperasi dengan baik dengan jumlah RAM yang lebih kecil dari 4 MB. dan memberikan kopi mereka kepada siapa pun tanpa larangan atau halangan. Jika sebuah perangkat lunak dirilis berdasarkan lisensi GPL. Implikasi utama peraturan lisensi Linux adalah bahwa siapa saja yang menggunakan Linux.

termasuk hal-hal seperti memori virtual dan proses-proses. Tidak hanya penjadwalan inti dan kode memori virtual yang menempati address space ini. dan kode jaringan. sistem berkas. Kumpulan pustaka yang berbeda tersedia untuk mengimplementasi semantik BSD di tempat dimana kedua kelakuan sangat berbeda. karena semua struktur data dan kode kernel disimpan dalam satu address space. hadir dalam satu address space yang sama. Kernel Linux membentuk inti dari sistem operasi Linux. Linux tidak membuat banyak kejutan kepada siapa pun yang sudah terbiasa dengan UNIX. Karena Linux memberikan antarmuka standar ke programer dan pengguna. Selain standar POSIX. Linux saat ini mendukung ekstensi thread POSIX dan subset dari ekstensi untuk kontrol proses real-time POSIX. alih konteks tidak diperlukan ketika sebuah proses memanggil sebuah fungsi sistem operasi atau ketika interupsi perangkat keras dikirim. termasuk semua device drivers. walaupun implementasinya tidak sah secara formal. Linux tetap memakai model historis UNIX: kernel diciptakan sebagai biner yang tunggal dan monolitis. Alasan utamanya adalah untuk meningkatkan kinerja. dan menyediakan layanan sistem untuk 33 . Dia menyediakan semua fungsi yang diperlukan untuk menjalankan proses. Ada banyak standar lain di dunia UNIX. Namun interface pemrograman Linux merujuk pada semantik SVR4 UNIX daripada kelakuan BSD. Sedikitnya ada dua distribusi Linux yang sudah memperoleh sertifikasi ofisial POSIX. dan ada harga yang harus dibayar jika melibatkan sertifikasi persetujuan atau kecocokan sebuah sistem operasi terhadap kebanyakan standar. sehingga sehingga standar implementasi merupakan tujuan utama pengembangan Linux. Bagaimana pun juga mendukung aplikasi yang luas adalah penting untuk suatu sistem operasi. tetapi sertifikasi penuh dari Linux terhadap standar lain UNIX terkadang menjadi lambat karena lebih sering tersedia dengan harga tertentu (tidak secara bebas). Sistem Linux terdiri dari tiga bagian kode penting: • Kernel Bertanggung-jawab memelihara semua abstraksi penting dari sistem operasi. tetapi juga semua kode kernel.Linux dirancang agar sesuai dengan dokumen POSIX yang relevan. Walaupun berbagai sistem operasi modern telah mengadopsi suatu arsitektur message-passing untuk kernel internal mereka.

mereka membolehkan aplikasi melakukan permintaan pada layanan sistem kernel. fungsi matematika. Pustaka sistem menyediakan berbagai tipe fungsi. Semua fungsi yang diperlukan untuk mendukung jalannya aplikasi UNIX atau POSIX diimplementasikan dalam pustaka sistem. seperti algoritma penyusunan (sorting). akan tetapi aplikasi membuat panggilan (calls) ke perpustakaan sistem. Namun. • Pustaka sistem Menentukan kumpulan fungsi standar dimana aplikasi dapat berinteraksi dengan kernel. Contohnya. fungsi buffered filehandling dari bahasa C semuanya diimplementasikan dalam pustaka sistem. Pustaka juga dapat menyediakan versi lebih kompleks dari system call dasar. dan rutin manipulasi string (string manipulation).memberikan pengaturan dan proteksi akses ke sumber daya perangkat keras. • Utilitas sistem Program yang melakukan pekerjaan manajemen secara individual. 34 . Pustaka bertugas untuk mengumpulkan argumen system-call dan. Pada level yang paling sederhana. Kernel mengimplementasi semua fitur yang diperlukan supaya dapat bekerja sebagai sistem operasi. dan mengimplementasi hampir semua fungsi sistem operasi yang tidak memerlukan hak penuh atas kernel. Pustaka juga menyediakan rutin yang tidak ada hubungan dengan system call. yang memberikan kontrol lebih baik terhadap berkas M/K daripada system calls kernel dasar. dan fitur yang disediakan tidak selalu dalam format yang diharapkan oleh aplikasi UNIX. jika sendiri. rincian dari transfer ini berbeda pada masing-masing arsitektur. Interface dari sistem operasi yang terlihat oleh aplikasi yang sedang berjalan tidak ditangani langsung oleh kernel. Membuat suatu system calls melibatkan transfer kontrol dari mode pengguna yang tidak penting ke mode kernel yang penting. mengatur argumen tersebut dalam bentuk khusus yang diperlukan untuk melakukan system calls. jika perlu. yang kemudian memanggil layanan sistem operasi yang dibutuhkan. sistem operasi yang disediakan oleh kernel Linux sama sekali tidak mirip dengan sistem UNIX. Dia tidak memiliki banyak fitur ekstra UNIX.

koneksi jaringan yang masuk. Modul kernel dapat menambah fungsionalitas kernel tanpa perlu mereboot sistem. Kernel 35 . seperti menyusun data tekstual atau melakukan pattern searches pada input teks. seperti program untuk konfigurasi alat jaringan (network device) atau untuk load modul kernel. kekurangan lainnya adalah mereka harus membangun dan me-reboot kernel setiap saat hendak menambah fungsi baru. e. Utilitas yang lebih kompleks dapat melakukan fungsi text-processing. Utilitas sistem termasuk semua program yang diperlukan untuk menginisialisasi sistem. utilitas tetap merupakan bagian penting dari sistem Linux dasar. program semacam ini mengatur permintaan pengguna login. seperti membuat daftar direktori. atau menunjukkan isi dari sebuah file. protokol jaringan. Modul Kernel Linux Modul kernel Linux adalah bagian dari kernel Linux yang dapat dikompilasi. dipanggil dan dihapus secara terpisah dari bagian kernel lainnya saat dibutuhkan. dan antrian printer.Sistem Linux mengandung banyak program-program pengguna-mode: utilitas sistem dan utilitas pengguna. Jika digabung. Program server yang berjalan secara kontinu juga termasuk sebagai utilitas sistem. Selain hal tersebut akan membuat ukuran kernel menjadi lebih besar. Modul kernel Linux memudahkan pihak lain untuk meningkatkan fungsionalitas kernel tanpa harus membuat sebuah kernel monolitik dan menambahkan fungsi yang mereka butuhkan langsung ke dalam image dari kernel. Secara teori tidak ada yang dapat membatasi apa yang dapat dilakukan oleh modul kernel. Dengan adanya modul maka setiap pihak dapat dengan mudah menulis fungsi-fungsi baru dan bahkan mendistribusikannya sendiri. walaupun tidak melakukan fungsi sistem operasi apa pun. Lingkungan pengguna UNIX mengandung utilitas standar dalam jumlah besar untuk melakukan pekerjaan sehari-hari. Kernel modul dapat mengimplementasikan antara lain device driver. sistem berkas. Tidak semua utilitas standar melakukan fungsi administrasi sistem yang penting. utilitasutilitas tersebut membentuk kumpulan alat standar yang diharapkan oleh pengguna pada sistem UNIX mana saja. di luar GPL. memindahkan dan menghapus file.

Saat hubungan tercipta. kernel akan menginformasikan proses manajemen kapan pun sebuah proses meminta device driver. utilitas pemanggil modul akan meminta kernel untuk mereservasi tempat di memori virtual kernel untuk modul tersebut. Dengan demikian modul tersebut akan berada di alamat yang telah dialokasikan dan tabel simbol milik kernel akan diperbaharui. Manajemen Modul Kernel Linux Manajemen modul akan mengatur pemanggilan modul ke dalam memori dan berkomunikasi dengan bagian lainnya dari kernel. Device driver yang dibutuhkan dapat dipanggil kemudian secara eksplisit maupun secara otomatis saat dibutuhkan. registrasi driver. namun simbolsimbol tersebut harus diekspor secara eksplisit oleh kernel. berikut setiap tabel simbol yang hendak diekspor. sistem berkas. Tabel ini tidak memuat semua simbol yang didefinisikan di kernel saat kompilasi. Memanggil sebuah modul tidak hanya memasukkan isi binarinya ke dalam memori kernel. Kernel akan memberikan alamat memori yang dialokasikan dan utilitas tersebut dapat menggunakannya untuk memasukkan kode mesin dari modul tersebut ke alamat pemanggilan yang tepat. Pemanggilan modul dilakukan dalam dua tahap. 1. atau layanan jaringan yang belum terpanggil dan memberikan manajer 36 .modul juga memberikan keuntungan lain yaitu membuat sistem Linux dapat dinyalakan dengan kernel standar yang minimal. Kernel mendefinisikan antarmuka komunikasi yang dapat dihubungi oleh program manajemen modul. Ketiga komponen tersebut adalah manajemen modul. Semua hal ini diperlukan untuk penanganan rujukan yang dilakukan oleh modul terhadap simbol-simbol. Terdapat tiga komponen untuk menunjang modul kernel Linux. Berikut akan dibahas ketiga komponen pendukung tersebut. Linux membuat tabel simbol internal di kernel. Komponen manajemen modul yang lain adalah peminta modul. ke kernel. Pertama. tanpa tambahan device driver yang ikut dipanggil. Berikutnya system calls akan membawa modul. namun juga harus dipastikan bahwa setiap rujukan yang dibuat oleh modul ke simbol kernel atau pun titik masukan diperbaharui untuk menunjuk ke lokasi yang benar di alamat kernel. dan mekanisme penyelesaian konflik.

2. Kernel membuat daftar alokasi sumber daya perangkat keras. Kernel membuat tabel dinamis yang berisi semua driver yang telah diketahuinya dan menyediakan serangkaian routines untuk menambah dan menghapus driver dari tabel tersebut. Manajer proses akan memeriksa secara berkala apakah modul tersebut masih digunakan. Tujuan mekanisme tersebut adalah untuk mencegah modul berebut akses terhadap suatu perangkat keras. jalur interrupt. mencegah autoprobes mengusik keberadaan driver yang telah ada. karena device yang aktif pada suatu saat bervariasi. bagian dari kernel yang lain harus mengetahui keberadaan dan fungsi baru tersebut. Routines ini yang bertanggung-jawab untuk mendaftarkan fungsi modul baru tersebut. dan akan menghapusnya saat tidak diperlukan lagi. atau pun kanal DMA. Linux menyediakan sebuah mekanisme penyelesaian masalah untuk membantu arbitrasi akses terhadap perangkat keras tertentu. Masalah pengaturan konfigurasi perangkat keras tersebut menjadi semakin kompleks akibat dukungan terhadap device driver yang modular. Registrasi Driver Untuk membuat modul kernel yang baru dipanggil berfungsi. maka driver tersebut diharapkan mereservasi sumber daya tersebut pada basis data kernel terlebih dahulu. Ketika suatu driver hendak mengakses sumber daya melalui M/K port. Jika 37 . Resolusi Konflik Keanekaragaman konfigurasi perangkat keras komputer serta driver yang mungkin terdapat pada sebuah komputer pribadi telah menjadi suatu masalah tersendiri. Hal-hal yang masuk dalam tabel registrasi adalah: • device driver • sistem berkas • protokol jaringan • format binari 3. Permintaan layanan akan selesai saat modul telah terpanggil. menyelesaikan konflik di antara sejumlah driver yang berusaha mengakses perangkat keras yang sama.kesempatan untuk memanggil layanan tersebut.

Sistem Operasi mencoba mengatur aktivitas-aktivitas komputasi untuk memastikan pendaya-gunaan yang baik dari sistem komputasi tersebut. Kedua. 38 . Jika tidak dapat melanjutkan. maka modul tersebut dapat dihapus. menyediakan lingkungan yang nyaman untuk pengembangan dan jalankan dari program. Pertama. BAB III PENUTUP KESIMPULAN Sistem Operasi telah berkembang selama lebih dari 40 tahun dengan dua tujuan utama. maka modul harus memutuskan apa yang hendak dilakukan selanjutnya.reservasinya ditolak akibat ketidaktersediaan sumber daya yang diminta.

txt . Sistem batch mengizinkan pengurutan tugas secara otomatis dengan menggunakan Sistem Operasi yang resident dan memberikan peningkatan yang cukup besar dalam utilisasi komputer. Untuk mengurangi waktu set-up tersebut. Operating System Concepts. per 13 Desember 2004. Sixth Edition. Operasi off-line dari alat-alat yang lambat bertujuan untuk menggunakan beberapa sistem reader-to-tape dan tape-to-printer untuk satu CPU. Buku Teks Ilmu Komputer .org. Bandung [Love2005] Robert Love.6.Pada awalnya. John Wiley & Sons. Peter Galvin. Untuk meningkatkan keseluruhan kemampuan dari sistem komputer. loader. Informatika. Novell Press.linux. tapi juga memerlukan waktu set-up yang banyak. 1997. http://www. para developer memperkenalkan konsep multiprogramming.uk/~davej/docs/post-halloween-2. Second Edition. Tapi utilisasi CPU tetap saja rendah. sistem komputer digunakan dari depan konsol. Linux Kernel Development . Sistem Operasi . Komputer tidak perlu lagi menunggu operasi oleh pengguna. 39 . digunakan jasa operator dan menggabungkan tugas-tugas yang sama (sistembatch). DAFTAR RUJUKAN Abraham Silberschatz. 2003. Edisi Kedua. Hal ini dikarenakan lambatnya kecepatan alat-alat untuk Masukan/Keluaran relatif terhadap kecepatan CPU. linker dan kompilator meningkatkan kenyamanan dari sistem pemrograman. Greg Gagne. [Hariyanto1997] Bambang Hariyanto . Perangkat lunak seperti assembler. 2005.

Second Edition. 40 . Modern Operating Systems. Second Edition. Prentice-Hall. 2001.[Tanenbaum1997] Andrew S Tanenbaum dan Albert S Woodhull. Operating Systems Design and Implementation. [Tanenbaum2001] Andrew S Tanenbaum. Prentice-Hall. 1997.

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->