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
UTAMAMemori 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. Meskipunprogram sistem berada ditingkat yang
lebih tinggi dari rutin-rutin program aplikasi yang lain, program-program aplikasi akan melihat semua yang beradaMODEL 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 prosesCONTOH 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
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
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 yangStarvation Starvation
Starvation adalah kondisi yang
biasanya terjadi setelah deadlock.
Proses yang kekurangan resource (karena
terjadi deadlock) tidak akan
pernah mendapat resource yang
dibutuhkan sehinggamengalamistarvation (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