Sistem Handheld


Sekitar tahun 1990-an dikembangkan sistem yang lebih kecil dari mikrokompuer yang disebut dengan sistem handheld dalam bentuk personal digital assistants (PDA). Pada beberapa sistem terdapat telepon selular. Sistem ini mempunyai memory yang terbatas, prosessor dengan kecepatan rendah dan display screen yang kecil. Perkembangan sistem komputer dari sistem mainframe sampai handheld dan perkembangan sistem operasi dapat dilihat pada gambar.


sumber

Sistem Real Time


Salah satu bentuk sistem operasi untuk keperluan khusus adalah sistem real time. Sistem real time digunakan bila terdapat kebutuhan keteptan waktu pa operasi prosessor atau aliran data sehingga sering digunakan untuk perangkat control pada suatu aplikasi seperti mengontrol percobaan keilmuan, sistem medical imaging, sistem control industri dan beberapa sistem display. Pada sistem real time harus didefinisikan batasan waktu yang tetap. Pemrosesan harus dikerjakan dalam waktu tertentu atau sistem akan gagal. Sebagai contoh, jika lengan robot tidak diinstruksikan untuk berhenti segera maka dapat merusak robot tersebut.

Terdapat dua bentuk sistem real time. Sistem hard real time menjamin tugas kritis diselesaikan tepat waktu. Pada sistem ini penyimpan sekunder terbatas atau tidak digunakan, data langsung dikirim ke memory atau read-only memory (ROM) dalam waktu singkat. Pada sistem hard real time terjadi konflik pada sistem time sharing dan tidak didukung oleh sistem operasi tujuan umum. Bentuk lainnya adalah soft real time dimana tugas kritis mendapatkan prioritas lebih tinggi dari tugas lain dan setelah satu task selesai maka task berprioritas ini akan diselesaikan. Sistem ini terbatas pada industri pengontrol robot. Sangat berguna pada aplikasi multimedia dan virtual rality yang membutuhkan fitur sistem operasi tertentu.

sumber

Sistem Terklaster


Sistem terklaster (clustered system) adalah pengembangan dari sistem terdistribusi. Perbedaan sistem terklaster dengan sistem terdistribusi adalah pada sistem terklaster memungkinkan dua atau lebih sistem untuk membagi penyimpan sekunder (storage) bersama-sama. Sistem ini mempunyai kehandalan sistem yang tinggi seperti pada sistem terdistribusi.

Sistem terklaster dapat berupa model asymmetric clustering dimana satu serber menjalankan aplikasi sementara server lainnya standby. Model lainnya adalah symmetric clustering dimana semua host menjalankan aplikasi.


sumber

Sistem Terdistribusi


Tren sistem komputer saat ini adalah mendistribusikan komputasi diantara beberapa prosessor. Prosessor berkomunikasi dengan prosessor lain melalui saluran komunikasi, misalnya bus kecepatan tinggi atau saluran telepon. Sistem ini disebut loosely coupled system atau sistem terdistribusi (distributed system).

Prosessor pada sistem terdistribusi bervariasi ukuran dan fungsinya. Biasanya terdiri dari mikroposessor, workstation, minikomputer dan sistem komputer generalpurpose. Prosessor-prosessor ini disebut dengan site, node, komputer atau lainnya. Keuntungan dari sistem terdistribusi adalah :

Resource sharing

Jika sejumlah site yang berbeda dihubungkan, maka user pada site satu dapat menggunakan sumber daya dari site lainya. Sebagai contoh, user pada site A dapat menggunakan printer laser dari site B. Sebaliknya user B dapat mengakses file user A.

Meningkatkan kecepatan komputasi

Jika komputasi tertentu dapat dipartisi dalam sejumlah sub komputasi yang dapat berjalan secara konkuren, maka sistem terdistribusi dapat mendistribusikan komputasi pada beberapa site untuk menjalankan komputasi secara konkuren.

Lebih handal

Jika satu site gagal pada sistem terdistribusi, sisa site dapat melanjutkan operasinya. Jika sistem dibagi sejumlah instalasi besar, maka kegagalan salah satunya tidak berakibat pada sisa sistem. Sebaliknya, jika sistem dibagi dalam sejumlah mesin kecil, masing-masing bertanggung jawab pada fungsi sistem yang penting (misalnya terminal karakter I/O atau sistem file), maka satu kegagalan dapat menghentikan oeprasi dari keseluruhan sistem. Secara umum, jika terjadi redudansi pada sistem (baik perangkat keras maupun perangkat lunak), sistem dapat menjalankan operasinya meskipun beberapa site gagal.

Komunikasi

Terdapat beberapa anggota program yang memerlukan mengganti data dengan data lain pada satu sistem. Sistem Windows contohnya, sering terjadi membagi data atau transfer data antara display. Jika beberapa site dihubungkan dengan lainnya dengan jaringan komunikasi, prosessor pada site yang berbeda dapat menukar informasi. User melakukan transfer file atau komunikasi dengan user lain melalui electronic mail. Seorang user dapat mengirim mail ke user lain pada site yang sama atau site yang berbeda.

Sistem terdistribusi memerlukan infrastruktur jaringan, berupa local area network (LAN) atau wide area network (WAN). Sistem terdistribusi biasanya disebut dengan sistem client-server atau peer-to-peer. Arsitektur dari sistem client server dapat dilihat pada Gambar 1-5.



sumber

Sistem Paralel


Sistem paralel atau sistem multiprosessor mempunyai lebih dari satu prosessor yang dapat berkomunikasi, membagi bus, clock dan juga perangkat memory dan peripheral. Sistem ini disebut sebagai tightly coupled system.

Sistem paralel atau sistem multiprosessor mempunyai lebih dari satu prosessor yang dapat berkomunikasi, membagi bus, clock dan juga perangkat memory dan peripheral. Sistem ini disebut sebagai tightly coupled system.

Alasan lain dari pengembangan sistem multiprosessor adalah meningkatkan kehandalan sistem. Jika fungsi dapat didistribusikan pada beberapa prosessor, maka kegagalan dari satu prosessor tidak akan menghentikan sistem, tetapi hanya memperlambat sistem. Jika terdapat 10 prosessor dan satu gagal, makan sisa 9 prosessor menggantikan pekerjaan prosessor yang gagal. Keseluruhan sistem hanya memperlambat 10 persen. Kemampuan untuk melanjutkan penyediaan layanan untuk menyelamatkan perangkat keras disebut gracefull degradation. Sistem yang didesain untuk gracefull degradation juga disebut faul- tolerant.

Sistem multi prosessor yang sering digunakan adalah model symmetric multiprocessing, dimana setiap prosessor menjalankan sistem operasi yang identik dan komunikasi antar prosesor jika diperlukan. Beberapa sistem menggunakan asymmetric multiprocessing, dimana setiap prosessor mempunyai tugas tetentu. Prosessor master mengontrol sistem, prosessor lain menunggu instruksi master atau mempunyai tugas yang ditentukan oleh master. Skema ini merupakan hubungan master-slave. Prosessor master menjadwal dan mengalokasikan pekerjaan dari prosessor slave.

Contoh symmetric multiprocessing adalah sistem UNIX versi Encore’s untuk komputer Multimax Komputer dapat dikonfigurasikan untuk menangani satu lusin prosessor, semua menjalankan UNIX. Keuntungan dari model ini adalah bahwa beberapa proses dapat berjalan pada satu waktu (N proses jika terdapat N CPU) tanpa menyebabkan pengurangan performansi. Sehingga kita dapat mengontrol I/O secara hati-hati untuk menjamin data mendapatkan prosessor yang tepat. Arsitektur dari symmetric multiprocessing dapat dilihat pada Gambar 1-4.


sumber

Sistem Desktop


Semakin turunnya harga perangkat keras, dikembangkan sistem komputer untuk satu user. Jenis sistem komputer ini biasanya disebut dengan personal computer (PC). Perangkat I/O berupa keyboard dan mouse, dan perangkat output berupa display screen atau printer yang berkecepatan tinggi.

Personal komputer dikembangkan tahun 1970-an. Sistem ini disebut dengan mikrokomputer. Sistem operasi masih belum dikembangkan untuk multiuser maupun multitasking. Tujuan sistem operasi adalah untuk memaksimalkan utilitas CPU dan peripheral, serta memaksimalkan kenyamanan dan respon user. Sistem operasi yang dikembangkan adalah Microsoft Windows dan Apple Machintosh. Sistem operasi MSDOS dari Microsoft yang masih single tasking dikembangkan oleh IBM menjadi OS/2 yang merupakan sistem multitasking.

Berkembangnya sistem komputer dari mainframe menjadi mikrokomputer menunjukkan bahwa sistem operasi mikrokomputer dapat mengadopsi sistem mainframe.

Contoh perpindahan sistem operasi adalah perkembangan sistem operasi MULTICS. MULTICS dikembangkan tahun 1965 sampai 1970 oleh Massachusetts Institute of Technology (MIT) sebagai utilitas komputasi yang berjalan pada komputer mainframe yang besar dan komplek. Kemudian Beel Laboratories mengembangkan MULTICS dengan mendesain UNIX tahun 1970 untuk minikomputer PDP-11. Tahun 1980, dikembangakan sistem operasi UNIX-like untuk sistem mikrokomputer menyusul sistem operasi lain yaitu Microsoft Windows NT, IBM OS/2 dan Machintosh.


sumber

Sistem Time Sharing


Time sharing atau multitasking adalah pengembangan dari sistem multiprogram. Beberapa job yang berada pada memory utama dieksekusi oleh CPU secara bergantian. CPU hanya bisa menjalankan program yang berada pada memory utama. Perpindahan antar job terjadi sangat sering sehingga user dapat berinteraksi dengan setiap program pada saat dijalankan. Suatu job akan dipindahkan dari memori ke disk dan sebaliknya.

Sistem time sharing juga disebut dengan sistem komputasi interaktif, dimana sistem komputer menyediakan komunikasi on-line antara user dengan sistem. User memberikan instruksi pada sistem operasi atau program secara langsung dan menerima respon segera. Perangkat input berupa keyboard dan perangkat output berupa display screen, seperti cathode-ray tube (CRT) atau monitor. Bila sistem operasi selesai mengeksekusi satu perintah, makan sistem akan mencari pernyataan berikutnya dari user melalui keyboard. Sistem menyediakan editor interaktif untuk menulis program dan sistem debug untuk membantu melakukan debugging program.

Agar user dapat mengakses data dan kode program dengan nyaman, sistem menyediakan sistem file online. Suatu file adalah kumpulan informasi yang berhubungan yang didefinisikan oleh pembuatnya. Biasanya, file berupa program (baik bentuk source dan object) dan data. Data file berupa teks dengan format tertentu. Secara umum, file adalah kumpulan bit, bite, baris atau record. Sistem operasi mengimplementasikan konsep abstrak dari file dengan mengatur perangkat penyimpan seperti tape dan disk. File secara normal diorganisasikan dalam logical cluster atau directory, untuk memudahkan lokasi dan akses file.



sumber

Sistem Batch Multiprograming


Beberapa job dikumpulkan oleh sistem operasi pada memory utama pada waktu yang sama, seperti pada Gambar 1-3. Kumpulan job ini merupakan bagian dari job yang disimpan pada pool (job pool). Job pool berisi job-job yang sudah siap dieksekusi. Jumlah job dapat disimpan bersama-sama pada memory biasanya lebih kecil daripada jumlah job yang dapat berada pada job pool. Sistem operasi mengambil beberapa job yang siap untuk dieksekusi untuk diletakkan di memori utama. Jika job yang sedang dieksekusi menunggu beberapa task (seperti proses mount tape drive atau operasi I/O yang harus diselesaikan), maka job tersebut diganti dengan job berikutnya.

Pada sistem multiprogramming, sistem operasi harus menyediakan mekanisme untuk manajemen memori, penjadwalan CPU dan manajemen disk. Sistem operasi multiprogram menyediakan supply untuk I/O routine. Sistem harus dapat mengalokasikan memory untuk beberapa job. Beberapa job yang sudah siap dieksekusi akan dipilih oleh sistem job mana yang akan dieksekusi oleh CPU. Perangkat apa saja yang diperlukan oleh setiap job juga harus dialokasikan oleh sistem.


sumber

Sistem Main Frame


Sistem komputer pendahulu secara fisik berbentuk mesin besar yang disebut sistem mainframe. Untuk menjalankan sistem ini dilakukan dari suatu console. Perangkat input yang digunakan berupa card reader dan tape drive. Perangkat output yang digunakan berupa line printer, tape drive dan card punch. Kemudian, user menyiapkan job yang terdiri dari program, data dan beberapa informasi kontrol (control card) dan dikirimkan ke operator komputer. Job biasanya dalam bentuk punch card. Beberapa waktu kemudian (dalam hitungan waktu menit, jam atau hari), output ditampilkan. Output berupa hasil program, apabila terjadi error pada program memory dan register akan berisi kosong.

Sistem operasi pada komputer mainframe sangat sederhana. Task utama mengirim control secara otomatis dari satu job ke job berikutnya. Sistem operasi selalu residen di memory yang disebut dengan resident monitor. Gambar 1-2 adalah gambaran layout memori pada sistem batch sederhana. Untuk meningkatkan kecepatan proses, job yang sama perlu dikumpulkan bersama (batch) dan dijalankan oleh komputer sebagai satu kelompok. Kemudian programmer memberikan program kepada operator. Operator akan mengurut program yang sama dan kemudian komputer akan menjalankan setiap kumpulan program tersebut. Output dari setiap job dikirim kembali kepada programmer.

Untuk menghindari adanya waktu nganggur CPU yang cukup lama maka dikembangkan suatu teknik mengurutan kerja job secara otomatis. Teknik ini mampu mentrasfer kontrol secara otomatis dari suatu job ke job berikutnya. Inilah bentuk sistem operasi pertama kali. Program kecil yang bersifat residen di memori berisi urutan-urutanjob yang akan berpindah secara oromatis inilah yang disebut dengan Resident Monitor.

Jika komputer dinyalakan, maka sistem akan menunjuk ke resident monitor, secara otomatis kontrol akan menunjuk ke program tersebut.


sumber

Pengertian Sistem Operasi


Sistem Operasi meruapakan sebuah penghubung antara pengguna dari komputer dengan perngkat keras komputer. Sebelum ada sistem operasi, orang hanya menggunakan komputer dengan menggunakan sinyal analog dan sinyal digital. Seiring dengan berkembangnya pengetahuan dan teknologim pada saat ini terdaat berbagai sistem operasi dengan keunggulaan masing-masing. Untuk lebih memahami sistem operasi itu sendiri.

Pengertian sistem operasi secara umum ialah pengelola seluruh sumber-daya yang teradapat pada sistem komputer dan menyediakan sekumpulan layanan (system calls) ke pemakai sehingga memudahlan dan menyamankan penggunaan serta pemanfaatan sumber-sumber komputer. Secara umum komponen sistem komputer terdiri dari :
1. Perangkat Keras, merupakan sumber daya utama untuk proses komputasi. Perangkat keras komputer terditi dari : CPU, memory dan perangkat input.
2. Sistem Operasi, mempunyai tugas untuk melakukan kontrol dan koordinasi penggunaan perangkat keras pada berbagai program aplikasi untuk user-user yang berbeda.
3. Program Aplikasi, menentukan cara sumber daya sistem digunakan untuk menyelesaikan permasalahan komputer dari user, contohnya compiler, sistem basis datam video games, program bisnis, dan lain-lain.
4. User yang menggunakan mesin, terdiri dari orang mesin atau komputer lain.

Sistem operasi didefinisikan sebagai :

Resource allocator

Sistem operasi mengatur dan mengalokasikan sumber daya – sumber daya
sistem computer

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 waktu (selain program aplikasi).


sumber

Pengertian Thread

        Proses merupakan sebuah program yang mengeksekusi thread tunggal. Kendali thread tunggal ini hanya memungkinkan proses untuk menjalankan satu tugas pada satu waktu. Banyak sistem operasi modern telah memiliki konsep yang dikembangkan agar memungkinkan sebuah proses untuk mengeksekusi multi-threads. Misalnya user melakukan pekerjaan secara bersamaan yaitu mengetik dan menjalankan pemeriksaan ejaan didalam proses yang sama.

      Thread merupakan unit dasar dari penggunaan CPU, yang terdiri dari Thread ID, program counter, register set, dan stack. Sebuah thread berbagi code section, data section, dan sumber daya sistem operasi dengan Thread lain yang dimiliki oleh proses yang sama. Thread juga sering disebut lightweight process. Sebuah proses tradisional atau heavyweight process mempunyai thread tunggal yang berfungsi sebagai pengendali. Perbedaannya ialah proses dengan thread yang banyak mengerjakan lebih dari satu tugas pada satu satuan waktu.

       Pada umumnya, perangkat lunak yang berjalan pada komputer modern dirancang secara multithreading. Sebuah aplikasi biasanya diimplementasi sebagai proses yang terpisah dengan beberapa thread yang berfungsi sebagai pengendali. Contohnya sebuah web browser mempunyai thread untuk menampilkan gambar atau tulisan sedangkan thread yang lain berfungsi sebagai penerima data dari network.

        Terkadang ada sebuah aplikasi yang perlu menjalankan beberapa tugas yang serupa. Sebagai contohnya sebuah web server dapat mempunyai ratusan klien yang mengaksesnya secara concurrent. Kalau web server berjalan sebagai proses yang hanya mempunyai thread tunggal maka ia hanya dapat melayani satu klien pada pada satu satuan waktu. Bila ada klien lain yang ingin mengajukan permintaan maka ia harus menunggu sampai klien sebelumnya selesai dilayani. Solusinya adalah dengan membuat web server menjadi multi-threading. Dengan ini maka sebuah web server akan membuat thread yang akan mendengar permintaan klien, ketika permintaan lain diajukan maka web server akan menciptakan thread lain yang akan melayani permintaan tersebut [MDGR2006].