Selasa, 08 November 2011

Struktur Sistem Operasi

Struktur Sistem Operasi
  • Komponen Sistem Operasi
  • Layanan Sistem Operasi
  • Sistem Call
  • Sistem Program
  • Struktur Sistem Operasi
  • Mesin Virtual
Komponen Sistem Operasi
  1. Sistem operasi terdiri dari beberapa komponen, antara lain
  2. manajemen proses
  3. manajemen memori utama
  4. manajemen file
  5. manajemen sistem I/O
  6. manajemen penyimpan sekunder
  7. system jaringan
  8. system proteksi
  9. system command interpreter
Manajemen Proses
  • Proses adalah program yang sedang dieksekusi.  Sebuah proses memerlukan sumber daya (resource) tertentu seperti waktu CPU, memori, file dan perangkat I/O untuk menyelesaikan tugasnya.
  • Untuk mengatur proses yang ada, sistem operasi bertanggung jawab pada aktrifitas-aktifitas yang berhubungan dengan manajemen proses berikut :
    1. Pembuatan dan penghapusan proses yang dibuat oleh user atau sistem
    2. Menghentikan proses sementara dan melanjutkan proses.
    3. Menyediakan kelengkapan mekanisme untuk sinkronisasi proses dan komunikasi proses.

Manajemen Memori Utama
  • Memori utama atau biasanya disebut dengan memori adalah sebuah array besar berukuran byte, dimana setiap array tersebut mempunyai alamat tertentu. Memori adalah penyimpan yang dapat mengakses data dengan cepat yang digunakan oleh CPU dan perangkat I/O. Memori adalah perangkat penyimpan volatile. Isi memori akan hilang apabila terjadi kegagalan system.
  • Untuk mengatur memori, sistem operasi bertanggung jawab pada aktifitas-aktifitas manajemen memori sebagai berikut :
    1. Menjaga dan memelihara bagian-bagian memori yang sedang digunakan dan dari yang menggunakan.
    2. Memutuskan proses-proses mana saja yang harus dipanggil ke memori jika tersedia ruang di memori.
    3. Mengalokasikan dan mendealokasikan ruang memori jika diperlukan.

Manajemen File
  • File adalah kumpulan informasi yang saling berhubungan yang sudah didefinisikan oleh pembuatnya (user).  Biasanya, file berupa program (baik dalam bentu source maupun object) dan data.
  • Untuk mengatur file, sistem operasi bertanggung jawab pada aktifitas-aktifitas yang berhubungan dengan manajemen file sebagai berikut: 
    1. Pembuatan dan penghapusan file.
    2. Pembuatan dan penghapusan direktori.
    3. Mendukung manipulasi file dan direktori.
    4. Pemetaan file ke memori sekunder.
    5. Backup file ke media penyimpanan yang permanen (non-volatile).

Manajemen I/O

Sistem operasi bertanggung-jawab pada aktifitas-aktifitas sistem  I/O sebagai berikut:
  • Sistem buffer-caching.
  • Antarmuka device-driver secara umum.
  • Driver untuk device hardware-hardware tertentu
Manajemen Penyimpanan Sekunder
  • Karena memori utama (primary storage) bersifat volatile dan terlalu kecil untuk mengakomodasi semua data dan program secara permanen, sistem komputer harus menyediakan penyimpan sekunder (secondary storage) untuk  back up memori utama. Beberapa sistem komputer modern menggunakan disk untuk media penyimpan on-line, baik program maupun data.
  • Sistem operasi bertanggung jawab pada aktifitas-aktifitas manajemen penyimpan sekunder sebagai berikut:
    1. Pengaturan ruang bebas.
    2. Alokasi penyimpanan.
    3. Penjadwalan disk. 

Sistem Jaringan (Sistem Terdistribusi)
  • Dukungan terhadap komunikasi data antar perangkat komputer mutlak diperlukan. Pada model sistem terdistribusi, dimana sistem operasi mengatur mekanisme penjadualan penggunaan resource komputer dalam jaringan,  maka sekumpulan prosesor yang tidak berbagi memori atau clock diatur oleh sistem operasi komputer host untuk pengunaan prosesor dan alokasi tempat penyimpanan serta mekanisme pendistribusian data maupun proses yang dilakukan.
  • Sistem terdistribusi memungkinkan  user untuk mengakses sumber daya (resource) yang beragam. Dengan mengakses sumber daya yang dapat digunakan bersama-sama tersebut akan memberikan keuntungan dalam:
    1. Meningkatkan kecepatan komputasi.
    2. Meningkatkan ketersediaan data.
    3. Meningkatkan kehandalan sistem.

Sistem Proteksi
  • Proteksi adalah suatu mekanisme untuk mengontrol akses oleh program, proses atau user pada sistem maupun resource dari user.
  • Mekanisme sistem proteksi yang harus disediakan sistem meliputi :
1.    Membedakan antara penggunaan yang sah dan yang tidak sah.
2.    Menetapkan sistem pengaturan yang digunakan.
3.    Menyiapkan alat yang digunakan.

Sistem Command Interpreter
  • Beberapa perintah yang  dimasukkan ke sistem operasi menggunakan pernyataan kontrol yang digunakan untuk:
1.    Manajemen dan pembuatan proses
2.    Penangananan I/O
3.    Manajemen penyimpan sekunder
4.    Manajemen memori utama
5.    Akses sistem file
6.    Proteksi
7.    Jaringan
  • Program yang membaca dan menterjemakan pernyataan kontrol disebut dengan command-line intepreter atau shell pada UNIX. Fungsinya adalah untuk mengambil dan mengeksekusi pernyataan perintah berikutnya.
Layanan Sistem Operasi
  • Sistem operasi menyediakan layanan untuk programmer sehingga dapat melakukan pemrograman dengan mudah.
    1. Eksekusi Program. Sistem harus dapat memanggil program ke memori dan menjalankannya. Program tersebut harus dapat mengakhiri eksekusinya dalam bentuk normal atau abnormal (indikasi error). 
    2. Operasi-operasi I/O. Pada saat running program kemungkinan dibutuhkan I/O, mungkin berupa file atau peralatan I/O. Agar efisien dan aman, maka user tidak boleh mengontrol I/O secara langsung, pengontrolan dilakukan oleh sistem operasi. 
    3. Manipulasi sistem file.  Kapabilitas program untuk membaca, menulis, membuat dan menghapus file. 
    4. Komunikasi. Komunikasi dibutuhkan jika beberapa proses yang sedang dieksekusi saling tukar-menukar informasi. Penukaran informasi dapat dilakukan oleh beberapa proses dalam satu komputer atau dalam komputer yang berbeda melalui sistem jaringan. Komunikasi dilakukan dengan cara berbagi memori (shared memory) atau dengan cara pengiriman pesan (message passing). 
    5. Mendeteksi kesalahan. Sistem harus menjamin kebenaran dalam komputasi dengan melakukan pendeteksian error pada CPU dan memori, perangkat I/O atau pada user program.
Layanan Sistem Operasi
  • Beberapa fungsi tambahan yang ada tidak digunakan untuk membantu user, tetapi lebih digunakan untuk menjamin operasi sistem yang efisien, yaitu : 
    1. Mengalokasikan sumber daya (resource).  Sistem harus dapat mengalokasikan resource untuk banyak user atau banyak job yang dijalanan dalam waktu yang sama. 
    2. Akutansi.  Sistem membuat catatan daftar berapa resource yang digunakan user dan resource  apa saja yang digunakan untuk menghitung secara statistik akumulasi penggunaan resource. 
    3. Proteksi.  Sistem operasi harus menjamin bahwa semua akses ke  resource terkontrol dengan baik. 

System Call
  • 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. SO melalui shell-nya akan menangkap perintah dari user yang kemudian akan dikomunikasikan melalui system calls. Disinilah peran SO 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 SO 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 atas adalah sytem calls di dalam program yang membaca data dari satu file lalu meng- copy-nya ke file lain.

Contoh System Call
Jenis System Call
  • Kontrol Proses 
Hal-hal yang dilakukan:
1.      Mengakhiri (end) dan membatalkan (abort);
2.      Mengambil (load) dan eksekusi (execute);
3.      Membuat dan mengakhiri proses;
4.      Menentukan dan mengeset atribut proses;
5.      Wait for time;
6.      Wait event, signal event;
7.      Mengalokasikan dan membebaskan memori.

Contoh: Sistem operasi pada MS-DOS menggunakan sistem  singletasking yang memiliki  command interpreter yang akan bekerja pada saat  start. Karena singletasking, maka akan menggunakan metode yang sederhana untuk menjalankan program dan tidak akan membuat proses baru.  Sistem operasi UNIX dapat menjalankan banyak program.
  • Manipulasi File 
Hal-hal yang dilakukan: 
1.    Membuat dan menghapus file;
2.    Membuka dan menutup file;
3.    Membaca, menulis, dan mereposisi file;
4.    Menentukan dan mengeset atribut file;
  •  Manipulasi Device 
Hal-hal yang dilakukan:
1.    Meminta dan mmebebaskan device;
2.    Membaca, menulis, dan mereposisi file;
3.    Menentukan dan mengeset atribut device;
  • Informasi Lingkungan
Hal-hal yang dilakukan:
1.      Mengambil atau mengeset waktu atau tanggal;
2.      Mengambil atau mengeset sistem data;
3.      Mengambil atau mengeset proses, file atau atribut-atribut device
  • Komunikasi
Hal-hal yang dilakukan:
1.    Membuat dan menghapus sambungan komunikasi;
2.    Mengirim dan menerima pesan;
3.    Mentransfer satus informasi;
Ada 2 model komunikasi:
  • Message-passing model. Informasi saling ditukarkan melalui fasilitas yang telah ditentukan oleh sistem operasi (Gambar 2-4a).Shared-memory Model. Proses-proses menggunakan map memory untuk mengakses daerah-daerah di memori dengan proses-proses yang lain (Gambar 2-4b). 
 
Sistem Program
System program menyediakan lingkungan yang nyaman untuk pengembangan dan eksekusi program.  Kebanyakan user melihat system operasi yang didefinisikan oleh  system program dan bukan  system call sebenarnya. System program adalah masalah yang relatif kompleks, namun dapat dibagi menajdi beberapa kategori, antara lain:
Manipulasi File. Meliputi: membuat, menghapus, mengcopy, rename, print, dump, list pada file dan direktori.
Status Informasi. Meliputi: tanggal, waktu (jam, menit, detik), penggunaan memori atau disk space, banyaknya user.
  1. Modifikasi File. Ada beberapa editor yang sanggup digunakan sebagai sarana untuk menulis atau memodifikasi file yang tersimpan dalam disk atau tape.
  2. Bahasa Pemrograman yang mendukung. Meliputi: Compiler, assambler, dan interpreter untuk beberapa bahasa pemrograman (seperti: Fortran, Cobol, Pascal,  Basic, C, dan LISP).
  3. Pemanggilan dan Eksekusi Program. Pada saat program dicompile, maka harus dipanggil ke memori untuk dieksekusi. Suatu sistem biasanya memiliki absolute loader, melokasikan  loader, linkage editor, dan  overlay loader. Juga dibutuhkan debugging sistem untuk bahasa tingkat tinggi.
  4. Komunikasi. Sebagai mekanisme untuk membuat hubungan virtual antar proses,  user, dan sistem komputer yang berbeda.
  5. Program-program aplikasi. Sistem operasi harus menyokong program-program yang berguna untuk menyelesaikan permasalahan secara umum, atau membentuk operasi-operasi secara umum, seperti kompiler, pemformat teks, paket plot, sistem basis data, spreadsheet, paket analisis statistik, dan games.

Tidak ada komentar:

Posting Komentar