Selasa, 07 November 2017

Definisi Sistem Operasi

DEFINISI SISTEM OPERASI

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

Tugas

pengelola seluruh sumber-daya yang terdapat pada sistem  komputer dan menyediakan sekumpulan layanan (system calls) ke pemakai sehingga memudahkan dan menyamankan penggunaan serta pemanfaatan sumber-daya sistem komputer, yang berhubungan 4 fungsi dasar (h/w, s/w, b/w, dan so).

Definisi dan Perkembangan SO

       Apa itu Sistem Operasi ?
       Sistem Operasi sebagai Extended Machine ( Perluasan Mesin ) Ditinjau dari ranah user
      Dilakukan berdasarkan pada kenyataan bahwa struktur internal sistem komputer pada aras bahasa mesin sangat primitif dan tidak fleksibel untuk pemrograman terutama untuk proses input/output
      Sistem operasi dibuat untuk menyembunyikan keadaan sesungguhnya dari perangkat keras dengan tampilan yang menyenangkan dan mudah digunakan n Disini sistem operasi berperan sebagai penyedia interface yang sesuai berupa perluasan mesin (extended machine) atau mesin semu (virtual machine).

       Sistem Operasi sebagai Resources Manager
       ( Pengelola Sumberdaya ) n Pendekatan fungsi ditinjau dari arah perangkat keras atau bottom up view
      Sistem operasi beperan untuk mengatur mengorganisasikan, mengoperasikan secara keseluruhan bagian sistem yang kompleks.
      Sistem operasi mengontrol alokasi sumberdaya sistem komputer (pemroses, memori, piranti I/O)
      untuk berbagai program yang akan memakainya

 Tujuan mempelajari SO :
       Merancang , memodifikasi sesuai dengan kebutuhan .
       Memaksimalkan penggunaan SO yang tepat
       Memilih suatu SO yang sesuai dengan aplikasi  yang dipakai sehingga  user lebih nyaman, lebih efisien di dalam penggunaan resource yang ada, serta dapat berevolusi untuk kemungkinan pengembangan SO yang baru.

 Tinjauan SO
       Menurut Lisensi/Kepemilikan
      Berlisensi
      Tidak berlisensi
       Menurut Teknologinya
      Berbasis  Teks dan GUI
       Sejarah dan penggunanya
      Unix, DOS, OS/2, Windows,Linux
       Perangkat hardware
      Desktop (Linux, Windows, Apple Mac)
      Mainframe (UNIX, AIX)
       Real Time
      PDA
      Symbian
      Andoid

Evolusi Sistem Operasi
Perkembangan sistem operasi :

  1.         Serial Processing.
  2.         Simple Batch System.
  3.         Multiprogramming Batch System.
  4.         Time-Sharing System

Operating System History

Computer digital, pertama kali di desain oleh ahli matematika bernama Charles Babbage (1792 - 1871), memberikan gagasan tantang suatu mesin yang terprogram.
Keterbatasan teknologi masa itu, membuat mesin yang diciptakan Charles Babbage tidak dapat bekerja sesuai dengan yang diinginkan.
Mesin yang diciptakan hanya berupa mekanis, tanpa adanya sistem operasi.
Bekerja sebagai mesin hitung.

Serial Processing

  •        Pada generasi ini, programmer berinteraksi langsung dengan perangkat keras, tidak terdapat sistem operasi.
  •       Operasional mesin, dikontrol dengan console yang berupa display light, toggle switch, input devices.
  •       Input device dapat berupa card reader, sedangkan output devices dapat berupa printer.
  •      Tidak terdapat mekanisme penjadwalan / scheduling dinamis, karena programmer menentukan alokasi waktu setiap job yang akan dikerjakan. 

Kelemahan pada generasi ini adalah :

  1.         Suatu task bisa saja telah selesai sebelum menghabiskan jatah waktu yang telah ditentukan sebelumnya, sehingga terdapat waktu yang dihabiskan untuk menunggu untuk mengerjakan job selanjutnya.
  2.        Atau malahan waktu yang telah dialokasikan sebelumnya tidak cukup untuk menyelesaikan job, sehingga dipaksa untuk dihentikan.

Ukuran SO yang baik
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 use
       pemrogram untuk menulis program; Eksekusi Program yang berarti Instruksi-instruksi dan data-data dapat dikenali oleh mesin

Pengenalan Sistem Operasi

PENGENALAN SISTEM OPERASI

Course Objective


  •        Definisi Sistem Operasi.
  •        Peran Sistem Operasi dalam Sistem Komputer.
  •       Tujuan Sistem Operasi.

  •       Sejarah perkembangan Sistem Operasi.

OS  (Operating System) merupakan merupakan program yang mengatur eksekusi program dan bertindak sebagai interface antara aplikasi dan perangkat keras.
Tujuan Sistem Operasi :

  •       Kemudahan.
  •       Efisiensi.
  •       Kemampuan untuk berkembang.


  •        OS sebagai interface antara user dan perangkat keras berarti menyediakan mekanisme kapada end user untuk menggunakan utilitas yang disediakan.
  •        End user tidak mau tahu akan detail proses yang melibatkan computer hardware, sehingga end user hanya berinteraksi via aplikasi-aplikasi yang disediakan.



Services yang disediakan OS

  1.        Program development.
  2.         Program execution.
  3.         Access to I/O devices.
  4.         Controlled access to File.
  5.         System Access.
  6.         Error Detection and Response.
  7.         Accounting. 

OS as Resource Manager

  •       Resource management : CPU, memory space, file, storage, dll.
  •       Memberikan / mangalikasikan resource tersebut kepada user sesuai dengan kebutuhan.

Evolusi Sistem Operasi
Perkembangan sistem operasi :
  1.        Serial Processing.
  2.        Simple Batch System.
  3.      Multiprogramming Batch System.
  4.     Time-Sharing System. 

Operating System History

Computer digital, pertama kali di desain oleh ahli matematika bernama Charles Babbage (1792 - 1871), memberikan gagasan tantang suatu mesin yang terprogram.
Keterbatasan teknologi masa itu, membuat mesin yang diciptakan Charles Babbage tidak dapat bekerja sesuai dengan yang diinginkan.
Mesin yang diciptakan hanya berupa mekanis, tanpa adanya sistem operasi.
Bekerja sebagai mesin hitung.


 Mesin yang diciptkan Charles, digunakan untuk melakukan perhitungan beberapa model matematis.
Menggunakan punch card untuk memasukan nilai / angkat yang akan digunakan dalam perhitungan.


Serial Processing

  1.         Pada generasi ini, programmer berinteraksi langsung dengan perangkat keras, tidak terdapat sistem operasi.
  2.         Operasional mesin, dikontrol dengan console yang berupa display light, toggle switch, input devices.
  3.         Input device dapat berupa card reader, sedangkan output devices dapat berupa printer.
  4.         Tidak terdapat mekanisme penjadwalan / scheduling dinamis, karena programmer menentukan alokasi waktu setiap job yang akan dikerjakan. 

Kelemahan pada generasi ini adalah :
  1.        Suatu task bisa saja telah selesai sebelum menghabiskan jatah waktu yang telah ditentukan sebelumnya, sehingga terdapat waktu yang dihabiskan untuk menunggu untuk mengerjakan job selanjutnya.
  2.        Atau malahan waktu yang telah dialokasikan sebelumnya tidak cukup untuk menyelesaikan job, sehingga dipaksa untuk dihentikan.
Simple Batch System

















Simple Batch System

Sistem Operasi Batch Sederhana menghasilkan mekanisme pengurutan dan pengelompokan instruksi secara otomatis.
Masalah timbul jika mekanisme eksekusi instruksi berhubungan dengan I/O.
Masalahnya I/O relatif lambat jika dibandingkan dengan processor, sehingga terdapat banyak sekali kondisi idle.

Multiprogramming
          Kelemahan pada Sistem Batch Sederhana, yaitu penggunaan utilitas processor yang seringkali dalam keadaan idle, pada saat menunggu mekanisme dari I/O.
          Ide : pada saat processor menunggu mekanisme dari I/O, processor dapat melakukan eksekusi instruksi yang lain.





Time Sharing



















Struktur Sistem Operasi

Struktur Sistem Operasi

KOMPONEN-KOMPONEN SISTEM
Pada kenyataannya tidak semua sistem operasi mempunyai struktur yang sama.
 Komponen sistem operasi modern :
  1. Managemen Proses.
  2. Managemen Memori Utama.
  3. Managemen Secondary-Storage.
  4. Managemen Sistem I/O.
  5. Managemen Berkas.

MANAGEMEN PROSES
Proses adalah keadaan ketika sebuah program sedang di eksekusi.
Proses membutuhkan beberapa sumber daya berupa CPU time, memori, berkas-berkas, dan perangkat-perangkat I/O untuk menyelesaikan tugasnya.
Tanggung jawab Sistem operasi atas aktivitas managemen proses:
  1. Pembuatan dan penghapusan proses pengguna dan sistem proses.
  2. Menunda atau melanjutkan proses.
  3. Menyediakan mekanisme untuk proses sinkronisasi.
  4. Menyediakan mekanisme untuk proses komunikasi.
  5. Menyediakan mekanisme untuk penanganan deadlock

Managemen Memori Utama

Memori utama adalah sebuah array yang besar terdiri dari word atau byte, yang ukurannya mencapai ratusan, ribuan, atau bahkan jutaan.
Memori Utama berfungsi sebagai tempat penyimpanan yang akses datanya digunakan oleh CPU atau perangkat I/O.
Memori utama termasuk tempat penyimpanan data yang sementara (volatile), artinya data dapat hilang begitu sistem dimatikan.
Tanggung jawab Sistem operasi atas aktivitas managemen memori:
1. Menjaga track memori yang sedang digunakan dan siapa yang
    menggunakannya.
2. Memilih program yang akan di-load ke memori.
3. Mengalokasikan dan meng-dealokasikan ruang memori sesuai
    kebutuhan.

Managemen Secondary-Storage

Data yang disimpan dalam memori utama bersifat sementara dan jumlahnya sangat kecil.
Oleh karena itu, untuk meyimpan keseluruhan data dan program komputer dibutuhkan secondary-storage yang bersifat permanen dan mampu menampung banyak data.
Contoh dari secondary-storage adalah
harddisk, disket, dll.
Tanggung-jawab Sistem operasi atas aktivitas disk-management :
  1. Free-space management.
  2. Alokasi penyimpanan.
  3. Penjadualan disk.

Managemen Sistem I/O

Sering disebut device manager.
-          Menyediakan "device driver" yang umum àoperasi I/O seragam (membuka, membaca, menulis, menutup). Contoh: pengguna menggunakan operasi yang sama untuk membaca berkas pada hard-disk, CD-ROM dan floppy disk.
-          Menyediakan driver untuk dapat melakukan operasi "rinci" untuk perangkat keras I/O tertentu.
Komponen Sistem Operasi untuk sistem I/O:
  1. Buffer : menampung sementara data dari/ ke perangkat I/O.
  2. Spooling : melakukan penjadualan pemakaian I/O sistem supaya lebih efisien (antrian dsb.).

Managemen Berkas

Berkas adalah kumpulan informasi yang berhubungan sesuai dengan tujuan pembuat berkas tersebut.
 Berkas dapat mempunyai struktur yang bersifat hirarkis (direktori, volume, dll.).
Tanggung-jawab Sistem operasi atas aktifitas managemen berkas :
  1. Pembuatan dan penghapusan berkas.
  2. Pembuatan dan penghapusan direktori.
  3. Mendukung manipulasi berkas dan direktori.
  4. Memetakan berkas ke secondary storage.
  5. Mem-backup berkas ke media penyimpanan yang permanen (non-volatile).

Layanan Sistem Operasi

Sebuah sistem operasi yang baik harus memiliki layanan sebagai berikut:
  1. Pembuatan program.
  2. Eksekusi program
  3. Pengaksesan I/O Device
  4. Pengaksesan terkendali terhadap berkas
  5. Pengaksesan sistem
  6. Deteksi
  7. Pemberian tanggapan pada kesalahan
  8. Akunting
System calls

System calls menyediakan antarmuka antara Proses dan sistem operasià tersedia sebagai instruksi bahasa rakitan

Beberapa sistem mengizinkan system calls dibuat langsung dari bahasa pemrograman tingkat tinggi

Beberapa bahasa pemrograman tingkat tinggi
(contoh : C,C++) telah didefenisikan untuk menggantikan bahasa rakitan untuk sistem pemrograman


System Calls

Tiga metode umum yang digunakan dalam memberikan parameter kepada sistem operasi

  1. Melalui register
  2. Menyimpan parameter dalam blok atau tabel pada memori dan alamat blok tersebut diberikan sebagai parameter dalam register
  3. Menyimpan parameter (push) ke dalam stack (oleh program), dan melakukan pop off pada stack (oleh sistim operasi)


Jenis System Calls

  1. Pengendalian proses
  2. Manajemen berkas
  3. Manajemen Peranti
  4. Mempertahankan informasi
  5. Komunikasi

Pemrograman sistem

Pemrograman sistem menyediakan lingkungan yang memungkinkan pengembangan program dan eksekusi berjalan dengan baik

Dapat dikategorikan :
  1. Managemen/manipulasi Berkas
  2. Informasi status
  3. Modifikasi berkas
  4. Pendukung bahasa pemrograman
  5. Loading dan eksekusi program
  6. Komunikasi

Struktur Sederhana

Dimulai dengan sistem yang kecil, sederhana dan terbatas kemudian berkembang dengan cakupan original

Struktur sistem MS-DOS:
disusun untuk mendukung fungsi yang banyak pada ruang yang kecil


Struktur Sistem Operasi

Pendekatan Terlapis

Lapisan adalah implementasi dari objek abstrak yang merupakan enkapsulasi dari data dan operasi yang bisa memanipulasi data tersebut

Lapisan paling bawah : perangkat keras

Lapisan paling atas : antarmuka pengguna
Keuntungan : modularitas
 mempermudah debug dan verifikasi sistemà lapisan pertama bisa didebug tanpa mengganggu sistem yang lain

Kesulitan :
hanya bisa menggunakan lapisan dibawahnya à tidak efisien dibandingkan tipe yang lain


Struktur Sistem Operasi

Mesin Virtual

Mesin virtual mengambil pendekatan terlapis sebagai kesimpulan logis.
Mesin virtual memperlakukan hardware dan sistem operasi seolah-olah berada pada level yang sama sebagai perangkat keras.
Pendekatan Mesin virtual menyediakan sebuah antarmuka yang identik dengan underlying bare hardware.
Sistem Operasi membuat ilusi dari banyak proses, masing-masing dieksekusi pada prosesornya sendiri dengan virtual memorinya sendiri.

VM dibuat dengan pembagian sumber daya oleh komputer fisik


Struktur Sistem operasi

Mesin virtual

Sumber daya dari komputer fisik dibagi untuk membuat
VM
Penjadwalan CPU bisa menciptakan penampilan
seakan – akan pengguna mempunyai prosesor sendiri
Spooling dan sistem data bisa menyediakan virtual
card readers dan virtual line printers
Sebuah time-sharing terminal user yang normal
melayani sebagaimana operator konsulat


Struktur Sistem operasi

Mesin virtual
Keuntungan Penggunaan Mesin virtual :

Keamanan bukanlah masalah
VM mempunyai pelindungan lengkap pada berbagai sistem sumber daya
Tidak ada pembagian sumber daya secara langsung.
Pembagian disk mini dan jaringan diimplementasikan pada perangkat lunak
VM sistem adalah kendaraan yang “sempurna” untuk penelitian dan pengembangan sistem operasi
Dengan VM perubahan suatu bagian tidak akan mempengaruhi komponen yang lain


Struktur Sistem operasi

Mesin virtual
Kerugian Penggunaan VM :

VM sulit diimplementasikan karena banyak syarat yang dibutuhkan untuk menyediakan duplikat yang tepat dari underlying machine

Harus punya virtual-user mode dan virtualmonitor mode yang keduanya berjalan di pysical mode.
Akibatnya, saat instruksi yang hanya membutuhkan virtual monitor mode dijalankan,register berubah dan bisa berefek pada virtual user mode, bahkan bisa me-restart VM

Waktu yang dibutuhkan I/O bisa lebih cepat(karena adaspooling), tapi bisa lebih lambat( karena diinterpreted)

Konsep Memory

KONSEP MEMORY
  •  Memori merupakan bagian dari komputer yang berfungsi sebagai tempat penyimpanan informasi.
  • Program bisa diproses jika ada di memori
  Register di CPU, berada di level teratas. Informasi yang berada di register dapat diakses dalam satu clock cycle CPU.
  Primary Memory (executable memory), berada di level tengah. Contohnya, RAM. Primary Memory diukur dengan satu byte dalam satu waktu, secara relatif dapat diakses dengan cepat, dan bersifat volatile.
  Secondary Memory, berada di level bawah. Contohnya, disk atau tape. Secondary Memory diukur sebagai kumpulan dari bytes  (block of bytes), waktu aksesnya lambat, dan bersifat non-volatile.

  Sistem Operasi bertugas untuk mengatur  penggunaan memori untuk banyak proses.
  Memori harus digunakan dengan baik, sehingga dapat memuat banyak proses dalam suatu waktu.
  Memory manager mengatur bagian mana dari memori yang harus digunakan dan mana yang tidak pada suatu waktu,
  memory manager juga mengalokasikan memori untuk proses-proses yang membutuhkannya serta men-dealokasikannya kembali saat proses-proses tersebut tidak lagi membutuhkannya.
  Masalahnya adalah bagaimana jika memori tidak lagi cukup untuk menampung semua proses yang akan dieksekusi? swapping.

Akses Legal

Proteksi di atas dilakukan oleh perangkat keras. Perangkat keras menyediakan dua register, yaitu base
register dan limit register. Base register memegang alamat fisik terkecil yang dilegalkan, sedangkan
limit register menentukan ukuran dari jarak alamat tersebut. Contohnya jika base register memegang
300040 dan limit register 120900, maka program bisa mengakses secara legal di semua alamat dari 300040 sampai 420940.

Address Binding
  Sebuah prosedur untuk menetapkan alamat fisik yang akan digunakan oleh program yang terdapat di dalam memori utama.

Compilation time.
  Pada saat program di complie akan menghasilkan alamat. Bila suatu saat terjadi pergeseran alamat dari program tersebut maka untuk mengembalikan ke alamat yang seharusnya dapat dilakukan kompilasi ulang. Contoh : file bertipe .com yang merupakan hasil dari kompilasi program
Load time.
  binding terjadi pada waktu program telah selesai di- load. Contoh: File bertipe .exe.

Execution time.
  binding akan dilakukan pada saat run time. Pada saat run time dibutuhkan bantuan hardware yaitu MMU (Memory Management Unit).

Alamat Logika dan Fisik
       Alamat yang dihasilkan oleh CPU berupa alamat logika, sedangkan yang masuk ke dalam memori adalah alamat fisik.
       Pada saat program berada di CPU, program tersebut memiliki alamat logika, kemudian oleh MMU dipetakan menjadi alamat fisik yang akan disimpan di dalam memori.
Memori-Manajemen Unit
       Hardware yang memetakan alamat virtual ke alamat fisik.
       Pada MMU, nilai dalam  relocation register ditambahkan ke  relocation register ditambahkan ke  setiap address yg di generate oleh sebuah process pada saat dia dikirim ke memory fisik


 Pemuatan Dinamis
  Memanggil routine yang diperlukan saja pada memori
  Baik dalam hal pemanfaatan alokasi memori, karena routine yang tidak digunakan tidak di load
  Ketika pemanggilan terjadi rutin pemanggil akan  memeriksa di memory, apakah rutin yg  dibutuhkan itu sudah ada atau belum, jika belum,  dipanggil dan dialokasi ke memory

OverLays

  Metode untuk menjalankan suatu proses yang membutuhkan memori lebih besar daripada yang tersedia.
  Data dan instruksi yang diperlukan dimasukkan langsung ke memori utama.
  Routine-nya dimasukkan ke memori secara bergantian.
  Tidak memerlukan bantuan dari sistem operasi.
  Sulit untuk dilakukan karena menggunakan teknik khusus
  Menjadi tanggung jawab programmer
  • Sekarang teknik ini sudah digantikan oleh Virtual Memory