Qurban amanah Bersama Da'i AbdurrahmanGani

Cerita tentang Indonesia-Gamers-chetter

Minggu, 22 Mei 2011

Makalah Sistem Operasi


DAFTAR ISI

SISTEM OPERASI


Oleh:
Abdurrahman gani
40110041

UNIVERSITAS GUNADARMA
2011
ILMU KOMPUTER


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. Kedua orang tua kami, atas segala dukungan yang telah diberikan.
  2. Dosen yang telah mengajar saya dengan baik
  3. Serta anak 1DC01 Dan anak HMTK
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.


Jakarta, 21 mei 2011


Penulis
(Abdurrahman gani)



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. Pustaka-pustaka, yaitu yang menyediakan kumpulan fungsi dasar dan standar yang dapat dipanggil oleh aplikasi lain
  5. Driver untuk berinteraksi dengan hardware eksternal, sekaligus untuk mengontrol mereka.
Sebagian Sistem Operasi hanya mengizinkan satu aplikasi saja yang berjalan pada satu waktu, tetapi sebagian besar Sistem Operasi baru mengizinkan beberapa aplikasi berjalan secara simultan pada waktu yang bersamaan. Sistem Operasi seperti itu disebut sebagai Multi-tasking Operating System. Beberapa Sistem Operasi berukuran sangat besar dan kompleks, serta inputnya tergantung kepada input pengguna, sedangkan Sistem Operasi lainnya sangat kecil dan dibuat dengan asumsi bekerja tanpa intervensi manusia sama sekali. Tipe yang pertama sering disebut sebagai Desktop OS, sedangkan tipe kedua adalah Real-Time OS.
Seiring dengan berkembangnya Sistem Operasi, semakin banyak lagi layanan yang menjadi layanan inti umum. Kini, sebuah OS mungkin perlu menyediakan layanan network dan koneksitas internet, yang dulunya tidak menjadi layanan inti umum. Sistem Operasi juga perlu untuk menjaga kerusakan sistem komputer dari gangguan program perusak yang berasal dari komputer lainnya, seperti virus. Daftar layanan inti umum akan terus bertambah.
Program saling berkomunikasi antara satu dengan lainnya dengan Antarmuka Pemrograman Aplikasi, Application Programming Interface atau disingkat dengan API. Dengan API inilah program aplikasi dapat berkomunikasi dengan Sistem Operasi. Sebagaimana manusia berkomunikasi dengan komputer melalui Antarmuka User, program juga berkomunikasi dengan program lainnya melalui API.
Walaupun demikian API sebuah komputer tidaklah berpengaruh sepenuhnya pada program-program yang dijalankan diatas platform operasi tersebut. Contohnya bila program yang dibuat untuk windows 3.1 bila dijalankan pada windows 95 dan generasi setelahnya akan terlihat perbedaan yang mencolok antara window program tersebut dengan program yang lain.
Sistem operasi-sistem operasi utama yang digunakan komputer sistem umum (termasuk PC, komputer personal) terbagi menjadi 3 kelompok besar:
  1. Keluarga Microsoft Windows - yang antara lain terdiri dari Windows Desktop Environment (versi 1.x hingga versi 3.x), Windows 9x (Windows 95, 98, dan Windows ME), dan Windows NT (Windows NT 3.x, Windows NT 4.0, Windows 2000, Windows XP, Windows Server 2003, dan Windows Vista yang akan dirilis pada tahun 2007)).
  2. Keluarga Unix yang menggunakan antarmuka sistem operasi POSIX, seperti SCO UNIX, keluarga BSD (Berkeley Software Distribution), GNU/Linux, MacOS/X (berbasis kernel BSD yang dimodifikasi, dan dikenal dengan nama Darwin) dan GNU/Hurd.
  3. Mac OS, adalah sistem operasi untuk komputer keluaran Apple yang biasa disebut Mac atau Macintosh. Sistem operasi yang terbaru adalah Mac OS X versi 10.4 (Tiger). Awal tahun 2007 direncanakan peluncuran versi 10.5 (Leopard).
Sedangkan komputer Mainframe, dan Super komputer menggunakan banyak sekali sistem operasi yang berbeda-beda, umumnya merupakan turunan dari sistem operasi UNIX yang dikembangkan oleh vendor seperti IBM AIX, HP/UX, dll.
Dalam makalah ini, juga akan dibahas tentang fungsi dasar dari system operasi, tujuan mempelajari system operasi, sejarah dari system operasi, layanan yang terdapat dalam system operasi. Dan juga kita akan membahas tentang layanan dan antarmuka, serta akan membahas tentang Linux.




BAB II
PEMBAHASAN


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

  1. Sejarah system operasi
Menurut Tanenbaum, sistem operasi mengalami perkembangan yang sangat pesat, yang dapat dibagi kedalam empat generasi:
Generasi Pertama (1945-1955)
Generasi pertama merupakan awal perkembangan sistem komputasi elektronik sebagai pengganti sistem komputasi mekanik, hal itu disebabkan kecepatan manusia untuk menghitung terbatas dan manusia sangat mudah untuk membuat kecerobohan, kekeliruan bahkan kesalahan. Pada generasi ini belum ada sistem operasi, maka sistem komputer diberi instruksi yang harus dikerjakan secara langsung.
Generasi Kedua (1955-1965)
Generasi kedua memperkenalkan Batch Processing System, yaitu Job yang dikerjakan dalam satu rangkaian, lalu dieksekusi secara berurutan.Pada generasi ini sistem komputer belum dilengkapi sistem operasi, tetapi beberapa fungsi sistem operasi telah ada, contohnya fungsi sistem operasi ialah FMS dan IBSYS.
Generasi Ketiga (1965-1980)
Pada generasi ini perkembangan sistem operasi dikembangkan untuk melayani banyak pemakai sekaligus, dimana para pemakai interaktif berkomunikasi lewat terminal secara on-line ke komputer, maka sistem operasi menjadi multi-user (di gunakan banyak pengguna sekali gus) dan multi-programming (melayani banyak program sekali gus).
Generasi Keempat (Pasca 1980an)
Dewasa ini, sistem operasi dipergunakan untuk jaringan komputer dimana pemakai menyadari keberadaan komputer-komputer yang saling terhubung satu sama lainnya. Pada masa ini para pengguna juga telah dinyamankan dengan Graphical User Interface yaitu antar-muka komputer yang berbasis grafis yang sangat nyaman, pada masa ini juga dimulai era komputasi tersebar dimana komputasi-komputasi tidak lagi berpusat di satu titik, tetapi dipecah dibanyak komputer sehingga tercapai kinerja yang lebih baik.
  1. Layanan system operasi
Sebuah sistem operasi yang baik menurut Tanenbaum harus memiliki layanan sebagai berikut: pembuatan program, eksekusi program, pengaksesan I/O Device, pengaksesan terkendali terhadap berkas pengaksesan sistem, deteksi dan pemberian tanggapan pada kesalahan, serta akunting.
Pembuatan program yaitu sistem operasi menyediakan fasilitas dan layanan untuk membantu para pemrogram untuk menulis program; Eksekusi Program yang berarti Instruksi-instruksi dan data-data harus dimuat ke memori utama, perangkat-parangkat masukan/ keluaran dan berkas harus di-inisialisasi, serta sumber-daya yang ada harus disiapkan, semua itu harus di tangani oleh sistem operasi.
Pengaksesan I/O Device, artinya Sistem Operasi harus mengambil alih sejumlah instruksi yang rumit dan sinyal kendali menjengkelkan agar pemrogram dapat berfikir sederhana dan perangkat pun dapat beroperasi.
Pengaksesan terkendali terhadap berkas yang artinya disediakannya mekanisme proteksi terhadap berkas untuk mengendalikan pengaksesan terhadap berkas.
Pengaksesan sistem artinya pada pengaksesan digunakan bersama (shared system). Fungsi pengaksesan harus menyediakan proteksi terhadap sejumlah sumber-daya dan data dari pemakai tak terdistorsi serta menyelesaikan konflik-konflik dalam perebutan sumber-daya.
Deteksi dan Pemberian tanggapan pada kesalahan, 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.
Dan Akunting yang artinya Sistem Operasi yang bagus mengumpulkan data statistik penggunaan beragam sumber-daya dan memonitor parameter kinerja.

  1. LAYANAN DAN ANTARMUKA
  1. Jenis Layanan
Seperti yang telah kita ketahui bersama, tujuan dari sebuah sistem operasi adalah sebagai penghubung antara user dan hardware, dimana sistem operasi memberikan kemudahan-kemudahan agar user tidak harus mengakses hardware secara langsung dalam bahasa mesin, tetapi dalam bentuk layanan-layanan yang diberikan oleh sistem operasi. Layanan sistem operasi dirancang untuk membuat pemrograman menjadi lebih mudah.

  1. Pembuatan Program
Sistem operasi menyediakan berbagai fasilitas yang membantu programer dalam membuat program seperti editor. Walaupun bukan bagian dari sistem operasi, tapi layanan ini diakses melalui sistem operasi.

  1. Eksekusi Program
Eksekusi program adalah kemampuan sistem untuk "load" program ke memori dan menjalankan program. Operasi I/O: pengguna tidak dapat secara langsung mengakses sumber daya perangkat keras, 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, membuat, and menghapus berkas).
Komunikasi adalah pertukaran data/ informasi antar dua atau lebih proses yang berada pada satu komputer (atau lebih). Deteksi error adalah menjaga kestabilan sistem dengan mendeteksi "error", perangkat keras mau pun operasi.
Efesisensi penggunaan sistem:
  • Resource allocator adalah mengalokasikan sumber-daya ke beberapa pengguna atau job yang jalan pada saat yang bersamaan.
  • Proteksi menjamin akses ke sistem sumber daya dikendalikan (pengguna dikontrol aksesnya ke sistem).
  • Accounting adalah merekam kegiatan pengguna, jatah pemakaian sumber daya (keadilan atau kebijaksanaan).

  1. Antarmuka
Sistem operasi menyediakan berbagai fasilitas yang membantu programmer dalam membuat program seperti editor. Walaupun bukan bagian dari sistem operasi, tapi layanan ini diakses melalui sistem operasi.

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



  1. Manipulasi Sistem Berkas
Program harus membaca dan menulis berkas, dan kadang kala juga harus membuat dan menghapus berkas.
Sebuah berkas adalah jenis data abstrak. Untuk mendefinisikan berkas secara tepat, kita perlu melihat operasi yang dapat dilakukan pada berkas tersebut. Sistem operasi menyediakan system calls untuk membuat, membaca, menulis, mencari, menghapus, dan sebagainya.
Berikut dapat kita lihat apa yang harus dilakukan sistem operasi pada keenam operasi dasar pada berkas.
Membuat sebuah berkas
Ada dua cara dalam membuat berkas: Pertama, tempat baru di dalam system berkas harus di alokasikan untuk berkas yang akan dibuat. Kedua, sebuah direktori harus mempersiapkan tempat untuk berkas baru, kemudian direktori tersebut akan mencatat nama berkas dan lokasinya pada sistem berkas.
Menulis pada sebuah berkas: Untuk menulis pada berkas, kita menggunakan system call beserta nama berkas yang akan ditulisi dan informasi apa yang akan ditulis pada berkas. Ketika diberi nama berkas, sistem mencari ke direktori untuk mendapatkan lokasi berkas. Sistem juga harus menyimpan penunjuk tulis pada berkas dimana penulisan berikut akan ditempatkan. Penunjuk tulis harus diperbaharui setiap terjadi penulisan pada berkas.
Membaca sebuah berkas: Untuk dapat membaca berkas, kita menggunakan system call beserta nama berkas dan di blok memori mana berkas berikutnya diletakkan. Sama seperti menulis, direktori mencari berkas yang akan dibaca, dan sistem menyimpan penunjuk baca pada berkas dimana pembacaan berikutnya akan terjadi. Ketika pembacaan dimulai, penunjuk baca harus diperbaharui. Sehingga secara umum, suatu berkas ketika sedang dibaca atau ditulis, kebanyakan sistem hanya mempunyai satu penunjuk, baca dan tulis menggunakan penunjuk yang sama, hal ini menghemat tempat dan mengurangi kompleksitas sistem.
Menempatkan kembali sebuah berkas: Direktori yang bertugas untuk mencari berkas yang bersesuaian, dan mengembalikan lokasi berkas pada saat itu. Menempatkan berkas tidak perlu melibatkan proses Masukan/Keluaran. Operasi sering disebut pencarian berkas.
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.
Memendekkan berkas: Ada suatu keadaan dimana pengguna menginginkan atribut dari berkas tetap sama tetapi ingin menghapus isi dari berkas tersebut. Fungsi ini mengizinkan semua atribut tetap sama tetapi panjang berkas menjadi nol, hal ini lebih baik dari pada memaksa pengguna untuk menghapus berkas dan membuatnya lagi.
Enam operasi dasar ini sudah mencakup operasi minimum yang di butuhkan. Operasi umum lainnya adalah menyambung informasi baru di akhir suatu berkas, mengubah nama suatu berkas, dan lain-lain.
Operasi dasar ini kemudian digabung untuk melakukan operasi lainnya. Sebagai contoh misalnya kita menginginkan salinan dari suatu berkas, atau menyalin berkas ke peralatan Masukan/Keluaran lainnya seperti printer, dengan cara membuat berkas lalu membaca dari berkas lama dan menulis ke berkas yang baru.
Hampir semua operasi pada berkas melibatkan pencarian berkas pada direktori. Untuk menghindari pencarian yang lama, kebanyakan sistem akan membuka berkas apabila berkas tersebut digunakan secara aktif. Sistem operasi akan menyimpan tabel kecil yang berisi informasi semua berkas yang dibuka yang disebut "tabel berkas terbuka". Ketika berkas sudah tidak digunakan lagi dan sudah ditutup oleh yang menggunakan, maka sistem operasi mengeluarkan berkas tersebut dari tabel berkas terbuka.
Beberapa sistem terkadang langsung membuka berkas ketika berkas tersebut digunakan dan otomatis menutup berkas tersebut jika program atau pemakainya dimatikan. Tetapi pada sistem lainnya terkadang membutuhkan pembukaan berkas secara tersurat dengan system call (open) sebelum berkas dapat digunakan.
Implementasi dari buka dan tutup berkas dalam lingkungan dengan banyak perngguna seperti UNIX, lebih rumit. Dalam sistem seperti itu pengguna yang membuka berkas mungkin lebih dari satu dan pada waktu yang hampir bersamaan. Umumnya sistem operasi menggunakan tabel internal dua level. Ada
tabel yang mendata proses mana saja yang membuka berkas tersebut, kemudian tabel tersebut menunjuk ke tabel yang lebih besar yang berisi informasi yang berdiri sendiri seperti lokasi berkas pada disk, tanggal akses dan ukuran berkas.
Biasanya tabel tersebut juga memiliki data berapa banyak proses yang
membuka berkas tersebut. Jadi, 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, sistem tersebut harus mengikuti posisi dimana terakhir proses baca dan tulis sebagai penunjuk. Penunjuk ini unik untuk setiap operasi pada berkas, maka dari itu harus disimpan terpisah dari atribut berkas yang ada pada disk.
  • 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. Karena mungkin ada beberapa proses yang membuka berkas secara bersamaan dan sistem harus menunggu sampai berkas tersebut ditutup sebelum mengosongkan tempatnya di tabel. Penghitung ini mencatat banyaknya berkas yang telah dibuka dan ditutup, dan menjadi nol ketika yang terakhir membaca berkas menutup berkas tersebut barulah sistem dapat mengosongkan tempatnya di tabel.
  • Lokasi berkas pada disk: Kebanyakan operasi pada berkas memerlukan sistem untuk mengubah data yang ada pada berkas. Informasi mengenai lokasi berkas pada disk disimpan di memori agar menghindari banyak pembacaan pada disk untuk setiap operasi. Beberapa sistem operasi menyediakan fasilitas untuk memetakan berkas ke dalam memori pada system memori virtual. Hal tersebut mengizinkan bagian dari berkas ditempatkan pada suatu alamat di memori virtual. Operasi baca dan tulis pada memori dengan alamat tersebut dianggap sebagai operasi baca dan tulis pada berkas yang ada di alamat tersebut. Menutup berkas mengakibatkan semua data yang ada pada alamat memori tersebut dikembalikan ke disk dan dihilangkan dari memori virtual yang digunakan oleh proses.



  1. Deteksi Error
Sistem operasi harus selalu waspada terhadap kemungkinan error. Error dapat terjadi di CPU dan memori perangkat keras, masukan/keluaran, dan di dalam program yang dijalankan pengguna. Untuk setiap jenis error sistem operasi harus bisa mengambil langkah yang tepat untuk mempertahanan jalannya proses komputasi, misalnya dengan menghentikan jalannya
program, mencoba kembali melakukan operasi yang dijalankan, atau melaporkan kesalahan yang terjadi agar pengguna dapat mengambil langkah selanjutnya.
Disamping pelayanan di atas, terdapat juga layanan-layanan lain yang bertujuan untuk mempertahankan efisiensi sistem itu sendiri. Layanan tambahan itu yaitu:
Alokasi Sumber Daya: Ketika beberapa pengguna menggunakan sistem atau beberapa program dijalankan secara bersamaan, sumber daya harus dialokasikan bagi masing-masing pengguna dan program tersebut.
Accounting: Kita menginginkan agar jumlah pengguna yang menggunakan sumber daya, dan jenis sumber daya yang digunakan selalu terjaga. Untuk itu maka diperlukan suatu perhitungan dan statistik. Perhitungan ini diperlukan bagi seseorang yang ingin merubah konfigurasi system untuk meningkatkan pelayanan.
Proteksi: Layanan proteksi memastikan bahwa segala akses ke sumber daya terkontrol; dan tentu saja keamanan terhadap gangguan dari luar sistem tersebut. Keamanan bisa saja dilakukan dengan terlebih dahulu mengindentifikasi pengguna. Ini bisa dilakukan dengan meminta password bila ingin menggunakan sumber daya.

  1. Antarmuka
Antarmuka (interface) adalah salah satu layanan yang disediakan sistem operasi sebagai sarana interaksi antara pengguna dengan sistem operasi. Antarmuka adalah komponen system operasi yang bersentuhan langsung dengan pengguna. Terdapat dua jenis antarmuka, yaitu Command Line Interface (CLI) dan Graphical User Interface (GUI).
  1. Command Line Interface (CLI)
CLI adalah tipe antarmuka dimana pengguna berinteraksi dengan sistem operasi melalui text-terminal. Pengguna menjalankan perintah dan program di sistem operasi tersebut dengan cara mengetikkan baris-baris tertentu. Meskipun konsepnya sama, tiap-tiap sistem operasi memiliki nama atau istilah yang berbeda untuk CLI-nya.
UNIX memberi nama CLI-nya sebagai bash, ash, ksh, dan lain sebagainya. Microsoft Disk Operating System (MS-DOS) memberi nama command.com atau Command Prompt. Sedangkan pada Windows Vista, Microsoft menamakannya PowerShell. Pengguna Linux mengenal CLI pada Linux sebagai terminal, sedangkan pada Apple namanya adalah commandshell.
  1. Graphical User Interface (GUI)
GUI adalah tipe antarmuka yang digunakan oleh pengguna untuk berinteraksi dengan sistem operasi melalui gambar-gambar grafik, ikon, menu, dan menggunakan perangkat penunjuk (pointing device) seperti mouse atau track ball. Elemen-elemen utama dari GUI bisa diringkas dalam konsep WIMP (window, icon, menu, pointing device).














Gambar 2.1. Contoh GUI
Pengguna komputer yang awam seringkali menilai sebuah sistem operasi dari GUI-nya. Sebuah sistem operasi dianggap bagus jika tampilan luarnya (GUI-nya) bagus. Padahal, seperti telah dijelaskan sebelumnya, komponen sistem operasi tidak hanya GUI, sehingga penilaian terhadap sebuah sistem operasi tidak bisa hanya dari satu komponen saja. Karena GUI adalah kesan pertama pengguna dengan sistem operasi itu, setiap pengembang sistem operasi berlomba-lomba mengembangkan GUI-nya dengan keunggulannya masing-masing.
Sejarah mencatat bahwa Xerox PARC (Palo Alto Research Center) yang pertama kali meriset tentang GUI. Pada tahun 1984, Apple merilis Macintosh yang menggunakan GUI hasil riset Xerox PARC. Beberapa tahun kemudian, Microsoft merilis sistem operasi Windows-nya yang juga menggunakan GUI. Apple mengklaim bahwa Microsoft mencuri ide dari Apple. Seperti halnya CLI, tiap-tiap sistem operasi juga memiliki nama tersendiri untuk komponen GUI-nya. Pada Apple Mac OS X, GUI-nya disebutAqua. Microsoft memberi nama GUI Windows XP sebagai Lunar dan GUI Windows Vista sebagai Aero.
Pada Linux, ada dua pengembang utama desktop environment pada Linux, yang masing-masing menghasilkan produk KDE (K Desktop Environment) dan GNOME. KDE digunakan pada beberapa distro seperti SuSE dan Mandrake, sedangkan GNOME dipakai pada beberapa distro seperti Fedora Core dan Ubuntu.
  1. System Calls
Komputer digunakan untuk melakukan suatu proses yang dikehendaki user. Oleh karena itu harus ada suatu bentuk komunikasi antara user dan hardware. Komunikasi itu terjadi dalam bentuk system calls. Sistem operasi melalui shell-nya akan menangkap perintah dari user yang kemudian akan dikomunikasikan melalui system calls. Disinilah peran Sistem Operasi sebagai jembatan komunikasi antara user dan hardware itu terjadi.
System calls itu sendiri umumnya ditulis dalam bahasa C dan C++. Mengenai shell, shell itu sendiri secara umum adalah layer yang berfungsi sebagai interface antara user dan inti dalam sistem operasi (kernel). Melalui shell, user dapat memberi

perintah-perintah yang akan dikirim ke sistem operasi, sehingga shell ini merupakan layer yang menerima interaksi dari user secara langsung. Shell dalam Sistem Operasi secara umum dibagi menjadi 2, Command Line (CLI) dan Graphical (GUI). Jadi dengan kata lain, system calls berperan sebagai interface dalam layanan-layanan yang disediakan oleh sistem operasi.
Untuk lebih jelasnya lihat gambar berikut. Contoh di bawah adalah sytem calls di dalam program yang membaca data dari satu file lalu meng-copy-nya ke file lain.









Gambar 2.2. Contoh System Call
System call menyediakan interface antara program (program pengguna yang berjalan) dan bagian Sistem Operasi. System call menjadi jembatan antara proses dan sistem operasi. System call ditulis dalam bahasa assembly atau bahasa tingkat tinggi yang dapat mengendalikan mesin (C). Contoh: UNIX menyediakan system call: read, write => operasi I/O untuk berkas.
Sering pengguna program harus memberikan data (parameter) ke OS yang










Akan di panggil. Contoh pada UNIX: read (buffer, max_size, file_id). Tiga cara memberikan parameter dari program ke sistem operasi:
Melalui registers (sumber daya di CPU).
Menyimpan parameter pada data struktur (table) di memori, dan alamat table tsb ditunjuk oleh pointer yang disimpan di register.
Push (store) melalui "stack" pada memori dan Sistem Operasi mengambilnya melalui pop pada stack tsb.
Gambar 2.3. Memberikan parameter melalui tabel

  1. Jenis System Calls
Berikut ini adalah tipe system calls:
Manajemen Proses
System Calls untuk managemen proses diperlukan untuk mengatur proses-proses yang sedang berjalan. Kita dapat melihat penggunaan system calls untuk managemen proses pada Sistem Operasi Unix. Contoh yang paling baik untuk melihat bagaimana system calls bekerja untuk managemen proses adalah Fork.
Fork adalah satu satunya cara untuk membuat sebuah proses baru pada system Unix. Fork membuat duplikasi yang mirip dengan proses aslinya, termasuk file descriptor, register, dan lainnya.
Setelah perintah Fork, child akan mengeksekusi kode yang berbeda dengan parentnya. Bayangkan yang terjadi pada shell. Shell akan membaca command dari terminal, melakukan fork pada child, menunggu child untuk mengeksekusi command tersebut, dan membaca command lainnya ketika child terminate.
Untuk menunggu child selesai, parent akan mengeksekusi system call waitpid, yang hanya akan menunggu sampai child selesai. Proses child harus mengeksekusi command yang dimasukkan oleh user (pada kasus shell). Proses child melakukannya dengan menggunakan system calls exec.
Dari ilustrasi tersebut kita dapat mengetahui bagaimana system calls dipakai untuk managemen proses. Kasus lainnya bukan hanya pada Fork, tetapi hampir setiap proses memerlukan system calls untuk melakukan management proses.
Manajemen Berkas
System calls yang berhubungan dengan berkas sangat diperlukan. Seperti ketika kita ingin membuat atau menghapus suatu berkas, atau ketika ingin membuka atau menutup suatu berkas yang telah ada, membaca berkas tersebut, dan menulis berkas itu. System calls juga diperlukan ketika kita ingin mengetahui atribut dari suatu berkas atau ketika kita juga ingin merubah atribut tersebut. Yang termasuk atribut berkas adalah nama berkas, jenis berkas, dan lain-lain. Ada juga system calls yang menyediakan mekanisme lain yang berhubungan dengan direktori atau sistem berkas secara keseluruhan. Jadi bukan hanya berhubungan dengan satu spesifik berkas. Contohnya membuat atau menghapus suatu direktori, dan lain-lain.
    • Manajemen Piranti
    • System Call Informasi/Pemeliharaan

    • Dua model komunikasi:
              • Message-passing. Pertukaran informasi dilakukan melalui fasilitas komunikasi antar proses yang disediakan oleh sistem operasi.
              • Shared-memory. Proses menggunakan memori yang bisa digunakan oleh berbagai proses untuk pertukaran informasi dengan membaca dan menulis data pada memori tersebut. Dalam message-passing, sebelum komunikasi dapat dilakukan harus dibangun dulu sebuah koneksi. Untuk itu diperlukan suatu system calls dalam pengaturan koneksi tersebut, baik dalam menghubungkan koneksi tersebut maupun dalam memutuskan koneksi tersebut ketika komunikasi sudah selesai dilakukan. Juga diperlukan suatu system calls untuk membaca dan menulis pesan (message) agar pertukaran informasi dapat dilakukan.

Dalam contoh program sederhana diatas, dibutuhkan setidaknya ribuan system calls per detik. Oleh karena itu Kebanyakan programmer membuat aplikasi dengan menggunakan Application Programming Interface (API). 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. Tidak tertutup kemungkinan nama dari system calls sama dengan nama di API.
Keuntungan memprogram dengan menggunakan API adalah:




III. 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. Ia menulis Linux, sebuah kernel untuk prosesor 80386, prosesor 32-bit pertama dalam kumpulan CPU Intel yang cocok untuk PC. Baru pada tanggal 14 Maret 1994 versi 1.0 mulai diluncurkan, dan hal ini menjadi tonggak sejarah Linux.
Linux merupakan clone dari UNIX yang telah di-port ke beragam platform, antara lain: Intel 80x86, AlphaAXP, MIPS, Sparch, Power PC, dsb. Sekitar 95% kode sumber kernel sama untuk semua platform perangkat keras. Linux termasuk sistem operasi yang didistribusikan secara open source, artinya kode sumber Linux diikutsertakan sehingga dapat dipelajari dan dikembangkan dengan mudah.
Selain itu Linux dikembangkan oleh GNU (General Public License). Linux dapat digunakan untuk berbagai keperluan, seperti: jaringan, pengembangan software, dan sebagai end-user platform. Selama ini Linux menjadi sistem operasi yang menjadi banyak perhatian karena kecanggihan dan harganya yang relatif murah dibanding dengan sistem operasi yang lain.
Macam-macam distribusi Linux antara lain: Stackware, Debian, RedHat, S.u.s.e., Caldera, dan Turbo Linux. Istilah Linux atau GNU/Linux (GNU) juga digunakan sebagai rujukan kepada keseluruhan distro Linux (Linux distribution), yang didalamnya selalu disertakan program-program lain yang mendukung sistem operasi ini. Contoh program-program tersebut adalah Web Server, Bahasa Pemrograman, Basis Data, Tampilan Desktop (Desktop Environment) (seperti GNOME dan KDE), dan aplikasi/software perkantoran (office suite) seperti OpenOffice.org, KOffice, Abiword, Gnumeric, dan lainnya.
Distro Linux telah mengalami pertumbuhan yang pesat dari segi popularitas, 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.
Linux mendukung banyak Perangkat keras Komputer, dan telah digunakan di dalam berbagai peralatan dari Komputer pribadi, Superkomputer dan Sistem Benam (Embedded System) seperti Telepon Seluler Ponsel dan Perekam Video pribadi Tivo. Pada mulanya, Linux dibuat, dikembangkan dan digunakan oleh peminatnya saja. Kini Linux telah mendapat dukungan dari perusahaan besar seperti IBM, dan Hewlett-Packard dan perusahaan besar lain. Para pengamat teknologi informatika beranggapan kesuksesan ini dikarenakan Linux tidak bergantung kepada vendor (vendor-independence), biaya operasional yang rendah, dan kompatibilitas yang tinggi dibandingkan versi UNIX proprietari, serta faktor keamanan dan kestabilannya dibandingkan dengan Microsoft Windows. Ciri-ciri ini juga menjadi bukti atas keunggulan model pengembangan perangkat lunak sumber terbuka opensource software.
Pada pentium, Linux hanya menggunakan 6 segmen:
    • 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, karena semua proses menggunakan ruang alamat logis yang sama dan semua descriptor segmen terletak di GDT. TSS ( Task-State Segment ) digunakan untuk menyimpan context hardware dari setiap proses selama context switch. Tiap proses mempunyai TSS sendiri, dimana descriptor -nya terletak di GDT. Segment default LDT normalnya berbagi dengan semua proses dan biasanya tidak digunakan. Jika suatu proses membutuhkan LDT-nya, maka proses dapat membuatnya dan tidak menggunakan default LDT. Tiap selector segmen mempunyai 2 bit proteksi. Maka, pentium Mengizinkan proteksi 4 level. Dari 4 level ini, Linux hanya mengenal 2 level, yaitu pengguna mode dan kernel mode. Berikut ini merupakan tiga level penghalaman dalam Linux.
Gambar 3.1. Memori Virtual

    • Kernel
Bagian ini akan menjelaskan kernel secara umum dan sejarah perkembangan Kernel Linux. Kernel adalah suatu perangkat lunak yang menjadi bagian utama dari sebuah sistem operasi. Tugasnya melayani bermacam program aplikasi untuk mengakses perangkat keras komputer secara aman. Karena akses terhadap perangkat keras terbatas, sedangkan ada lebih dari satu program yang harus dilayani dalam waktu yang bersamaan, maka kernel juga bertugas untuk mengatur kapan dan berapa
lama suatu program dapat menggunakan satu bagian perangkat keras tersebut. Hal tersebut dinamakan sebagai multiplexing.
Akses kepada perangkat keras secara langsung merupakan masalah yang kompleks, oleh karena itu kernel biasanya mengimplementasikan sekumpulan abstraksi hardware. Abstraksi-abstraksi tersebut merupakan sebuah cara untuk menyembunyikan kompleksitas, dan memungkinkan akses kepada perangkat keras menjadi mudah dan seragam. Sehingga abstraksi pada akhirnya memudahkan pekerjaan programer.
Untuk menjalankan sebuah komputer kita tidak harus menggunakan kernel sistem operasi. Sebuah program dapat saja langsung di-load dan dijalankan diatas mesin 'telanjang' komputer, yaitu bilamana pembuat program ingin melakukan pekerjaannya tanpa bantuan abstraksi perangkat keras atau bantuan sistem operasi. Teknik ini digunakan oleh komputer generasi awal, sehingga bila kita ingin berpindah dari satu program ke program lain, kita harus mereset dan meload kembali
program-program tersebut.
Ada 4 kategori kernel:
    1. Monolithic kernel
Kernel yang menyediakan abstraksi perangkat keras yang kaya dan tangguh.
    1. Microkernel
    2. Hybrid (modifikasi dari microkernel)
    3. Exokernel
Dari keempat kategori kernel yang disebutkan diatas, kernel Linux termasuk kategori monolithic kernel. Kernel Linux berbeda dengan sistem Linux.
Kernel Linux merupakan sebuah perangkat lunak orisinil yang dibuat oleh komunitas Linux, sedangkan sistem Linux, yang dikenal saat ini, mengandung banyak komponen yang dibuat sendiri atau dipinjam dari proyek pengembangan lain. Kernel Linux pertama yang dipublikasikan adalah versi 0.01, pada tanggal 14 Maret 1991. Sistem berkas yang didukung hanya sistem berkas Minix. Kernel pertama dibuat berdasarkan kerangka Minix (sistem UNIX kecil yang dikembangkan oleh Andy Tanenbaum). Tetapi, kernel tersebut sudah mengimplementasi proses UNIX secara tepat.
Pada tanggal 14 Maret 1994 dirilis versi 1.0, yang merupakan tonggak sejarah Linux. Versi ini adalah kulminasi dari tiga tahun perkembangan yang cepat dari kernel Linux. Fitur baru terbesar yang disediakan adalah jaringan. Versi 1.0 mampu mendukung protokol standar jaringan TCP/IP. Kernel 1.0 juga memiliki sistem berkas yang lebih baik tanpa batasan-batasan sistem berkas Minix. Sejumlah dukungan perangkat keras ekstra juga dimasukkan ke dalam rilis ini. Dukungan perangkat keras telah berkembang termasuk diantaranya floppy-disk, CD-ROM, sound card, berbagai mouse, dan keyboard internasional. Dukungan juga diberikan terhadap modul kernel yang loadable dan unloadable secara dinamis.
Satu tahun kemudian dirilis kernel versi 1.2. Kernel ini mendukung variasi perangkat keras yang lebih luas. Pengembang telah memperbaharui networking stack untuk menyediakan support bagi protokol IPX, dan membuat implementasi IP lebih lengkap dengan memberikan fungsi accounting dan firewalling. Kernel 1.2 ini merupakan kernel Linux terakhir yang PC-only. Konsentrasi lebih diberikan pada dukungan perangkat keras dan memperbanyak implementasi lengkap pada fungsi-fungsi yang ada.
Pada bulan Juni 1996, kernel Linux 2.0 dirilis. Versi ini memiliki dua kemampuan baru yang penting, yaitu dukungan terhadap multiple architecture dan multiprocessor architectures. Kode untuk manajemen memori telah diperbaiki sehingga kinerja sistem berkas dan memori virtual meningkat. Untuk pertama kalinya, file system caching dikembangkan ke networked file systems, juga sudah didukung writable memory mapped regions. Kernel 2.0 sudah memberikan kinerja TCP/IP yang lebih baik, ditambah dengan sejumlah protokol jaringan baru. Kemampuan untuk memakai remote netware dan SMB (Microsoft LanManager) network volumes juga telah ditambahkan pada versi terbaru ini. Tambahan lain adalah dukungan internal kernel threads, penanganan dependencies antara modul-modul loadable, dan loading otomatis modul berdasarkan permintaan (on demand). Konfigurasi dinamis dari kernel pada run time telah diperbaiki melalui konfigurasi interface yang baru dan standar.
Semenjak Desember 2003, telah diluncurkan Kernel versi 2.6, yang dewasa ini (2007) telah mencapai patch versi 2.6.21.1 (http://kambing.ui.edu/kernel-linux/v2.6/). Hal-hal yang berubah dari versi 2.6 ini adalah:
Subitem M/K yang dipercanggih.
Kernel yang pre-emptif.
Penjadwalan Proses yang dipercanggih.
Threading yang dipercanggih.
Implementasi ALSA (Advanced Linux Sound Architecture) dalam kernel.
Dukungan sistem berkas seperti: ext2, ext3, reiserfs, adfs, amiga ffs, apple macintosh hfs, cramfs, jfs, iso9660, minix, msdos, bfs, free vxfs, os/2 hpfs, qnx4fs, romfs, sysvfs, udf, ufs, vfat, xfs, BeOS befs (ro), ntfs (ro), efs (ro).
Sistem Linux terdiri dari tiga bagian kode penting:
Kernel: Bertanggung-jawab memelihara semua abstraksi penting dari sistem operasi, termasuk hal-hal seperti memori virtual dan proses-proses.
Perpustakaan sistem: menentukan kumpulan fungsi standar dimana aplikasi dapat berinteraksi dengan kernel, dan mengimplementasi hampir semua fungsi sistem operasi yang tidak memerlukan hak penuh atas kernel.
Utilitas sistem: adalah program yang melakukan pekerjaan managemen secara individual.
Walaupun berbagai sistem operasi modern telah mengadopsi suatu arsitektur message-passing untuk kernel internal mereka, Linux tetap memakai model historis UNIX: kernel diciptakan sebagai biner yang tunggal dan monolitis. Alasan utamanya adalah untuk meningkatkan kinerja, karena semua struktur data dan kode kernel disimpan dalam satu address space, alih konteks tidak diperlukan ketika sebuah proses memanggil sebuah fungsi sistem operasi atau ketika interupsi perangkat keras dikirim. Tidak hanya penjadualan inti dan kode memori virtual yang menempati address space ini, tetapi juga semua kode kernel, termasuk semua device drivers, sistem berkas, dan kode jaringan, hadir dalam satu address space yang sama.
Kernel Linux membentuk inti dari sistem operasi Linux. Dia menyediakan semua fungsi yang diperlukan untuk menjalankan proses, dan menyediakan layanan sistem untuk memberikan pengaturan dan proteksi akses ke sumber daya perangkat keras. Kernel mengimplementasi semua fitur yang diperlukan supaya dapat bekerja sebagai sistem operasi. Namun, jika sendiri, system operasi yang disediakan oleh kernel Linux sama sekali tidak mirip dengan sistem UNIX. Dia tidak memiliki banyak fitur ekstra UNIX, dan fitur yang disediakan tidak selalu dalam format yang
diharapkan oleh aplikasi UNIX. Interface dari sistem operasi yang terlihat oleh aplikasi yang sedang berjalan tidak ditangani langsung oleh kernel, akan tetapi aplikasi membuat panggilan (calls) keperpustakaan sistem, yang kemudian memanggil layanan sistem operasi yang dibutuhkan.

  1. Distro
Distro Linux (singkatan dari distribusi Linux) adalah sebutan untuk sistem operasi komputer mirip Unix yang menggunakan kernel Linux. Distribusi Linux bisa berupa perangkat lunak bebas dan bisa juga berupa perangkat lunak komersial seperti Red Hat Enterprise, SuSE, dan lain-lain.
Ada banyak distribusi atau distro Linux yang telah muncul. Beberapa bertahan dan besar, bahkan sampai menghasilkan distro turunan, 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. Distro ini menginginkan adanya semangat open-source yang harus tetap ada pada Debian. Kedinamisan distro ini membuat setiap rilis paket-paketnya di-update setiap waktu dan dapat diakses melalui utilitas apt-get. 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. Milis dan forum debian selalu penuh dengan pesan-pesan baik mengenai bug, masalah, sharing, dll. Dengan adanya sistem komunikasi ini bug dan masalah keamanan pada tiap paket dapat dilaporkan oleh para pengguna dan pengembang Debian dengan cepat. Keuntungan dari Debian adalah upgradability, ketergantungan antar paket didefinisikan dengan baik, dan pengembangannya secara terbuka. Beberapa proyek dan turunan Debian GNU/Linux:
1. De2, http://de2.vlsm.org/
2. Knoppix, http://www.knoppix.org/
3. Debian JP, http://www.debian.linux.or.jp/
4. Libranet.
5. dan lain-lain

Red Hat Linux
Red Hat adalah distro yang cukup populer dikalangan pengembang dan perusahaan Linux. Dukungan-dukungan secara teknis, pelatihan,sertifikasi, aplikasi pengembangan, dan bergabungnya para hacker kernel dan free-software seperti Alan Cox, Michael Johnson, Stephen Tweedie menjadikan Red Hat berkembang cepat dan digunakan pada perusahaan. Poin terbesar dari distro ini adalah Red Hat Package Manager (RPM). 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.
Slackware
Distronya Patrick Volkerding yang terkenal pertama kali setelah SLS. Slackware dikenal lebih dekat dengan gaya UNIX, sederhana, stabil, mudah di-custom, dan didesain untuk komputer 386/486 atau lebih tinggi. Distro ini termasuk distro yang cryptic dan manual sekali bagi pemula Linux, tapi dengan menggunakan distro ini beberapa penggunanya dapat mengetahui banyak cara kerja sistem dan distro tersebut. Debian adalah salah satu distro selain Slackware yang masuk dalam kategori ini. Sebagian besar aktivitas konfigurasi di Slackware dilakukan secara manual (tidak ada tool seperti Yast pada S.U.S.E ataupunLinuxconf pada RedHat).
S.u.S.E.
S.u.S.E. adalah distro yang populer di Jerman dan Eropa, terkenal akan dukungan driver VGA-nya dan YasT. S.u.S.E tersedia secara komersial dan untuk versi GPL-nya dapat diinstal melalui ftp di situs S.u.S.E. Instalasi berbasis menu grafis dari CD-ROM, disket boot modular, 400-halaman buku referensi, dukungan teknis, dukungan driver-driver terutama VGA dan tool administrasi sistem S.u.S.E., YaST, membuat beberapa pengguna memilih distro ini. S.u.S.E. juga terlibat dalam pembuatan X server (video driver) untuk proyek XFree86 sehingga X server distro ini mendukung kartu grafis baru. S.U.S.E. menggunakan dua sistem pemaketan yaitu RPM (versi lama) dan SPM, S.U.S.E. Package Manager (versi baru).
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, TurboLinux Server untuk backend server dengan kinerja tinggi terutama untuk penggunaan bisnis di perusahaan, e-commerce dan transaksi B2B (Business-to-Business). Salah satu produknya TurboCluster Server ditargetkan untuk pembuatan server cluster yang berskala luas dan dapat digunakan 25 cluster node atau lebih.TurboCluster server ini pernah memenangkan poling Best Web Solution dari editor Linux Journal. enFuzion, satu lagi produk yang berbasis pada konsep sederhana dan powerful yang dinamakan 'parametric execution'.

  1. Lisensi
Kernel Linux terdistribusi di bawah Lisensi Publik Umum GNU (GPL), dimana peraturannya disusun oleh Free Software Foundation. Linux bukanlah perangkat lunak domain publik: Public Domain berarti bahwa pengarang telah memberikan copyright terhadap perangkat lunak mereka, tetapi copyright terhadap kode Linux masih dipegang oleh pengarang-pengarang kode tersebut.
Linux adalah perangkat lunak bebas, namun: bebas dalam arti bahwa siapa saja dapat mengkopi, modifikasi, memakainya dengan cara apa pun, dan memberikan kopi mereka kepada siapa pun tanpa larangan atau halangan. Implikasi utama peraturan lisensi Linux adalah bahwa siapa saja yang menggunakan Linux, atau membuat modifikasi dari Linux, tidak boleh membuatnya menjadi hak milik sendiri. Jika sebuah perangkat lunak dirilis berdasarkan lisensi GPL, produk tersebut tidak boleh didistribusi hanya sebagai produk biner (binary-only). Perangkat lunak yang dirilis atau akan dirilis tersebut harus disediakan sumber kodenya bersamaan dengan distribusi binernya.

  1. Prinsip Rancangan Linux
Dalam rancangan keseluruhan, Linux menyerupai implementasi UNIX nonmicrokernel yang lain. Ia adalah sistem yang multiuser, multitasking dengan seperangkat lengkap alat-alat yang kompatibel dengan UNIX. Sistem berkas Linux mengikuti semantik tradisional UNIX, dan model jaringan standar UNIX diimplementasikan secara keseluruhan. Ciri internal rancangan Linux telah dipengaruhi oleh sejarah perkembangan sistem operasi ini. Walaupun Linux dapat berjalan pada berbagai macam platform, pada awalnya dia dikembangkansecara eksklusif pada arsitektur PC. Sebagian besar dari pengembangan awal tersebut dilakukan oleh peminat individual, bukan oleh fasilitas riset yang memiliki dana besar, sehingga dari awal Linux berusaha untuk memasukkan fungsionalitas sebanyak mungkin dengan dana yang sangat terbatas.
Saat ini, Linux dapat berjalan baik pada mesin multiprocessor dengan main memory yang sangat besar dan ukuran disk space yang juga sangat besar, namun tetap mampu beroperasi dengan baik dengan jumlah RAM yang lebih kecil dari 4 MB. Akibat dari semakin berkembangnya teknologi PC, kernel Linux juga semakin lengkap dalam mengimplementasikan fungsi UNIX. Tujuan utama perancangan Linux adalah cepat dan efisien, tetapi akhir-akhir ini konsentrasi perkembangan Linux lebih pada tujuan rancangan yang ketiga yaitu standarisasi. Standar POSIX terdiri dari kumpulan spesifikasi dari beberapa aspek yang berbeda kelakuan sistem operasi. Ada dokumen POSIX untuk fungsi sistem operasi biasa dan untuk ekstensi seperti proses untuk thread dan operasi real-time.
Pustaka sistem
Menentukan kumpulan fungsi standar dimana aplikasi dapat berinteraksi dengan kernel, dan mengimplementasi hampir semua fungsi sistem operasi yang tidak memerlukan hak penuh atas kernel.
Pustaka sistem menyediakan berbagai tipe fungsi. Pada level yang paling sederhana, mereka membolehkan aplikasi melakukan permintaan pada layanan sistem kernel. Membuat suatu system calls melibatkan transfer kontrol dari mode pengguna yang tidak penting ke mode kernel yang penting; rincian dari transfer ini berbeda pada masing-masing arsitektur. Pustaka bertugas untuk mengumpulkan argumen system-call dan, jika perlu, mengatur argumen tersebut dalam bentuk khusus yang diperlukan untuk melakukan system calls. Pustaka juga dapat menyediakan versi lebih kompleks dari system call dasar. Contohnya, fungsi buffered file-handling dari bahasa C semuanya diimplementasikan dalam pustaka sistem, yang memberikan kontrol lebih baik terhadap berkas M/K daripada system calls kernel dasar. Pustaka juga menyediakan rutin yang tidak ada hubungan dengan system call, seperti algoritma penyusunan (sorting), fungsi matematika, dan rutin manipulasi string (string manipulation). Semua fungsi yang diperlukan untuk mendukung jalannya aplikasi UNIX atau POSIX diimplementasikan dalam pustaka sistem.
Utilitas sistem
Program yang melakukan pekerjaan manajemen secara individual.
Sistem Linux mengandung banyak program-program pengguna-mode: utilitas sistem dan utilitas pengguna.fungsi sistem operasi apa pun, utilitas tetap merupakan bagian penting dari sistem Linux dasar.

  1. 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. Modul kernel dapat menambah fungsionalitas kernel tanpa perlu me-reboot sistem.









BAB III
PENUTUP

KESIMPULAN
Sistem Operasi telah berkembang selama lebih dari 40 tahun dengan dua tujuan utama. Pertama, Sistem Operasi mencoba mengatur aktivitas-aktivitas komputasi untuk memastikan pendaya-gunaan yang baik dari sistem komputasi tersebut. Kedua, menyediakan lingkungan yang nyaman untuk pengembangan dan jalankan dari program.
Pada awalnya, sistem komputer digunakan dari depan konsol. Perangkat lunak seperti assembler, loader, linker dan kompilator meningkatkan kenyamanan dari sistem pemrograman, tapi juga memerlukan waktu set-up yang banyak. Untuk mengurangi waktu set-up tersebut, digunakan jasa operator dan menggabungkan tugas-tugas yang sama (sistembatch). Sistem batch mengizinkan pengurutan tugas secara otomatis dengan menggunakan Sistem Operasi yang resident dan memberikan peningkatan yang cukup besar dalam utilisasi komputer. Komputer tidak perlu lagi menunggu operasi oleh pengguna. Tapi utilisasi CPU tetap saja rendah. Hal ini dikarenakan lambatnya kecepatan alat-alat untuk Masukan/Keluaran relatif terhadap kecepatan CPU. Operasi off-line dari alat-alat yang lambat bertujuan untuk menggunakan beberapa sistem reader-to-tape dan tape-to-printer untuk satu CPU. Untuk meningkatkan keseluruhan kemampuan dari sistem komputer, para developer memperkenalkan konsep multiprogramming.

DAFTAR RUJUKAN

Abraham Silberschatz, Peter Galvin, Greg Gagne. 2003. Operating System Concepts, Sixth Edition. John Wiley & Sons.
http://www.linux.org.uk/~davej/docs/post-halloween-2.6.txt ; per 13 Desember 2004.
[Hariyanto1997] Bambang Hariyanto . 1997. Sistem Operasi . Buku Teks Ilmu Komputer . Edisi Kedua. Informatika. Bandung
[Love2005] Robert Love. 2005. Linux Kernel Development . Second Edition. Novell Press.
[Tanenbaum1997] Andrew S Tanenbaum dan Albert S Woodhull. 1997. Operating Systems Design and Implementation. Second Edition. Prentice-Hall.
[Tanenbaum2001] Andrew S Tanenbaum. 2001. Modern Operating Systems. Second Edition. Prentice-Hall.

Tidak ada komentar:

Posting Komentar

Total Tayangan Blog Me