Jumat, 05 April 2013

Sistem Operasi (Operating System)



Tanpa perangkat lunak (software) sebuah komputer sebenarnya sekumpulan besi yang tidak berguna. Dengan software sebuah komputer dapat digunakan untuk menyimpan, mengolah data (memproses) dan mendapatkan kembali informasi yang telah disimpan, menemukan kesalahan dalam program, memainkan games dan menggunakan banyak aktivitas lainnya yang bernilai. Pada umumnya program komputer dapat dibagi menjadi dua kategori, yaitu :
  1. Program sistem (system program). Yang berfungsi untuk mengatur operasi dari komputer itu sendiri.
  2. Program aplikasi (application program). Yang berfungsi untuk membantu menyelesaikan masalah untuk pemakainya.

Blok Diagram Komputer.

Gambar 1. Blok Diagram Komputer.
Dasar yang sangat penting dari semua program sistem adalah operating system yang mengontrol semua sumber daya komputer dan menyediakan landasan sehingga sebuah program aplikasi dapat ditulis atau dijalankan.
Banyak cara / metode yang menyediakan pelindung (sheild) atau sesuatu yang dapat menyembunyikan programmer dari kekomplekan perangkat keras. Salah satunya dengan menentukan / membuat sebuah lapis (layer) perangkat lunak yang mengendalikan komponen pokok perangkat keras, mengatur semua bagian sistem dan menyediakan pemakai dengan antarmuak (interface) / virtual machine yang memudahkan memahami dan memprogram. Lapisan dari perangkat lunak tersebut adalah operating system.

Gambar 2. Komponen Sistem Komputer

Keterangan :
  • Perangkat keras / hardware membentuk dua atau lebih lapis. Lapis yang paling bawah (physical devices) berisi perangkat fisik, yang terdiri dari integrasi circuit chips, kabel (wires), power supplies, cathode ray tubes (CRT) dan perangkat lainnya yang dibuat dan sistem kerjanya merupakan bagian insinyur elektronik. 
  • Lapis berikutnya, software primitive langsung mengontrol peralatan tersebut (physical devices)  dan menyediakan interface (a cleaner interface) untuk layer diatasnya dikenal dengan microprogram yang ditempatkan dalam read-only memory (ROM). Sebenarnya microprogram berfungsi sebagai penerjemah, mengambil (fetching) intruksi bahasa mesin, seperti ADD, MOVE dan JUMP serta melaksanakan proses-proses kecil yang saling terkait. Contohnya apabila melaksanakan instruksi ADD, microprogram harus menentukan dimana angka-angka yang ditambahkan ditempatkan (disimpan sementara), mengambilnya, menambahkannya dan menyimpan hasilnya disuatu tempat tertentu. 
  • Sekumpulan instruksi yang diterjemahkan microprogram disebut machine language (bahasa mesin), yang memilikim 50 sampai 300 instruksi yang kenyataannya bukan bagian dari perangkat mesin semuanya, tetapi pembuat komputer selalu menjelaskannya dalam manualnya (sejenis buku panduan perangkat kerasnya), sehingga banyak orang mengira sebagai mesin sesungguhnya. Dalam lapis ini, perangkat masukan/keluaran mengontrol pemuatan nilai ke dalam register khusus. 
  • Fungsi utama dari Operating System adalah menyembunyikan semua kekomplekan / kerumitan dan memberikan programmer sebuah kenyamanan, kemudahan, kepraktisan dari instruksi yang digunakan untuk bekerja dengannya, contohnya, READ BLOCK FROM  FILE adalah konsep / gagasan penyederhanaan daripada harus berpikir  tentang bagaimana memindahkan head disk secara rinci, menunggu untuk menjadi tenang (posisi istirahat).
  • Diatas lapis Operating System (OS) adalah untuk menempatkan software system. Dari sini ditemukan penerjemah perintah (command interpreter/shield), compiler, editor dan application program independent. Adalah penting untuk menyadari/merealisasikan bahwa program-program ini dengan pasti bukan bagian dari SO, walaupun secara khas disediakan oleh pembuat komputer. OS adalah bagian dari software yang dijalankan dalam kernel mode atau supervisor mode. SO memproteksi dari pemakai yang menganggu pemakain hardware 
  • Compiler dan editors dijalankan dalam user mode. Jika seorang tidak suka sebuah compiler khusus, pemakai bebas menulis miliknya jika dapat memilih dan tentunya tidak bebas untuk menangani interrupt disk yang merupakan bagian dari OS dan normalnya akan memproteksi hardware terhadap usaha pemakai untuk memodifikasinya.
  • Diatas layer system program adalah application program. Program ini ditulis oleh user untuk memecahkan masalah khusus, seperti proses pengolahan data, perhitungan rekayasa atau memainkan sebuah permainan.

Sistem Operasi Komputer.

Pengertian Sistem Operasi
  • Seperangkat program yang memantau dan mengatur pemakaian sumber daya komputer (processor, main memory, file, I/O device, dll).
  • Menjembatani / penghubung antara user (program user) dengan perangkat keras komputer.
Fungsi Sistem Operasi

1. Sebagai Resource Manager / pengelola seluruh sumber daya sistem komputer
    - Mengatur dan mengefisienkan penggunaan selluruh sumber daya komputer (computer resources) 
    - Tugas utamanya : memantau penggunaan semua resources; menerapkan aturan (policy); mengalokasikan  
       resources yang diminta; mengambil kembali (dealokasi) resource
    - Sumber daya pada komputer terdiri dari :
  • Sumber daya fisik, misalnya : Keyboard, bar-code reader, mouse, joystick, light-pen, touch-screen, pointing devices, floppy disk drive, harddisk, tape drive, optical disk, CD ROM drive, CRT, LCD, printer, modem, ethernet card, PCMCIA, RAM, cache memory, register, kamera, sound card, radio, digitizer, scanner, plotter, dan sebagainya.
  • Sumber daya abstrak, terdiri dari :Data dan Program
2. Sebagai Extended Machine (Virtual Machine), penyedia layanan
    - Menyembunyikan kompleksitas / kerumitan pemrograman hardware dari programmer atau user.
    - Menyajikan fasilitas yang lebih mudah dan sederhana untuk menggunakan hardware.

Konsep Sistem Operasi

1. Proses

    - Proses adalah program yang sedang di-eksekusi.
    - Proses terdiri dari : Executable program; program data dan stack; program counter; dll
    - Pada sistem timesharing secara periodik sistem operasi menggilir eksekusi proses-proses yang ada, 
       biasanya berdasarkan porsi waktu CPU.
    - Ketika suatu proses dihentikan untuk sementara, maka proses tersebut harus dimulai kembali pada state 
      yang sama dengan state ketika ia dihentikan.
  • Semua informasi yang berkaitan dengan proses tersebut harus disimpan. Umumnya informasi tersebut disimpan pada tabel proses (array atau linked list), satu tabel untuk setiap proses.
  • Tabel proses (process table) adalah tabel yang berisi informasi tentang semua proses yang dijalankan.
  • Suatu proses terdiri dari : address space (core image) dan atribut / informasi pada tabel proses
   - Sistem call utama dalam pengaturan proses adalah yang berkaitan dengan pembuatan dan pemberhentian 
     suatu proses.
     Contoh :
     • Command interpreter atau shell akan membaca command yang diketikkan user pada terminal, dan 
        membuat proses yang menjalankan command tersebut.
     • Bila telah selesai, maka proses akan menjalankan system call untuk menghentikan dirinya.
   - Suatu proses dapat men-create proses lainnya yang disebut sebagai child process.
   - Sistem operasi dapat berkomunikasi dengan suatu proses dengan menggunakan signal.
   - Signal juga dapat digunakan untuk komunikasi antar proses.
   - Pada sistem multiprogramming, setiap proses memiliki user identification (uid) yang berasal dari uid 
     pemilik proses.

2. Files

    Terdiri dari : Pathname; Working directory; rwx (read, write, execute) bits protection code; File 
    descriptor / handle; Special file (block & character); Standard input; Standard output; Standard error; 
    Pipe. SO mendukung konsep direktori.

3. System Calls / API (Aplication Programming Interface)
  • Suatu set tata cara pemanggilan di program aplikasi untuk memperoleh layanan system operasi. Berupa extended instructions / perluasan instruksi yang merupakan interface / layanan langsung antara program-program dengan sistem operasi.
  • System calls meng-create, men-delete dan menggunakan objek-objek yang diatur oleh system operasi, antara lain : proses-proses dan file-file.
  • Library procedure meletakkan parameter-parameter system call pada tempat tertentu dan memberikan instruksi trap untuk memulai sistem operasi
  • Trap instruction : ketika diterima oleh sistem operasi, sistem memeriksa apakah parameter tersebut valid atau tidak
  • Return form trap : sistem operasi mengembalikan kontrol ke library procedure
  • Contoh mekanisme system calls untuk READ pada program C. 
                      count = read (file, buffer, nbytes)

4. Shell
  • Shell pada Unix merupakan command interpreter yang walaupun bukan merupakan bagian dari sistem operasi, menggunakan banyak feature sistem operasi
  • Prompt : standar input, menandakan bahwa shell siap menerima command
  • Contoh :
date
date > file
sort < file1 > file2
cat file1 file2 file3 | sort > /dev/lp
  • Background job : proses yang berjalan sementara user tetap bisa terus bekerja
Struktur Sistem Operasi

1. Sistem Monolitik 
   - Konsep : “Sistem operasi sebagai kumpulan prosedur dimana prosedur dapat saling dipanggil oleh       
      prosedur lain di sistem bila diperlukan”.
   - Kernel berisi semua layanan yang disediakan sistem operasi untuk pemakai.
   - Contoh : Sistem Operasi Unix menggunakan konsep kernel loadable modules, yaitu :
     • Bagian-bagian kernel terpenting berada dimemori utama secara tetap.
     • Bagian-bagian esensi lain berupa modul yang dapat ditambahkan ke kernel saat diperlukan dan dicabut 
        begitu tidak digunakan lagi diwaktu jalan (run-time).
  - The ‘big mess’
  - Tidak berstruktur
  - Kernel call / supervisor call
  - User mode
  - Kernel mode / supervisor mode
Gambar 3. Struktur Sistem Monolitik
2. Sistem Berlapis (Layered Sistem) 
   - Konsep : “Sistem operasi dibentuk secara hirarki berdasarkan lapisan-lapisan, dimana lapisan-lapisan 
      memberi layanan lapisan lebih atas”.
   - Dimaksudkan untuk mengurangi kompleksitas rancangan dan implementasi system operasi. Tiap lapisan 
      mempunyai fungsional dan antarmuka I/O antara dua lapisan bersebelahan.
   - Contoh : 
     • Sistem Operasi THE (Technique Hogesschool Endiche), Djikstra, 1968.
     • Sistem Operasi MULTICS (menggunakan concentric rings).

Gambar 4. Lapisan Sistem Operasi THE
Keterangan :
  • Lapisan n memberi layanan untuk lapisan n+1. Proses-proses di lapisan n dapat meminta layanan lapisan n-1 untuk memberikan layanan bagi lapisan n+1. Tetapi lapisan n tidak dapat meminta layanan n+1. Kelanjutan sistem berlapis adalah sistem berstruktur cincin seperti sistem MULTICS yang terdiri 64 lapisan cincin dimana satu lapisan mempunyai fungsi berbeda. Lapisan n-1 mempunyai kewenangan lebih dibanding lapisan n. Untuk meminta layanan lapisan n-1, lapisan n melakukan trap. Kemudian, lapisan n-1 mengambil kendali sepenuhnya untuk    melayani lapisan n.
3. Sistem dengan Mesin Maya (Virtual Machines)
  • Konsep : “Awalnya struktur ini membuat seolah-olah user mempunyai seluruh komputer dengan simulasi atas pemroses yang digunakan. Sistem operasi melakukan simulasi mesin nyata. Mesin hasil simulasi digunakan user, mesin maya merupakan tiruan 100% atas mesin nyata. Semua user diberi ilusi mempunyai satu mesin yang sama-sama canggih”.
  • Contoh : 
          • Sistem operasi MS-Windows NT dapat menjalankan aplikasi MS-Dos, OS/2 mode teks, dan 
            Win 16.
          • Pengembang Linux membuat DOSEMU agar aplikasi MS-Dos dapat dijalankan di Linux, WINE 
            agar aplikasi MS-Windows dapat dijalankan di Linux, iBCS agar aplikasi SCO-Unix dapat 
            dijalankan di Linux.
  • CP/CMS
  • VM/370
  • Virtual Machine Monitor
  • CMS (Conversational Monitor System)                 
Gambar 5. Sistem Virtua Machines









| Pondok IT

0 komentar:

Posting Komentar

    Blogger news

    Blogroll

    About