Sistem Operasi

Bahan Kuliah IKI-20230

Gabungan Kelompok Kerja 21–28 IKI-20230 Semester Genap 2002/2003



Persembahan

Buku ini dipersembahkan dari Gabungan Kelompok Kerja 21–28 IKI-20230 Semester Genap 2002/2003 oleh Gabungan Kelompok Kerja 21–28 IKI-20230 Semester Genap 2002/2003 untuk Gabungan Kelompok Kerja 21–28 IKI-20230 Semester Genap 2002/2003

Daftar Isi
Kata Pengantar
1. PENDAHULUAN
Seputar sistem Operasi
Apa itu Sistem Operasi
Fungsi dasar sistem operasi
Tujuan Mempelajari Sistem Operasi
Sasaran Sistem Operasi
Sejarah Sistem Operasi
Layanan Sistem Operasi
Struktur Komputer
Sistem Operasi Komputer
Struktur I/O
Struktur Penyimpanan
Storage Hierarchy
Proteksi Perangkat Keras
Struktur Sistem Komputer
Komponen-komponen Sistem
Manajemen Proses
Manajemen Main-Memory
Manajemen Secondary-Storage
Manajemen Sistem I/O
Manajemen File
Sistem Proteksi
Jaringan
Command-Interpreter System
Layanan Sistem Operasi
System Calls
Virtual Machines
Perancangan Sistem dan Implementasi
System Generation(SYSGEN)
Rangkuman
Pertanyaan
Referensi
2. PROSES 1
Proses 11
Proses 12
Proses 13
Proses 14
Proses 15
Proses 16
Proses 17
Proses 18
3. PROSES 2
Proses 21
Proses 22
4. MEMORI
Memori 41
Memori 42
Memori 43
Memori 44
Memori 45
Memori 46
Memori 47
Memori 48
Memori 49
Memori 4A
Memori 4B
Memori 4C
Memori 4D
5. BERKAS
Berkas 51
Berkas 52
Berkas 53
Berkas 54
Berkas 55
Berkas 56
Berkas 57
Berkas 58
Berkas 59
Berkas 5A
Berkas 5B
Berkas 5C
Berkas 5D
6. LINUX
Linux 71
Linux 72
Linux 73
Linux 74
Linux 75
Linux 76
Linux 77
Linux 78
Linux 79
Linux 7A
Linux 7B
Linux 7C
Linux 7D
Linux 7E
Linux 7F
Linux 7G
Linux 7H
Daftar Pustaka
A. APPENDIX A
B. APPENDIX B
Indeks

Kata Pengantar

bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla...


Bab 1. PENDAHULUAN

Pengertian sistem operasi secara umum adalah pengelola seluruh sumberdaya yang terdapat pada sistem komputer dan menyediakan sekumpulan layanan (sistem calls) ke pemakai sehingga memudahkan dan menyamankan penggunaan serta pemanfaatan sumberdaya sistem komputer.


Seputar sistem Operasi

Sistem operasi adalah sebuah penghubung antara pengguna dari komputer dengan perangkat keras komputer. Sebelum ada sistem operasi orang hanya mengunakan komputer dengan menggunakan sinyal analog dan sinyal digital. Seiring dengan berkembangnya pengetahuan dan teknologi manusia, sistem operasi ikut berkembang, sehingga pada saat ini terdapat berbagai sistem operasi dengan keunggulan masing-masing. Untuk lebih memahami sistem operasi maka sebaiknya kita mengetahui terlebih dahulu beberapa konsep dasar mengenai sistem operasi itu sendiri.


Sejarah Sistem Operasi

Setelah komputer diciptakan, menurut TANENBAUM Sistem Operasi mengalami perkembangan yang sangat pesat, dan bisa dibagi kedalam empat generasi :


Layanan Sistem Operasi

Sistem Operasi yang baik menurut TANENBAUM harusnya memiliki pelayanan sebagai berikut : Pembuatan Program,Eksekusi Program,Pengaksesan I/O Device, Pengaksesan terkendali terhadap file Pengaksesan sistem, Deteksi dan Pemberian tanggapan pada error, Akunting.

Pembuatan Program yaitu Sistem Operasi menyediakan fasilitas dan layanan untuk membantu pemrogram untuk menulis program, Eksekusi Program yang berarti Instruksi-instruksi dan data-data harus dimuat ke main-memory, perangkat-parangkat masukan/pengeluaran dan files harus diinisialisasi, 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 perangkatpun dapat beroperasi, Pengaksesan terkendali terhadap fileyang artinya Disediakannya mekanisme proteksi terhadap file untuk mengendalikan pengaksesan terhadap file, Pengaksesan sistem artinya pada pengaksesan dipakai bersama (shared system), fungsi pengaksesan harus menyediakan proteksi terhadap sejumlah sumberdaya dan data dari pemakai tak terdistorsi serta menyelesaikan konflik-konflik dalam perebutan sumberdaya, Deteksi dan Pemberian tanggapan pada error yaitu Jika muncul permasalahan muncul di sistem komputer maka sistem operasi harus memberikan tanggapan yang menjelaskan error yang terjadi serta dampaknya terhadap aplikasi yang sedang berjalan dan Akunting yang artinya Sistem Operasi yang bagus mengumpulkan data statistik penggunaan beragam sumberdaya dan memonitor parameter kinerja.


Struktur Komputer

Adapun Struktur Sistem Komputer adalah :


Struktur Penyimpanan

Program computer harus berada di main memory (biasanya RAM) untuk dapat dijalankan. Main memory adalah satu-satunya tempat penyimpanan yang dapat diakses secara langsung oleh prosesor. Idealnya program dan data secara keseluruhan dapat disimpan dalam main memory secara permanen . Namun demikian hal ini tidak mungkin karena:


Proteksi Perangkat Keras

Sistem komputer terdahulu berjenis programmer-operated systems. Ketika komputer dioperasikan dalam konsol mereka(pengguna) harus melengkapi sistem terlebih dahulu. Akan tetapi setelah sistem operasi lahir maka hal tersebut diambil alih oleh sistem operasi. Sebagai contoh pada monitor yang proses I/O sudah diambil alih oleh O/S, padahal dahulu hal ini dilakukan oleh pengguna.

Untuk meningkatkan utilisasi sistem, O/S akan membagi sistem sumber daya sepanjang program secara simultan. Pengertian spooling adalah suatu program dapat dikerjakan walaupun I/O masih mengerjakan proses lainnya dan disk secara bersamaan menggunakan data untuk banyak proses. Pengertian multi programming adalah kegiatan menjalankan beberapa program pada memori pada satu waktu.

Pembagian ini memang menguntungkan sebab banyak proses dapat berjalan pada satu waktu akan tetapi mengakibatkan masalah-masalah baru. Ketika tidak di sharing maka jika terjadi kesalahan hanyalah akan membuat kesalahan program. Tapi jika disharing jika terjadi kesalahan pada satu proses/program akan berpengaruh pada proses lainnya

Sehingga diperlukan pelindung(proteksi).Tanpa proteksi jika terjadi kesalahan maka hanya satu saja program yang dapat dijalankan atau seluruh output pasti diragukan

Banyak kesalahan pemprograman dideteksi oleh perangkat keras. Kesalahan ini biasanya ditangani oleh sistem operasi.Jika terjadi kesalahan program, perangkat keras akan meneruskan kepada sistem operasi dan sistem operasi akan menginterupsi dan mengakhirinya. Pesan kesalahan disampaikan, dan memori dari program akan dibuang. Tapi memori yang terbuang biasanya tersimpan pada disk agar programmer bisa membetulkan kesalahan dan menjalankan program ulang.


Struktur Sistem Komputer


Virtual Machines

Sebuah vitual machine menggunakan misalkan terdapat sistem program => control program yang mengatur pemakaian sumber daya perangkat keras. Control program = trap System call + akses ke perangkat keras. Control program memberikan fasilitas ke proses pengguna . Mendapatkan jatah CPU dan memori. Menyediakan interface "identik" dengan apa yang disediakan oleh perangkat keras => sharing devices untuk berbagai proses.

Virtual Machine(VM) => control program yang minimal VM memberikan ilusi multitasking: seolah-olah terdapat prosesor dan memori ekslusif digunakan VM. VM memilah fungsi multitasking dan implementasi extended machine (tergantung proses pengguna) => flexible dan lebih mudah untuk pengaturan. Jika setiap pengguna diberikan satu VM => pengguna bebas untuk menjalankan OS (kernel) yang diinginkan pada VM tersebut. Potensi lebih dari satu OS dalam satu komputer. Contoh : IBM VM370: menyediakan VM untuk berbagai OS: CMS (interaktif), MVS, CICS, dll. Masalah : Sharing disk => setiap OS mempunyai file sistem yang mungkin berbeda. IBM: virtual disk (minidisk) yang dialokasikan untuk pengguna melalui VM.

Konsep VM menyediakan proteksi yang lengkap untuk sumberdaya sistem, dikarenakan tiap VM terpisah dari VM yang lain. Namun, hal tersebut menyebabkan tidak adanya sharing sumberdaya secara langsung. VM merupakan alat yang tepat untuk penelitian dan pengembangan sistem operasi. Konsep VM susah untuk diimplementasi sehubungan dengan usaha yang diperlukan untuk menyediakan duplikasi dari mesin utama.


Rangkuman

Sistem operasi telah berkembang selama lebih dari 40 tahun dengan dua tujuan utama. Pertama, sistem operasi mencoba mengatur aktivitas-aktivitas komputasi untuk memastikan pendayagunaan 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 compiler 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 (sistem batch). Sistem batch mengijinkan 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 I/O 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 . Dengan multiprogramming, beberapa tugas disimpan dalam memori dalam satu waktu; CPU digunakan secara bergantian sehingga menambah utilisasi CPU dan mengurangi total waktu yang dibutuhkan untuk menyelesaikan tugas-tugas tersebut. Multiprogramming, yang dibuat untuk meningkatkan kemampuan, juga mengizinkan time sharing. Sistem operasi yang bersifat time-shared memperbolehkan banyak pengguna untuk menggunakan komputer secara interaktif pada saat yang bersamaan. Personal Komputer adalah mikrokomputer yang dianggap lebih kecil dan lebih murah dibandingkan komputer mainframe . Sistem operasi untuk komputer-komputer seperti ini diuntungkan oleh pengembangan sistem operasi untuk komputer mainframe dalam beberapa hal. Namun, semenjak penggunaan komputer untuk keperluan pribadi, maka utilisasi CPU tidak lagi menjadi perhatian utama. Karena itu, beberapa desain untuk komputer mainframe tidak cocok untuk sistem yang lebih kecil.

Sistem parallel mempunyai lebih dari satu CPU yang mempunyai hubungan yang erat; CPU-CPU tersebut berbagi bus komputer, dan kadang-kadang berbagi memori dan perangkat yang lainnya. Sistem seperti itu dapat meningkatkan throughput dan reliabiliti. Sistem hard real-time seringkali digunakan sebagai alat pengontrol untuk applikasi yang dedicated. Sistem operasi yang hard real-time mempunyai batasan waktu yang tetap yang sudah didefinisikan dengan baik.Pemrosesan harus selesai dalam batasan-batasan yang sudah didefinisikan, atau sistem akan gagal. Sistem soft real-time mempunyai lebih sedikit batasan waktu yang keras, dan tidak mendukung penjadwalan dengan menggunakan batas akhir. Pengaruh dari internet dan World Wide Web baru-baru ini telah mendorong pengembangan sistem operasi modern yang menyertakan web browser serta perangkat lunak jaringan dan komunikasi sebagai satu kesatuan.

Multiprogramming dan sistem time-sharing meningkatkan kemampuan komputer dengan melampaui batas operasi ( overlap ) CPU dan I/O dalam satu mesin. Hal seperti itu memerlukan perpindahan data antara CPU dan alat I/O, ditangani baik dengan polling atau interrupt-driven akses ke I/O port , atau dengan perpindahan DMA. Agar komputer dapat menjalankan suatu program, maka program tersebut harus berada di memori utama (main memory). Memori utama adalah satu-satunya tempat penyimpanan yang besar yang dapat diakses secara langsung oleh prosessor, merupakan suatu array dari word atau byte, yang mempunyai ukuran ratusan sampai jutaan ribu. Setiap word memiliki alamatnya sendiri. memori utama adalah tempat penyimpanan yang volatile, dimana isinya hilang bila sumber energinya ( energi listrik ) dimatikan. Kebanyakan sistem komputer menyediakan secondary storage sebagai perluasan dari memori utama. Syarat utama dari secondary storage adalah dapat menyimpan data dalam jumlah besar secara permanen. Secondary storage yang paling umum adalah disk magnetik, yang meyediakan penyimpanan untuk program maupun data. Disk magnetik adalah alat penyimpanan data yang nonvolatile yang juga menyediakan akses secara random. Tape magnetik digunakan terutama untuk backup, penyimpanan informasi yang jarang digunakan, dan sebagai media pemindahan informasi dari satu sistem ke sistem yang lain.

Beragam sistem penyimpanan dalam sistem komputer dapat d isusun dalam hirarki berdasarkan kecepatan dan biayanya. Tingkat yang paling atas adalah yang paling mahal, tapi cepat. Semakin kebawah, biaya perbit menurun, sedangkan waktu aksesnya semakin bertambah ( semakin lambat). Sistem operasi harus memastikan operasi yang benar dari sistem komputer. Untuk mencegah pengguna program mengganggu operasi yang berjalan dalam sistem, perangkat keras mempunyai dua mode : mode pengguna dan mode monitor. Beberapa perintah (seperti perintah I/O dan perintah halt) adalah perintah khusus, dan hanya dapat dijalankan dalam mode monitor. Memori juga harus dilindungi dari modifikasi oleh pengguna. Timer mencegah terjadinya pengulangan secara terus menerus (infinite loop). Hal-hal tersebut (dual mode, perintah khusus, pengaman memori, timer interrupt ) adalah blok bangunan dasar yang digunakan oleh sistem operasi untuk mencapai operasi yang sesuai.

Sistem operasi menyediakan banyak pelayanan. Di tingkat terendah, sistem calls mengizinkan program yang sedang berjalan untuk membuat permintaan secara langsung dari sistem operasi. Di tingkat tertinggi, command interpreter atau shell menyediakan mekanisme agar pengguna dapat membuat permintaan tanpa menulis program. Command dapat muncul dari file sewaktu jalankan batch-mode, atau secara langsung dari terminal ketika dalam mode interaktive atau time-shared. Program sistem disediakan untuk memenuhi kebanyakan dari permintaan pengguna. Tipe dari permintaan beragam sesuai dengan levelnya. Level sistem call harus menyediakan fungsi dasar, seperti kontrol proses serta manipulasi alat dan file. Permintaan dengan level yang lebih tinggi ( command interpreter atau program sistem) diterjemahkan kedalam urutan sistem call.

Pelayanan sistem dapat dikelompokkan kedalam beberapa kategori : kontrol program, status permintaan dan permintaan I/O. Program error dapat dipertimbangkan sebagai permintaan yang implisit untuk pelayanan. Bila sistem pelayanan sudah terdefinisi, maka struktur dari sistem operasi dapat dikembangkan. Berbagai macam tabel diperlukan untuk menyimpan informasi yang mendefinisikan status dari sistem komputer dan status dari sistem tugas. Perancangan dari suatu sistem operasi yang baru merupakan tugas yang utama. Sangat penting bahwa tujuan dari sistem sudah terdefinisi dengan baik sebelum memulai perancangan. Tipe dari sistem yang diinginkan adalah landasan dalam memilih beragam algoritma dan strategi yang akan digunakan. Karena besarnya sistem operasi, maka modularitas adalah hal yang penting. Merancang sistem sebagai suatu urutan dari layer atau dengan menggunakan mikrokernel merupakan salah satu teknik yang baik. Konsep virtual machine mengambil pendekatan layer dan memperlakukan baik itu kernel dari sistem operasi dan perangkat kerasnya sebagai suatu perangkat keras. Bahkan sistem operasi yang lain dapat dimasukkan diatas virtual machine tersebut. Setiap sistem operasi yang mengimplemen JVM dapat menjalankan semua program java, karena JVM mendasari dari sistem ke program java, menyediakan arsitektur tampilan yang netral.

Didalam daur perancangan sistem operasi, kita harus berhati-hati untuk memisahkan pembagian kebijakan (policy decision)dengan detail dari implementasi (mechanism) . Pemisahan ini membuat fleksibilitas yang maksimal apabila policy decision akan diubah kemudian. Sistem operasi sekarang ini hampir selalu ditulis dengan menggunakan bahasa tingkat tinggi. Hal ini meningkatkan implementasi, perawatan portabilitas. Untuk membuat sistem operasi untuk suatu konfigurasi mesin tertentu, kita harus melakukan system generation.


Bab 2. PROSES 1

bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla...


Bab 3. PROSES 2

bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla...


Bab 4. MEMORI

bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla...


Bab 5. BERKAS

bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla...


Bab 6. LINUX

bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla...


Daftar Pustaka

[Silberschatz2000] Avi Silberschatz, Peter Galvin, dan Grag Gagne, 2000, Applied Operating Systems: First Edition, Edisi Pertama, John Wiley & Sons.

[Walsh2002] Norman Walsch dan Leonard Muellner, Bob Stayton, 1999, 2000, 2001, 2002, DocBook: The Definitive Guide, Version 2.0.7, O'Reilly.


Lampiran A. APPENDIX A

bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla...


Lampiran B. APPENDIX B

bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla... bla...


Indeks

Bad Blocks, Bad Blocks
Blocking dan Nonblocking I/O, Blocking dan Nonblocking I/O
Boot Block, Boot Block
Buffering, Buffering
Caching, Caching
Circular-SCAN, Penjadwalan C-SCAN
Daftar Istilah, Daftar Istilah
DMA , Apakah DMA itu ?
Error Handling, Error Handling
First Come First Serve, Penjadwalan FCFS
Fitur pada Komputer Modern , Fitur Tambahan pada Komputer Modern
Format Disk, Memformat Disk
Handshaking , Handshaking
I/O Scheduling, I/O Scheduling
Implementasi DMA , Cara-cara Implementasi DMA
Implementasi Fungsi I/O , Implementasi Fungsi I/O
Implementasi Stable-Storage, Implementasi Stable-Storage
Interface Aplikasi I/0, Interface Aplikasi I/O
Interrupt Request Line , Interrupt Request Line
Interrupt Vector dan Interrupt Chaining , Interrupt Vector dan Interrupt Chaining
Jam dan Timer, Jam dan Timer
Kernel Data Structure, Kernel Data Structure
Kernel I/O Subsystem, Kernel I/O Subsystem
Lokasi Swap-Space, Lokasi Swap-Space
LOOK, Penjadwalan LOOK
Mekanisme Dasar Interupsi , Mekanisme Dasar Interupsi
Memilih Algoritma Penjadwalan Disk, Pemilihan Algoritma Penjadwalan Disk
Meningkatkan Efisiensi I/O , Cara Meningkatkan Efisiensi I/O
Penanganan Swap-Space, Penanganan Swap-Space
Pengaruh I/O pada Performa, Pengaruh I/O pada Performa
Pengelolaan Swap-Space, Pengelolaan Swap-Space
Penggunaan Swap-Space, Penggunaan Swap-Space
Penjadwalan Blok, Penjadwalan Disk
Penyebab Interupsi , Penyebab Interupsi
Peralatan Block dan Karakter, Peralatan Block dan Karakter
Peralatan Jaringan, Peralatan Jaringan
Perangkat Keras I/O , Perangkat Keras I/O
Permintaan I/O , Penanganan Permintaan I/O
Polling , Polling
Reabilitas Disk, Reabilitas Disk
Referensi, Referensi
SCAN, Penjadwalan SCAN
Shortest Seek Time First, Penjadwalan SSTF
Soal Latihan, Soal Latihan
Spooling dan Reservasi Device, Spooling dan Reservasi Device
Struktur Disk, Struktur Disk
Summary, I/O
Transfer DMA , Transfer DMA