Sistem Operasi - Repository UNIKOM

  PENGANTAR

SISTEM OPERASI

SISTEM OPERASI DEFINISI DEFINISI

Sistem operasi adalah program yang

bertindak sebagai perantara antara user

dengan perangkat keras komputer.

Sistem operasi digunakan untuk

mengeksekusi program user dan

memudahkan menyelesaikan permasalahan user.

adanya sistem operasi membuat sistem

komputer nyaman digunakan. Sistem

operasi mempunyai tujuan untuk

menggunakan perangkat keras komputer

  

KOMPONEN SISTEM

KOMPONEN SISTEM KOMPUTER KOMPUTER DEFINISI DEFINISI 

  Resource allocator Sistem operasi mengatur dan mengalokasikan sumber daya – sumber daya sistem komputer

   Program control Sistem operasi melakukan control eksekusi dari program user dan operasi input output.

   Kernel Sistem operasi sering disebut kernel, yaitu suatu program yang berjalan sepanjang

  1. SEJARAH SITEM OPERASI

  1. SEJARAH SITEM OPERASI

SISTEM PENDAHULU(GENERASI PERTAMA

   1945 - 1955) Karakteristik :

  1. Mesin sangat besar

  2. Belum ada sistem operasi

  3. Sistem komputer diberi instruksi yang harus dikerjakan secara manual 

  SISTEM BATCH SEDERHANA (GENERASI KEDUA 1955 - 1965) Karakteristik:

  1. Pengumpulan job-job yang sejenis sebagai satu kelompok

  Komputer yang memiliki resource yang dapat digunakan oleh banyak orang sekaligus

   GENERASI KETIGA (1965 - 1980) Dikembangkan untuk melayani banyak pemakai secara

online, sehingga sistem komputer dapat digunakan secara :

1. MULTIUSER

  2. MULTIPROGRAMMING

Komputer melayani banyak proses/job sekaligus

pada waktu bersamaan, sehingga dikembangkan :

  • Time Sharing - Tiap pemakai mempunyai satu terminal online dengan CPU hanya memberi layanan pada pemakai yang aktif secara bergantian
    • Tiap proses dibatasi oleh waktu, waktu maksimum yang digunakan disebut “quantum

   GENERASI KEEMPAT (1980 - skr)

  • Sistem operasi dapat melayani banyak mode : mendukung batch processing, time sharing, dan real time application
  • Meningkatnya kemampuan komputer

    desktop (PC) dan teknologi jaringan(TCP/IP)

  1. KOMPONEN SISTEM

  1. KOMPONEN SISTEM

OPERASI OPERASI

  Pada kenyataannya tidak semua sistem

operasi mempunyai struktur yang sama,

umumnya sebuah sistem operasi modern

mempunyai komponen sebagai berikut :  Managemen Proses.  Managemen Memori Utama. 

Managemen Secondary-Storage.

 Managemen Sistem I/O.  Managemen Berkas.  Sistem Proteksi.  Jaringan.

MANAJEMEN PROSES

  Proses adalah keadaan ketika sebuah program

sedang di eksekusi. Sebuah proses membutuhkan

beberapa sumber daya untuk menyelesaikan tugasnya. Sumber daya tersebut dapat berupa CPU time, memori, berkas-berkas, dan perangkat- perangkat I/O.

  Sistem operasi bertanggung jawab atas aktivitas- aktivitas yang berkaitan dengan managemen proses seperti :

   Pelaksanaan dan penghapusan proses yang diinginkan user atau sistem.

   Menunda atau melanjutkan proses.  Menyediakan mekanisme untuk proses sinkronisasi.  Menyediakan mekanisme untuk proses komunikasi. 

  Menyediakan mekanisme untuk penanganan

  

MANAGEMEN MEMORI

MANAGEMEN MEMORI

UTAMA

UTAMA

Memori utama atau lebih dikenal sebagai memori adalah sebuah

array yang besar dari word atau byte, yang ukurannya mencapai ratusan, ribuan, atau bahkan jutaan byte. Setiap word atau byte mempunyai alamat tersendiri. 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.

  Sistem operasi bertanggung jawab atas aktivitas-aktivitas yang berkaitan dengan managemen memori seperti: 

  Menjaga track dari memori yang sedang digunakan dan siapa yang menggunakannya.

   Memilih program yang akan di-load ke memori.

MANAJEMEN SECONDARY- MANAJEMEN SECONDARY- STORAGE 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, flashdisk, CD-ROM, disket, dll.

MANAJEMEN SISTEM I/O

  Sering disebut device manager. Menyediakan "device driver"

yang umum sehingga operasi I/O dapat seragam (seperti

kegiatan untuk membuka, membaca, menulis, menjalankan dan menutup file atau program).

  Komponen Sistem Operasi untuk sistem I/O: 

  Buffer: menampung sementara data dari dan ke perangkat I/O.

   Spooling: melakukan penjadualan pemakaian I/O sistem supaya lebih efektif dan efisien (pengaturan antrian).

   Menyediakan driver untuk dapat melakukan operasi

MANAJEMEN BERKAS

  

Berkas adalah kumpulan informasi yang berhubungan

sesuai dengan tujuan pembuat berkas tersebut.

  Berkas dapat mempunyai struktur yang bersifat hirarkis (direktori, volume, dll). Sistem operasi bertanggung-jawab terhadap :

  ◦ Pembuatan dan penghapusan berkas.

  ◦ Pembuatan dan penghapusan direktori. ◦ Mendukung manipulasi berkas dan direktori. ◦ Memetakan berkas ke secondary storage. ◦

  Mem-backup berkas ke media penyimpanan yang permanen (non-volatile).

SISTEM PROTEKSI

  Proteksi mengacu pada mekanisme untuk

mengontrol akses yang dilakukan oleh program,

prosesor, atau pengguna ke sistem sumber daya.

  Mekanisme proteksi harus:  membedakan antara penggunaan yang sudah diberi izin dan yang belum.

   specify the controls to be imposed (menetapkan sistem pengaturan yang digunakan).

   provide a means of enforcement (menyiapkan alat yang digunakan).

  

JARINGAN

  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.

  Tiap prosesor mempunyai memori sendiri. Prosesor-prosesor tersebut terhubung melalui jaringan komunikasi, Sistem terdistribusi menyediakan akses pengguna ke bermacam sumber-daya sistem. Akses tersebut menyebabkan: ◦ Computation speed-up (proses komputasi semakin cepat).

  ◦ Increased data availability (peningkatan ketersediaan data).Enhanced reliability (peningkatan kemampuan).

COMMAND INTERPRETER SYSTEM COMMAND INTERPRETER SYSTEM

  Sistem Operasi menunggu instruksi dari user (command driven). Program yang dapat membaca instruksi dan

mengartikan control statements berdasarkan masukan

dari user umumnya disebut : control-card interpreter, atau command-line interpreter.

  Pada sistem UNIX sering disebut juga shell atau console. Command-Interpreter System sangat bervariasi dari satu sistem operasi ke sistem operasi yang lain dan disesuaikan dengan tujuan dan teknologi I/O

  2. LAYANAN SISTEM

  2. LAYANAN SISTEM OPERASI OPERASI Sebuah sistem operasi yang baik menurut Tanenbaum harus memiliki layanan sebagai berikut: 

  Pembuatan Program  Eksekusi program. 

  Operasi I/O (pengaksesan I/O Device) 

  Sistem manipulasi berkas 

  Komunikasi 

  Deteksi error 

  Deteksi dan Pemberian tanggapan pada kesalahan 

  Efesiensi penggunaan sistem 

  

LAYANAN SISTEM OPERASI

LAYANAN SISTEM OPERASI

  Pembuatan program , yaitu sistem operasi menyediakan

fasilitas dan layanan untuk membantu para pemrogram

untuk menulis program

  ◦

Eksekusi program adalah kemampuan sistem untuk

"load" program ke memori dan menjalankan program yang dikehendaki user maupun sistem.

  ◦ Operasi I/O merupakan kegiatan dimana pengguna tidak dapat secara langsung mengakses sumber daya perangkat keras, sehingga sistem operasi harus

menyediakan mekanisme untuk melakukan operasi I/O

atas nama pengguna.

  

Sistem manipulasi berkas adalah kemampuan program

untuk operasi pada berkas (membaca, menulis, membuat,

dan menghapus berkas yang berupa file atau direktori).

  ◦ Komunikasi adalah pertukaran data/ informasi antar dua atau lebih proses yang berada pada satu komputer (atau lebih).

  ◦ Deteksi error adalah kegiatan untuk menjaga kestabilan sistem dengan mendeteksi "error", perangkat keras

  

LAYANAN SISTEM OPERASI

LAYANAN SISTEM OPERASI

  Deteksi dan Pemberian tanggapan pada kesalahan , jika muncul permasalahan pada sistem komputer maka sistem operasi harus memberikan tanggapan yang menjelaskan kesalahan yang terjadi serta dampaknya terhadap aplikasi yang sedang berjalan.

  

Efesisensi penggunaan sistem , diantaranya:

   Resource allocator , yakni: mengalokasikan sumber- daya hardware maupun software ke beberapa pengguna atau mengalokasikan job yang jalan pada saat yang bersamaan ke beberapa komputer dalam jaringan.

   Proteksi sistem untuk menjamin akses ke sistem sumber daya yang aman, dikendalikan oleh sistem sehingga pengguna dikontrol aksesnya ke sistem).

   Accounting adalah kegiatan merekam aktifitas pengguna, report pemakaian sumber daya.

  Sistem Operasi yang bagus harus mampu mengumpulkan data statistik penggunaan

3. SYSTEM CALL

  System call menyediakan interface antara program (program pengguna yang berjalan) dan bagian OS. System call menjadi jembatan antara

proses dan sistem operasi. System call ditulis dalam bahasa assembly

atau bahasa tingkat tinggi yang dapat mengendalikan mesin Contoh:

UNIX menyediakan system call: read, write  operasi I/O untuk berkas.

  

Sering pengguna program harus memberikan data (parameter) ke OS

yang akan dipanggil. 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 OS mengambilnya

melalui pop pada stack tsb.

4. MESIN VIRTUAL

  Program sistem diatas kernel dapat menggunakan system call atau instuksi- instruksi hardware. Dalam beberapa hal, program sistem tidak membedakan kedua lapisan tersebut. Program sistem memperlakukan system call dan hardware

dilapisan yang sama. Beberapa sistem

mengadopsi teknik ini supaya program sistem dapat dipanggil secara mudah oleh program-program aplikasi. Meskipun

program sistem berada ditingkat yang

lebih tinggi dari rutin-rutin program aplikasi yang lain, program-program aplikasi akan melihat semua yang berada

MODEL MESIN VIRTUAL

  Proses Proses Proses Mesin virtual

  Hardware Proses

  Programming interface Kernel Hardware

  Kernel Kernel Kernel

  Sistem Operasi Berhak Milik Sistem Operasi Berhak Milik Generasi Awal Generasi Awal

  Apple Computer

  Business Operating System (BOS)

  

Commodore PET, Commodore 64, dan

Commodore VIC-20

  IBM PC awal (UCSD p-System, CPM-86, PC-DOS)

  Sinclair Micro dan QS

TRS-DOS, ROM OS

  

TI99-4

   Flex

   FLEX9

   mini-FLEX

  3. Sistem Operasi

  3. Sistem Operasi Berlisensi Berlisensi

  Acorn

  Amiga Atari ST

     Arthur AmigaOS TOS

    ARX MultiTOS

    RISCiX

  RISC OS MiNT

   

  Be

  ICT/ICL

     BeOS

  o

  Incorporated GEORGE Novell Netware v.1.0,

  VME 2.0, 3.0, 3.1, 3.12   o

  BeIA DME Novell Netware v.4.11,   Zeta TME 5.0, 5.1, 6.0 o

  Novell SuSE 9.0,9.1,9.2, 9.3

   Windows 2000 Server & Advance Server (NT v5.0)  Windows Server 2003 o Xenix

   TOPS-10 (untuk PDP-10)

   WAITS

   TENEX

   TOPS-20

   RSTS/E

   RSX-11

   RT-11

   VMS

  Macintosh

   A/UX

   Apple DOS

   ProDOS

   GS/OS

  

  

   Apple Darwin

  o o Windows for Workstation / Stand alone

   Windows 1.0  Windows 2.0 (u/ 80286)

   Windows 3.0, 3.1  Windows 95  Windows 98/98se/98plus  Windows ME (Millenium)  Windows 2000 Profesional  Windows XP (eXPerience) Home Edition&Profesional  Windows Vista (Longhorn)  Windows "Blackcomb" o Windows for Server

   Windows NT 3.5  Windows NT 4

   ITS (untuk PDP-6 dan PDP-10)

   OS-8

   AIS

   MFT

  IBM

   IBSYS

   OS/2

   AIX

   OS/400

   DOS/360

   DOS/VSE

   OS/360

   MVT

  Digital/Compaq/HP

   SVS

   MVS

   TPF

   ALCS

  • Apple

   OS/390

   z/OS, Unix- like

   z/VM

   z/VSE

   Basic Operating System  PC-DOS

  • OS berhak milik lainnya,

   ITRON

  OPENSTEP o Plan 9 o Plan 9, Inferno o Rhapshody o RiscOS o SCO UNIX o System V o

  IRIX o Mac OS X o Menuet o NeXTSTEP o OS-9 o OS-9/68k o OS-9000 o OSF/1 o

  Idris o

  Unix-like & POSIX-compliant o Aegis/OS o Cromix o Coherent o DNIX o Digital UNIX o HP-UX o

   RTOS

   LynxOS

   Montavista Linux  OS-9

   INTEGRITY

   ThreadX

   TRON OS

   uCLinux

   VxWorks

  PDA (Personal Digital Assistant)

   Nuclues  QNX

   OSEK

   Contiki  eCos

   Linux  Symbian OS Microcontroller, Real-Time OS, Embedded

   Windows CE

   MikroTik RouterOS Smartphones

   IOS

   Linux Sharp Zaurus Router

   Windows CE

   EPOC, Symbian OS

   Pocket PC

   Palm OS

  UNIflex o Ultrix o UniCOS

  4. Sistem Operasi Open Source

  4. Sistem Operasi Open Source

  • Linux
  • BSD (Berkley Software Development)
  • Sun Microsystems

  distronya antara lain :

   Debian  Slackware  Redhat/Fedora

   Mandrake/ Mandriva  Gentoo  YellowDog

   Ubuntu  Trustix  Knoppix  Blank-on

   Xnuxer,

   dll.

   FreeBSD,

   OpenBSD,

   NetBSD, dll.

   Solaris - Unix-like

   SunOS - Unix-like (menjadi Solaris)

   Java Desktop System (JDS)

  Multitasking Multitasking

Multitasking adalah sebuah metode dimana

banyak pekerjaan atau dikenal juga sebagai

proses diolah dengan menggunakan

sumberdaya CPU yang sama.

  

Multitasking memecahkan masalah ini dengan

menjadwalkan pekerjaan mana yang dapat

berjalan dalam satu waktu, dan kapan pekerjaan

yang lain menunggu untuk diolah dapat

dikerjakan. Kondisi mengalokasikan CPU dari

pekerjaan satu ke pekerjaan yang lain disebut

  Time sharing Time sharing

Time sharing system adalah suatu teknik

penggunaan CPU oleh beberapa pemakai

secara bergantian menurut waktu yang

diperlukan pemakai.

  

Hal ini disebabkan waktu perkembangan

proses CPU semakin cepat, sedangkan alat

Input/Output tidak dapat mengimbangi

kecepatan dari CPU, maka kecepatan dari

CPU dapat digunakan secara efisien dengan

melayani beberapa alat I/O secara bergantian.

  Pipelining Pipelining Pipeline adalah suatu cara yang digunakan untuk melakukan sejumlah

kerja secara bersama tetapi dalam tahap

yang berbeda yang dialirkan secara kontinu pada unit pemrosesan. Dengan cara ini, maka unit pemrosesan selalu bekerja.

  Contoh Contoh Tanpa pipelining

  Tanpa pipelining

Dengan pipelining

  

Dengan pipelining

MASALAH-MASALAH DALAM

  SISTEM OPERASI SISTEM OPERASI

  DEADLOCK DEADLOCK 

  Suatu kondisi dimana proses tidak berjalan lagi atau pun tidak ada komunikasi lagi antar proses.

   Deadlock disebabkan karena proses yang satu menunggu sumber daya yang sedang dipegang oleh proses lain yang

sedang menunggu sumber daya

yang dipegang oleh proses

CONTOH DEADLOCK (1)

   Gambar di atas merupakan contoh deadlocks

dalam dunia nyata. Dapat dilihat bahwa kedua

mobil yang berada di tengah-tengah jembatan tidak dapat maju dan hanya menunggu

   Penyelesaian dari masalah tersebut adalah salah satu dari mobil tersebut mundur, sehingga

CONTOH DEADLOCK (1)

  

Mobil pada kasus ini adalah proses, sedangkan

jembatan adalah sumber daya (resource)

   Kedua mobil berebut untuk menggunakan sumber daya, namun karena sumber daya tersebut hanya dapat digunakan oleh satu proses saja, maka terjadilah deadlock

  

CONTOH DEADLOCKS (2)

  KONDISI YANG KONDISI YANG

MENYEBABKAN DEADLOCK

MENYEBABKAN DEADLOCK

  Mutual Exclusion

Sebuah resource hanya dapat

digunakan oleh sebuah proses pada suatu waktu tertentu.

  (resource yang non-shareable.) 

  • – Hold and Wait

    terdapat proses yang sedang menunggu dan memegang

KONDISI YANG KONDISI YANG MENYEBABKAN DEADLOCK MENYEBABKAN DEADLOCK 

  Non-preemption Resource tidak dapat digunakan sebelum proses yang menggunakan telah selesai menggunakan dan kemudian melepaskannya.

  

  • – Circular wait Proses-proses berada dalam lingkaran. Terjadi saling menunggu resource yang sedang digunakan
Cara menanggulangi deadlock

  1. Mengabaikan masalah deadlock

  2. Mendeteksi dan memperbaiki

  3. Deadlock avoidance sistem Menghindari situasi yang dapat mengarah kepada terjadinya deadlock, sistem harus diberikan informasi tambahan yang menyatakan resource mana yang diminta proses, dan digunakan selama proses berjalan.

  4. Deadlock prevention sistem

Menggunakan metode supaya tidak

terjadi salah satu kondisi yang

  Starvation Starvation

  

Starvation adalah kondisi yang

biasanya terjadi setelah deadlock.

  Proses yang kekurangan resource (karena

terjadi deadlock) tidak akan

pernah mendapat resource yang

dibutuhkan sehingga

mengalamistarvation (kelaparan).

  Contoh Starvation Contoh Starvation

  

Mobil pada kasus ini adalah proses, sedangkan

jembatan adalah sumber daya (resource)

   Kedua mobil berebut untuk menggunakan sumber daya, namun karena sumber daya tersebut hanya dapat digunakan oleh satu proses saja, maka terjadilah deadlock

  