Selasa, 13 Maret 2012

Jenis-Jenis Sistem Operasi pada HP dan Komputer

Sistem Operasi pada HP
  1. Sistem operasi Symbian
Sistem operasi Symbian adalah sistem operasi yang dikembangkan oleh Symbian Ltd. yang dirancang untuk digunakan peralatan bergerak mobile).Symbian merupakan perusahaan independen hasil kolaborasi vendor-vendor raksasa pada masa itu yakni Ericsson, Nokia, Motorola, dan Psion. Nokia sebagai pemegang saham terbesar dengan angka 47,9 persen. Banyak dari produk nokia ber-OS Symbian (NOKIA 6120 Classic, OS Symbian S60 v9.0 3rd edition).
 Symbian dipandang lebih unggul karena:
-. Sistem operasi ini sejak awal dirancang khusus untuk ponsel. Berbeda dengan Microsoft dan Linux yang diadopsi dari computer
- Berkat fitur CC+, Java (J2ME) MIDP 2.0, PersonalJava 1.1.1a, dan WAP, Sistem operasi symbian ini sangat terbuka sehingga siapapun bisa mengembangkannya. terbukti banyak beredar aplikasi-aplikasi tambahan untuk OS berbasis Symbian atau platform Java
- Symbian menyediakan suatu user interface (UI) framework yang fleksibel, sehingga supaya para vendor bisa menvariasikan produk-produknya.
Ada empat jenis UI yang beredar saat ini yaitu: Series 60 (misalnya Nokia N70, N91, Siemens SX1, Samsung D700, D710, Panasonic X700, X800); Series 80 (Nokia N9210, 9210i, 9300); Series 90 (Nokia 7700 dan 7710); UIQ (Sony Ericsson P800, P900, P910, Motorola A920, A925, A1000, A1010). Symbian MOAP (Mobile Oriented Applications Platform), contohnya adalah Mitsubishi D800iDS yang memiliki dual screen yang pengoperasiannya mirip dengan Nintendo DS yaitu 2 screen dan hanya screen bagian bawah yang memiliki fungsi touch screen. Symbian telah mengeluarkan Operating System untuk smartphone terbaru nya yaitu versi 9.3 Symbian menyatakan bahwa versi 9.3 ini akan lebih mempercepat, mempermurah dan mempermudah para vendor handphone dan para operator untuk mendapatkan servis dan fasilitas terbaik seperti mendukung WiFi, Firmware update secara online (FOTA), dukungan HSDPA, VoIP melalui IPSec, dukungan secara native untuk Push To Talk, dukungan Java JSR 248, Platform sekuriti yang lebih stabil dan lebih baik untuk memproteksi dari virus dan spam, dukungan untuk fasilitas graphic 3D yang lebih baik (vector floating point).
  1. Windows Mobile
Adalah sistem operasi seluler yang ditawarkan oleh Microsoft. Sistem operasi Windows Mobile dimulai dari :
-         Pocket PC 2000
-         Pocket PC 2002
-         Windows Mobile 2003. Memiliki 4 edisi, yaitu : Windows Mobile 2003 for Pocket PC Premium Edition, Windows Mobile 2003 for Pocket PC Professional Edition, Windows Mobile 2003 for Smartphone, dan Windows Mobile 2003 for Pocket PC Phone Edition
-         Windows Mobile 2003 Second Edition (Windows Mobile 2003 SE)
-         Windows Mobile 5
-         Windows Mobile 6, memiliki 3 versi, yaitu : Windows Mobile 6 Standard for Smartphone (phone without touchscreen), Windows Mobile 6 Professional for Pocket PC with phone functionality, dan Windows Mobile 6 Classic for Pocket PCs without cellular radio. Contoh: Eten Glofiish X650 menggunakan Windows Mobile 6.0 Profesional
Versi terbaru yang sedang dikembangkan Microsoft adalah Photon, yang didasarkan pada Windows Embedded CE 6.0 dan diharapkan dapat mengintegrasikan versi smartphone dan Pocket PC. Contoh perangkat yang ber-OS Windows Mobile seperti Audiovox SMT 5600, iMate SP3i, Samsung SCH-i600, Mio 8390, Sagem myS-7, Orange SPV C500, HP iPAQ rw6100, Motorola MPx220, O2 Xphone, dan O2 Xphone II. PDA adalah Acer n30, ASUS My Pal A716, HP iPAQ h5555, dan Mio 558. Keunggulan yang ditawarkan seperti :
-         Sebagian besar teknologi IT (information technology) yang dipakai berbasis Windows, kecocokan dalam hal platform serta ekstensi yang mudah dengan software komputer dipandang bahwa Microsoft dianggap lebih ideal dibandingkan Symbian atau Linux.
-         Windows Mobile menawarkan berbagai fitur unggulan seperti Mobile Blog, GPS, menonton televisi, serta Mobile Database.
Kelemahannyan adalah Windows Mobile bersifat tertutup sehingga sulit bagi software developer independen untuk menciptakan aplikasi-aplikasi baru.
  1. Mobile Linux
Ponsel Linux pertama diluncurkan oleh Motorola pada bulan Februari 2003. Motorola seri A760 yang dirilis pertama kali di Cina ini menggunakan OS kombinasi dari kernel Linux yang didistribusikan oleh software Silicon Valley-based Monta Vista dan software lainnya dari bahasa pemrograman Java Sun Microsystems. Sistem operasi berbasis Linux yang dikembangkan oleh Google adalah Android. Platform software berbasis Linux diantaranya adalah MOTOMAGX dan Qtopia. MOTOMAGX merupakan platform Linux mobile dari Motorola. Produk pertama yang didasarkan pada platform ini adalah ponsel MOTOROKR Z6 dan MOTORAZR2 V8. Qtopia Phone Edition merupakan platform software dan antarmuka untuk Linux, yang dikembangkan oleh perusahaan Trolltech. Qtopia Greenphone, merupakan perangkat pengembangan Linux mobile yang ditujukan untuk berbagai aplikasi baru.
Kelemahannya adalah aplikasi tambahan yang belum banyak beredar, serta Linux dibangun untuk mengoprasikan sistem dengan tenaga besar, sehingga manajemen sumber daya baterai masih kalah efektif dibandingkan OS lainnya.
Kelebihannya adalah Linux sebagai OS yang ideal bagi ponsel karena dukungan oleh perusahaan-perusahaan besar seperti IBM, Oracle, dan Intel. Selain itu, sistem ini nilai lebih fleksibel dan menawarkan memori yang lebih kecil serta bisa lebih dihemat.
Contoh ponsel ber-Linux OS: Haier N60, Motorola A760, E895, NEC N900iL, dan Samsung SCH-i519. Produk-produk PDA seperti Sharp SL-C3000, Sharp Zaurus SL-C1000, Compaq iPAQ, IBM e-LAP reference design, dan Nokia 770 Internet Tablet.
  1. Sistem operasi BlackBerry
Perusahan telekomunikasi asal Canada, Reserch in Motion (RIM), mengembangkan perangkat komunikasi bergerak. Awalnya produk mereka adalah memproduksi dan layanan penyeranta (Pager) dua arah, namun dalam
perkembangannya perusahaan ini membuat terobosan baru dengan menciptakan pearangkat Blackberry yang terkenal dengan layanan push-email, dan sekarang blackberry berubah menjadi smartphone yang memiliki berbagai fungsi seperti, GPS, internet mobile, serta dapat mengakses Wi-FI. RIM sebagai developer untuk sistem operasi blackberry telah mengeluarkan sistem operasi baru dengan salah satu aplikasi yang tertanam didalamnya adalah Document to Go versi trial buatan DataViz, suatu aplikasi yang memiliki fungsi officeseperti Word to Go, Presenter to Go yang otomatis memiliki Sheet to Go sebagai aplikasi Spreadsheet.
  1. System operasi Palm
Contoh peproduk yang menanamkan sistem operasi Palm adalah Palm Treo 680 Smartphone ini menggunakan system operasi Palm, yaitu Palm OS 5.4.9 dengan prosesor Intel PXA270, 312MHz. Beberapa fitur yang ditawarkan adalah Pocket Express, Microsoft Media Player, Palm files, PDF viewer, Adobe Acrobat reader, eReader, Pocket Tunes, dan Document To Go.
     6. Java
Biasanya diterapkan pada jenis yang telah polyponik namun kelas monoponik pun juga telah tersedia.biasanya terdapat pada handphone tipe lama,namun tipe baru sekalipun saat ini baisanya juga telah mendukung untuk fitur ini.harga untuk ponsel jenis ini lebih terjangkau dari pada handphone dengan 2 jenis OS berikut.Bahasa yang dipergunakan untuk pengembangannya yaitu bahasa pemrograman java.
    7. Android
            Sistem operasi untuk handphone yang akan diluncurkan Google. Android berbasis Linux sehingga termasuk open source.




Sistem Operasi pada Komputer
Ø DOS
Sistem Operasi DOS adalah DOS (Disk Operating System ) merupakan salah satu software yang termasuk dalam golongan system operasi. Disk Operating System dipakai pada media penyimpan disk, baik disket maupun harddisk
            Sistem operasi PC DOS ( Personnal Computer Disk Operating System) ini ditujukan untuk pemakaian mikrokomputer IBM (IBM PC). Yang pada mulanya di tahun 1980, tim Petterson membuat opearting system membuat operating system untuk  Seatle Computer Product yang membutuhkan S-100 system dengan mempergunakan INTEL 8086. Operating system tersebut dinamakan QDOS (Quick and Dirty Operating System ). Pada akhir tahun 1980, QDOS dikembangkan dan diberi nama 86-DOS (DOS untuk 8086).
Beberapa produk DOS sampai saat ini adalah  :
1.      DOS 1.0
Versi ini merupakan versi DOS paling awal. Kemunculan versi ini dihubungkan dengan kemunculan IBM PC. Versi ini sangat sederhana dan kemampuannya terbatas.Versi ini tidak dipaka lagi karena tidak dapat lagi mendukung perkembangan software yang ada.
2.      DOS 2.0
Dikeluarkan pada bulan maret 1983 bersama munculnya IBM PC/XT. Karena versi mempunyai beberapa kesalahan program maka diperbaiki dengan versi 2.10
3.      DOS 3.0
Yang dimaksud dengan DOS 3.0 adalah PC-DOS 3.0 dan MS-DOS 3.05 yang merupakan DOS yang dikeluarkan untuk mendukung computer baru waktu itu yang disebut computer AT (advanced Technology). Versi ini mendukung pemakaian disk drive dengan kapasitas 1.2 megabyte dan pemakaian RAMDisk (VDISK) dengan menggunakan extended memory yang tidak dapat dipakai langsung oleh DOS versi ini.
4.      DOS 3.1
Diluncurkan pada bulan maret 1985 Kelebihan DOS ini adanya dukungan terhadap system network computer.
5.      DOS 3.2
PC DOS 3.2 dikeluarkan bersamaan dengan diluncurkannya computer laptop. Versi mampu memanfaatkan disk drive dengan ukuran 3.5 inci ukuran 720 kilobyte yang biasanya dipakai pada computer laptop.
6.      DOS 3.3
IBM pada tahun 1987 mengeluarkan versi DOS 3.3 Kemampuan DOS 3.3 yang ditambahkan dari DOS sebelumnya adalah kemampuan memakai harddisk sebanyak 32 megabyte per logical drive (1 drive logika)
7.      DOS 4.0
Mempunyai 3 versi DOS yaitu PC-DOS 4.0, PC-DOS 4.01 dan MS-DOS 4.01. PC DOS 4.0 merupakan versi pertama yang dikeluarkan  pada bulan juli 1988, karena DOS ini banyak kesalhan maka dikeluatkan PC-DOS 4.01. Versi DOS 4.0 mempunyai fasilitas Shell dari DOS untuk mengontrol kerja computer dengan system menu.
8.      DOS 5.0
Diluncurkan pada tahun 1991 dengan fasilitas baru seperti MIRROR, UNDELETTE dan UNFORMAT.
9.      DOS 6.0
Diluncurkan pada bulan maret 1993. Ditambahkan beberapa utility baru dan penambahan perintah-perintah konfigurasi system dan batch file. 
UNIX
UNIX adalah nama system operasi yang dapat diterapkan pada berbagai jenis mesin. Sistem operasi UNIX ini diperkenalkan pertama kali oleh AT&T Bell Laboratory untuk pemakaian komputer dalam bentuk jaringan khusus.
Berbagai versi UNIX
Nama
Vendor
AIX
IBM
A/UX
Apple (Macintosh)
BSD
University of California
DG/UX
Data General
HP/UX
Hawlette-Packard
MS/UX
NEC
PC/IX
Interactive System Corporation
SCO UNIX
SCO
SINIX
Siemens
ULTRIX
DEC
UNICOS
Cray Research
UNIX
AT&T, SCO, Sun Microsystem
VENIX
VenturaCom, Inc
XENIX
SCO / Microsoft

Beberapa sifat dan keistimewaan UNIX
  1. Portabilitas
Sistem UNIX mudah diadaptasikan ke system komputer yang lain
  1. Multiuser
Sejumlah pemakai (user) dapat menggunakan istem secara bersamaan dan berbagi sumber seperti penggunaa  printer, disk, dll
  1. Multitasking
Kemampuan system operasi yang memungkinkan seseorang dapat melaksanakan beberapa tugas pada saat yang bersamaan
  1. Sistem File Hirarkikal
Pengorganisasian informasi atau data dalam bentuk yang mudah untuk diingat dan diakses
Kelemahan system UNIX
  1. Visualisasinya tidak menarik
  2. memory yang digunakan besar

  1. Konsol
Piranti yang terdiri dari layar dan keyboard yang dipakai oleh manajer system administrator system untuk mengontrol operasi system
  1. terminal
Piranti yang terdiri dari layar dan keyboard yang biasa digunakan oleh penakai untuk berinteraksi dengan system
  1. Jalur Komunikasi
Piranti yang  biasa digunakan untuk menghubungkan terminal jarak jauh ke system UNIX
  1. Modem
Piranti untuk mengubah sinyal digital (komputer) menjadi sinyal analog (telepon) dan sebaliknya
  1. Server
Piranti yang  merupakan otak dari system yang berisi system UNIX, program aplikasi, memory dll.

Keterangan :
  1. Kernel
Inti dari system UNIX yang mengontrol perangkat keras dan melaksanakan berbagai fungsi level rendah. Fungsi yang dilaksanakan seperti :
-         tanggal dan jam system
-         manajemen file dan penanganan security
-         operasi input/output
-         manajemen memori
-         penganganan kesalahan dan interupso
  1. Shell
Penterjemah pada system UNIX yang merupakan jembatan antara pemakai dan system UNIX.
Ada tiga macam Shell yang terkenal yaitu :
Nama Shell
Nama Program
Pencipta
Bourne Shell
Sh / $
Stephen R Bourne
C Shell
Csh / %
Bill Joy
Korn Shell
Ksh / $ / #
David G Korn
  1. Utilitas
Program yang disediakan system UNIX untuk melaksanakan tugas tertentu, seperti :
-         manajmen file dan directory
-         penyuntingan file
-         penunjang komunikasi dan jaringan
-         administrasi system
-         penganalisis unjuk kerja system
-         untuk keperluan backup dan restore
  1. Program Aplikasi
Program – program yang dibuat oleh pemakai untuk memenuhi kebutuhannya sendiri.
Masuk Ke Sistem UNIX
Proses untuk masuk ke system UNIX biasa disebut LOGIN atau LOGGING IN atau SIGN ON.
Proses ini diawali dengan tampilan prompt login seperti :
            login     : -
Berikutnya system UNIX akan menanyakan password :
Contoh :
            login : ahmad
            password : -                 (tidak tampak paa saat diketik)
            login incorrect   (tampil jika password salah)
            wait for login retry :
            login     : -
catatan :
hubungi administrator system jika password lupa
Keluar dari Sistem
Proses untuk keluar dari system UNIX biasa diesebut LOGOUT atau LOGGING OUT
Berikut table logging out berdasarkan shell :
Shell
Perintah
Bourne / korn shell
-         exit
-        
C shell
-         logout
-        
Ø LINUX
Linux (diucapkan lɪnəks atau /lɪnʊks) adalah nama yang diberikan kepada sistem operasi komputer bertipe Unix. Linux merupakan salah satu contoh hasil pengembangan perangkat lunak bebas dan sumber terbuka utama. Seperti perangkat lunak bebas dan sumber terbuka lainnya pada umumnya, kode sumber Linux dapat dimodifikasi, digunakan dan didistribusikan kembali secara bebas oleh siapapun. Nama "Linux" berasal dari nama kernelnya (kernel Linux), yang dibuat tahun 1991 oleh Linus Torvalds. Sistemnya, peralatan sistem dan pustakanya umumnya berasal dari sistem operasi GNU, yang diumumkan tahun 1983 oleh Richard Stallman. Kontribusi GNU adalah dasar dari munculnya nama alternatif GNU/Linux. Linux telah lama dikenal untuk penggunaannya di server, dan didukung oleh perusahaan-perusahaan komputer ternama seperti Dell, Hewlett-Packard, IBM, Novell, Oracle Corporation, Red Hat, dan Sun Microsystems. Linux digunakan sebagai sistem operasi di berbagai macam jenis perangkat keras komputer, termasuk komputer desktop, superkomputer, dan sistem benam seperti pembaca buku elektronik, sistem permainan video (PlayStation 2, PlayStation 3 dan XBox), telepon genggam dan router. Para pengamat teknologi informatika beranggapan kesuksesan Linux dikarenakan Linux tidak bergantung kepada vendor (vendor independence), biaya operasional yang rendah, dan kompatibilitas yang tinggi dibandingkan versi UNIX tak bebas, serta faktor keamanan dan kestabilannya yang tinggi dibandingkan dengan sistem operasi lainnya seperti Microsoft Windows. Ciri-ciri ini juga menjadi bukti atas keunggulan model pengembangan perangkat lunak sumber terbuka (opensource software). Sistem operasi Linux yang dikenal dengan istilah distribusi Linux (Linux distribution) atau distro Linux umumnya sudah termasuk perangkat-perangkat lunak pendukung seperti server web, bahasa pemrograman, basisdata, tampilan desktop (desktop environment) (seperti GNOME dan KDE), dan paket aplikasi perkantoran (office suite) seperti OpenOffice.org, KOffice, Abiword, dan Gnumeric.

Cara Sistem Operasi Mengendalikan Proses Sistem Operasi

Pengertian Sistem operasi Komputer adalah perangkat lunak komputer atau software yang bertugas untuk melakukan kontrol dan manajemen perangkat keras dan juga operasi-operasi dasar sistem, termasuk menjalankan software aplikasi seperti program-program pengolah data yang bisa digunakan untuk mempermudah kegiatan manusia. Sistem Operasi dalam bahasa Inggrisnya disebut Operating System, atau biasa di singkat dengan OS.
Sistem Operasi komputer merupakan software pada lapisan pertama yang diletakkan pada memori komputer, (memori komputer dalam hal ini ada Hardisk, bukan memory ram) pada saat komputer dinyalakan. Sedangkan software-software lainnya dijalankan setelah Sistem Operasi Komputer berjalan, dan Sistem Operasi akan melakukan layanan inti umum untuk software-software itu. Layanan inti umum tersebut seperti akses ke disk, manajemen memori, skeduling task, dan antar-muka user. Sehingga masing-masing software tidak perlu lagi melakukan tugas-tugas inti umum tersebut, karena dapat dilayani dan dilakukan oleh Sistem Operasi. Bagian kode yang melakukan tugas-tugas inti dan umum tersebut dinamakan dengan kernel suatu Sistem Operasi.
Sistem Operasi berfungsi sebagai penghubung antara lapisan hardware dan lapisan software. selain itu, Sistem Operasi komputer juga melakukan semua perintah perintah penting dalam komputer, serta menjamin aplikasi-aplikasi yang berbeda fungsinya dapat berjalan lancar secara bersamaan tanpa hambatan. Sistem Operasi Komputer menjamin aplikasi perangkat lunak lainnya bisa memakai memori, melakukan input serta output terhadap peralatan lain, dan mempunya akses kepada sistem file. Jika beberapa aplikasi berjalan secara bersamaan, maka Sistem Operasi Komputer akan mengatur jadwal yang tepat, sehingga sebisa mungkin semua proses pada komputer yang berjalan mendapatkan waktu yang cukup untuk menggunakan CPU dan tidak saling mengganggu dengan perangkat yang lain.

Contoh-contoh dari Sistem operasi Komputer misalnya adalah Windows, Linux, MacOS, dan lain lain. Di bawah ini merupakan tampilan antarmuka sistem operasi Windows 7, Linux (ubuntu), dan Mac OS X.

Biasanya, istilah Sistem Operasi sering ditujukan kepada semua perangkat lunak yang masuk dalam satu paket dengan sistem komputer sebelum aplikasi-aplikasi perangkat lunak terinstal. Sistem operasi adalah perangkat lunak sistem yang bertugas untuk melakukan kontrol dan manajemen perangkat keras serta operasi-operasi dasar sistem, termasuk menjalankan perangkat lunak aplikasi seperti program-program pengolah kata dan peramban web.
Secara umum, Sistem Operasi adalah perangkat lunak pada lapisan pertama yang ditempatkan pada memori komputer pada saat komputer dinyalakan. Sedangkan software-software lainnya dijalankan setelah Sistem Operasi berjalan, dan Sistem Operasi akan melakukan layanan inti umum untuk software-software itu. Layanan inti umum tersebut seperti akses ke disk, manajemen memori, skeduling task, dan antar-muka user. Sehingga masing-masing software tidak perlu lagi melakukan tugas-tugas inti umum tersebut, karena dapat dilayani dan dilakukan oleh Sistem Operasi. Bagian kode yang melakukan tugas-tugas inti dan umum tersebut dinamakan dengan "kernel" suatu Sistem Operasi
Kalau sistem komputer terbagi dalam lapisan-lapisan, maka Sistem Operasi adalah penghubung antara lapisan hardware dan lapisan software. Lebih jauh daripada itu, Sistem Operasi melakukan semua tugas-tugas penting dalam komputer, dan menjamin aplikasi-aplikasi yang berbeda dapat berjalan secara bersamaan dengan lancar. Sistem Operasi menjamin aplikasi software lainnya dapat menggunakan memori, melakukan input dan output terhadap peralatan lain, dan memiliki akses kepada sistem berkas. Apabila beberapa aplikasi berjalan secara bersamaan, maka Sistem Operasi mengatur schedule yang tepat, sehingga sedapat mungkin semua proses yang berjalan mendapatkan waktu yang cukup untuk menggunakan prosesor (CPU) serta tidak saling mengganggu.
Dalam banyak kasus, Sistem Operasi menyediakan suatu pustaka dari fungsi-fungsi standar, dimana aplikasi lain dapat memanggil fungsi-fungsi itu, sehingga dalam setiap pembuatan program baru, tidak perlu membuat fungsi-fungsi tersebut dari awal.
Sistem Operasi secara umum terdiri dari beberapa bagian:
  1. Mekanisme Boot, yaitu meletakkan kernel ke dalam memory
  2. Kernel, yaitu inti dari sebuah Sistem Operasi
  3. Command Interpreter atau shell, yang bertugas membaca input dari pengguna
  4. Pustaka-pustaka, yaitu yang menyediakan kumpulan fungsi dasar dan standar yang dapat dipanggil oleh aplikasi lain
  5. Driver untuk berinteraksi dengan hardware eksternal, sekaligus untuk mengontrol mereka.
Sebagian Sistem Operasi hanya mengizinkan satu aplikasi saja yang berjalan pada satu waktu (misalnya DOS), tetapi sebagian besar Sistem Operasi baru mengizinkan beberapa aplikasi berjalan secara simultan pada waktu yang bersamaan. Sistem Operasi seperti ini disebut sebagai Multi-tasking Operating System (misalnya keluarga sistem operasi UNIX). Beberapa Sistem Operasi berukuran sangat besar dan kompleks, serta inputnya tergantung kepada input pengguna, sedangkan Sistem Operasi lainnya sangat kecil dan dibuat dengan asumsi bekerja tanpa intervensi manusia sama sekali. Tipe yang pertama sering disebut sebagai Desktop OS, sedangkan tipe kedua adalah Real-Time OS, contohnya adalah Windows, Linux, Free BSD, Solaris, palm, symbian, dan sebagainya.

Sedikit penjelasan mengenai "Kernel" :
Dalam ilmu komputer, kernel adalah suatu perangkat lunak yang menjadi bagian utama dari sebuah sistem operasi. Tugasnya melayani bermacam program aplikasi untuk mengakses perangkat keras komputer secara aman.
Karena akses terhadap perangkat keras terbatas, sedangkan ada lebih dari satu program yang harus dilayani dalam waktu yang bersamaan, maka kernel juga bertugas untuk mengatur kapan dan berapa lama suatu program dapat menggunakan satu bagian perangkat keras tersebut. Hal tersebut dinamakan sebagai multiplexing.
Akses kepada perangkat keras secara langsung merupakan masalah yang kompleks, oleh karena itu kernel biasanya mengimplementasikan sekumpulan abstraksi hardware. Abstraksi-abstraksi tersebut merupakan sebuah cara untuk menyembunyikan kompleksitas, dan memungkinkan akses kepada perangkat keras menjadi mudah dan seragam. Sehingga abstraksi pada akhirnya memudahkan pekerjaan programer.
Untuk menjalankan sebuah komputer kita tidak harus menggunakan kernel sistem operasi. Sebuah program dapat saja langsung diload dan dijalankan di atas mesin 'telanjang' komputer, yaitu bilamana pembuat program ingin melakukan pekerjaannya tanpa bantuan abstraksi perangkat keras atau bantuan sistem operasi. Teknik ini digunakan oleh komputer generasi awal, sehingga bila kita ingin berpindah dari satu program ke program lain, kita harus mereset dan meload kembali program-program tersebut.

Sebuah kernel sistem operasi tidak harus ada dan dibutuhkan untuk menjalankan sebuah komputer. Program dapat langsung dijalankan secara langsung di dalam sebuah mesin (contohnya adalah CMOS Setup) sehingga para pembuat program tersebut membuat program tanpa adanya dukungan dari sistem operasi atau hardware abstraction. Cara kerja seperti ini, adalah cara kerja yang digunakan pada zaman awal-awal dikembangkannya komputer (pada sekitar tahun 1950). Kerugian dari diterapkannya metode ini adalah pengguna harus melakukan reset ulang komputer tersebut dan memuatkan program lainnya untuk berpindah program, dari satu program ke program lainnya. Selanjutnya, para pembuat program tersebut membuat beberapa komponen program yang sengaja ditinggalkan di dalam komputer, seperti halnya loader atau debugger, atau dimuat dari dalam ROM (Read-Only Memory). Seiring dengan perkembangan zaman komputer yang mengalami akselerasi yang signifikan, metode ini selanjutnya membentuk apa yang disebut dengan kernel sistem operasi.
Selanjutnya, para arsitek sistem operasi mengembangkan kernel sistem operasi yang pada akhirnya terbagi menjadi empat bagian yang secara desain berbeda, sebagai berikut:
  • Kernel monolitik. Kernel monolitik mengintegrasikan banyak fungsi di dalam kernel dan menyediakan lapisan abstraksi perangkat keras secara penuh terhadap perangkat keras yang berada di bawah sistem operasi.
  • Mikrokernel. Mikrokernel menyediakan sedikit saja dari abstraksi perangkat keras dan menggunakan aplikasi yang berjalan di atasnya—yang disebut dengan server—untuk melakukan beberapa fungsionalitas lainnya.
  • Kernel hibrida. Kernel hibrida adalah pendekatan desain microkernel yang dimodifikasi. Pada hybrid kernel, terdapat beberapa tambahan kode di dalam ruangan kernel untuk meningkatkan performanya.
  • Exokernel. Exokernel menyediakan hardware abstraction secara minimal, sehingga program dapat mengakses hardware secara langsung. Dalam pendekatan desain exokernel, library yang dimiliki oleh sistem operasi dapat melakukan abstraksi yang mirip dengan abstraksi yang dilakukan dalam desain monolithic kernel.

Kernel monolitik

Pendekatan kernel monolitik didefinisikan sebagai sebuah antarmuka virtual yang berada pada tingkat tinggi di atas perangkat keras, dengan sekumpulan primitif atau system call untuk mengimplementasikan layanan-layanan sistem operasi, seperti halnya manajemen proses, konkurensi (concurrency), dan manajemen memori pada modul-modul kernel yang berjalan di dalam mode supervisor.
Meskipun jika setiap modul memiliki layanan operasi-operasi tersebut terpisah dari modul utama, integrasi kode yang terjadi di dalam monolithic kernel sangatlah kuat, dan karena semua modul berjalan di dalam address space yang sama, sebuah bug dalam salah satu modul dapat merusak keseluruhan sistem. Akan tetapi, ketika implementasi dilakukan dengan benar, integrasi komponen internal yang sangat kuat tersebut justru akan mengizinkan fitur-fitur yang dimiliki oleh sistem yang berada di bawahnya dieksploitasi secara efektif, sehingga membuat sistem operasi dengan monolithic kernel sangatlah efisien—meskipun sangat sulit dalam pembuatannya.
Pada sistem operasi modern yang menggunakan monolithic kernel, seperti halnya Linux, FreeBSD, Solaris, dan Microsoft Windows, dapat memuat modul-modul yang dapat dieksekusi pada saat kernel tersebut dijalankan sehingga mengizinkan ekstensi terhadap kemampuan kernel sesuai kebutuhan, dan tentu saja dapat membantu menjaga agar kode yang berjalan di dalam ruangan kernel (kernel-space) seminim mungkin.
Di bawah ini ada beberapa sistem operasi yang menggunakan Monolithic kernel:

Mikrokernel

Pendekatan mikrokernel berisi sebuah abstraksi yang sederhana terhadap hardware, dengan sekumpulan primitif atau system call yang dapat digunakan untuk membuat sebuah sistem operasi agar dapat berjalan, dengan layanan-layanan seperti manajemen thread, komunikasi antar address space, dan komunikasi antar proses. Layanan-layanan lainnya, yang biasanya disediakan oleh kernel, seperti halnya dukungan jaringan, pada pendekatan microkernel justru diimplementasikan di dalam ruangan pengguna (user-space), dan disebut dengan server.
Server atau disebut sebagai peladen adalah sebuah program, seperti halnya program lainnya. Server dapat mengizinkan sistem operasi agar dapat dimodifikasi hanya dengan menjalankan program atau menghentikannya. Sebagai contoh, untuk sebuah mesin yang kecil tanpa dukungan jaringan, server jaringan (istilah server di sini tidak dimaksudkan sebagai komputer pusat pengatur jaringan) tidak perlu dijalankan. Pada sistem operasi tradisional yang menggunakan monolithic kernel, hal ini dapat mengakibatkan pengguna harus melakukan rekompilasi terhadap kernel, yang tentu saja sulit untuk dilakukan oleh pengguna biasa yang awam.
Dalam teorinya, sistem operasi yang menggunakan microkernel disebut jauh lebih stabil dibandingkan dengan monolithic kernel, karena sebuah server yang gagal bekerja, tidak akan menyebabkan kernel menjadi tidak dapat berjalan, dan server tersebut akan dihentikan oleh kernel utama. Akan tetapi, dalam prakteknya, bagian dari system state dapat hilang oleh server yang gagal bekerja tersebut, dan biasanya untuk melakukan proses eksekusi aplikasi pun menjadi sulit, atau bahkan untuk menjalankan server-server lainnya.
Sistem operasi yang menggunakan microkernel umumnya secara dramatis memiliki kinerja di bawah kinerja sistem operasi yang menggunakan monolithic kernel. Hal ini disebabkan oleh adanya overhead yang terjadi akibat proses input/output dalam kernel yang ditujukan untuk mengganti konteks (context switch) untuk memindahkan data antara aplikasi dan server.
Beberapa sistem operasi yang menggunakan microkernel:

Kernel hibrida

Kernel hibrida aslinya adalah mikrokernel yang memiliki kode yang tidak menunjukkan bahwa kernel tersebut adalah mikrokernel di dalam ruangan kernel-nya. Kode-kode tersebut ditaruh di dalam ruangan kernel agar dapat dieksekusi lebih cepat dibandingkan jika ditaruh di dalam ruangan user. Hal ini dilakukan oleh para arsitek sistem operasi sebagai solusi awal terhadap masalah yang terjadi di dalam mikrokernel: kinerja.
Beberapa orang banyak yang bingung dalam membedakan antara kernel hibrida dan kernel monolitik yang dapat memuat modul kernel setelah proses booting, dan cenderung menyamakannya. Antara kernel hibrida dan kernel monolitik jelas berbeda. Kernel hibrida berarti bahwa konsep yang digunakannya diturunkan dari konsep desain kernel monolitik dan mikrokernel. Kernel hibrida juga memiliki secara spesifik memiliki teknologi pertukaran pesan (message passing) yang digunakan dalam mikrokernel, dan juga dapat memindahkan beberapa kode yang seharusnya bukan kode kernel ke dalam ruangan kode kernel karena alasan kinerja.
Di bawah ini adalah beberapa sistem operasi yang menggunakan kernel hibrida:

Exokernel

Sebenarnya, Exokernel bukanlah pendekatan kernel sistem operasi yang umum—seperti halnya microkernel atau monolithic kernel yang populer, melainkan sebuah struktur sistem operasi yang disusun secara vertikal.
Ide di balik exokernel adalah untuk memaksa abstraksi yang dilakukan oleh developer sesedikit mungkin, sehingga membuat mereka dapat memiliki banyak keputusan tentang abstraksi hardware. Exokernel biasanya berbentuk sangat kecil, karena fungsionalitas yang dimilikinya hanya terbatas pada proteksi dan penggandaan sumber daya.
Kernel-kernel klasik yang populer seperti halnya monolithic dan microkernel melakukan abstraksi terhadap hardware dengan menyembunyikan semua sumber daya yang berada di bawah hardware abstraction layer atau di balik driver untuk hardware. Sebagai contoh, jika sistem operasi klasik yang berbasis kedua kernel telah mengalokasikan sebuah lokasi memori untuk sebuah hardware tertentu, maka hardware lainnya tidak akan dapat menggunakan lokasi memori tersebut kembali.
Exokernel mengizinkan akses terhadap hardware secara langsung pada tingkat yang rendah: aplikasi dan abstraksi dapat melakukan request sebuah alamat memori spesifik baik itu berupa lokasi alamat physical memory dan blok di dalam hard disk. Tugas kernel hanya memastikan bahwa sumber daya yang diminta itu sedang berada dalam keadaan kosong—belum digunakan oleh yang lainnya—dan tentu saja mengizinkan aplikasi untuk mengakses sumber daya tersebut. Akses hardware pada tingkat rendah ini mengizinkan para programmer untuk mengimplementasikan sebuah abstraksi yang dikhususkan untuk sebuah aplikasi tertentu, dan tentu saja mengeluarkan sesuatu yang tidak perlu dari kernel agar membuat kernel lebih kecil, dan tentu saja meningkatkan performa.
Exokernel biasanya menggunakan library yang disebut dengan libOS untuk melakukan abstraksi. libOS memungkinkan para pembuat aplikasi untuk menulis abstraksi yang berada pada level yang lebih tinggi, seperti halnya abstraksi yang dilakukan pada sistem operasi tradisional, dengan menggunakan cara-cara yang lebih fleksibel, karena aplikasi mungkin memiliki abstraksinya masing-masing. Secara teori, sebuah sistem operasi berbasis Exokernel dapat membuat sistem operasi yang berbeda seperti halnya Linux, UNIX, dan Windows

Layanan inti umum

Seiring dengan berkembangnya Sistem Operasi, semakin banyak lagi layanan yang menjadi layanan inti umum. Kini, sebuah OS mungkin perlu menyediakan layanan network dan koneksitas internet, yang dulunya tidak menjadi layanan inti umum. Sistem Operasi juga perlu untuk menjaga kerusakan sistem komputer dari gangguan program perusak yang berasal dari komputer lainnya, seperti virus. Daftar layanan inti umum akan terus bertambah.
Program saling berkomunikasi antara satu dengan lainnya dengan Antarmuka Pemrograman Aplikasi, Application Programming Interface atau disingkat dengan API. Dengan API inilah program aplikasi dapat berkomunikasi dengan Sistem Operasi. Sebagaimana manusia berkomunikasi dengan komputer melalui Antarmuka User, program juga berkomunikasi dengan program lainnya melalui API.
Walaupun demikian API sebuah komputer tidaklah berpengaruh sepenuhnya pada program-program yang dijalankan diatas platform operasi tersebut. Contohnya bila program yang dibuat untuk windows 3.1 bila dijalankan pada windows 95 dan generasi setelahnya akan terlihat perbedaan yang mencolok antara window program tersebut dengan program yang lain.

Sistem Operasi saat ini

Sistem operasi-sistem operasi utama yang digunakan komputer sistem umum (termasuk PC, komputer personal) terbagi menjadi 3 kelompok besar:
  1. Keluarga Microsoft Windows - yang antara lain terdiri dari Windows Desktop Environment (versi 1.x hingga versi 3.x), Windows 9x (Windows 95, 98, dan Windows ME), dan Windows NT (Windows NT 3.x, Windows NT 4.0, Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7 (Seven) yang dirilis pada tahun 2009, dan Windows 8 yang akan dirilis pada tahun 2012 atau lebih lambat)).
  2. Keluarga Unix yang menggunakan antarmuka sistem operasi POSIX, seperti SCO UNIX, keluarga BSD (Berkeley Software Distribution), GNU/Linux, MacOS/X (berbasis kernel BSD yang dimodifikasi, dan dikenal dengan nama Darwin) dan GNU/Hurd.
  3. Mac OS, adalah sistem operasi untuk komputer keluaran Apple yang biasa disebut Mac atau Macintosh. Sistem operasi yang terbaru adalah Mac OS X versi 10.6 (Snow Leopard). Musim panas 2011 direncanakan peluncuran versi 10.7 (Lion).
Sedangkan komputer Mainframe, dan Super komputer menggunakan banyak sekali sistem operasi yang berbeda-beda, umumnya merupakan turunan dari sistem operasi UNIX yang dikembangkan oleh vendor seperti IBM AIX, HP/UX, dll.

Konsep Dasar Sistem Operasi
 
1.Komponen Sistem Operasi
2.Layanan Sistem Operasi
3.System Calls
4.Pemrograman Sistem
5.Struktur Sistem
6.Mesin Virtual
7.System Generation
8.Rancangan Sistem
Komponen Sistem
1.Managemen Proses 
2.Managemen MemoriUtama 
3.Managemen Berkas 
4.Managemen I/O 
5.Managemen Penyimpanan Sekunder 
6.Jaringan 
7.Sistem Proteksi 
8.Command-Interpreter System 
Command-Interpreter System 
- Sistem Operasi menunggu instruksi dari pengguna (command driven). 
- Program yang membaca instruksi dan mengartikancontrol statements (keinginan pengguna) umumnya
   disebut :
     # control-card interpreter
     # command-line interpreter
     # UNIX shell. 
- Command-Interpreter System sangat bervariasi dari satu sistem operasi ke sistem operasi yang lain dan
  disesuaikan dengan tujuan dan teknologi I/O peranti yang ada. Contohnya: CLI, Windows,
  Pen-based(touch), dan lain-lain.
Pelayanan Sistem Operasi
- Eksekusi program: meload program ke memory dan menjalankannya (run).
- Operasi I/O : pengguna tidak bisa mengontrol I/O secara langsung ( untuk efisiensi dan keamanan), sistem
   harus bisa menyediakan mekanisme untuk melakukan operasi I/O.
- Manipulasi sistem berkas : membaca, menulis, membuat, dan menghapus  
- Komunikasi : pertukaran informasi, dapat dilaksanakan melalui shared memory atau message passing. 
- Deteksi error : mempertahankan kestabilan dengan mendeteksi error (pada CPU, perangkat keras memori,
   I/O, program pengguna) dan jika bisa,memperbaikinya. 
PelayananTambahan

- Lebih diarahkan kepada upaya untuk menjaga efisiensi sistem,bukan untuk membantu pengguna
- Alokasi sumberdaya:
   mengalokasikan sumber daya kepada beberapa pengguna atau tugas yang dijalankanpada saat yang
   bersamaan
- Accounting:
   menentukan berapa banyak dan berapa lama users menggunakan sumber daya sistem
- Proteksi:
  menjaga semua akses ke sumber daya sistem terkontrol 

System Calls 
- System calls menyediakan antar muka antara proses (program yang sedang dijalankan) dan sistem operasi.
- Biasanya 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
- Tiga metode umum yang digunakan dalam memberikan parameter kepada sistem operasi
   # Melaluiregister
      - Menyimpan parameter dalam blok atau tabel pada memori dan alamat blok tersebut diberikan sebagai
         parameter dalamr egister 
     - Menyimpan parameter (push)ke dalam stack   (oleh program), dan melakukan pop off pada stack  (oleh sistim operasi)

Memberikan Parameter dalam Tabel
Pada dasarnya System Call dapat dikelompokkan dalam 5 kategori sebagai berikut :
1. Kontrol Proses
    - selesai, abort
    - Load, eksekusi
    - Membuat dan mengakhiri proses
    - Mengambil dan mengeset atribut proses
    - Menunggu waktu
    - Wait event, signal event
    - Alokasi dan pengosongan memori
2. Memanipulasi File
    - Membuat dan menghapus berkas
    - Membuka dan menutup berkas
    - Read, write, reposition
    - Mengambil dan mengeset atribut berkas
3. Memanipulasi Device
    - Meminta device, melepaskan device
    - Read, write, reposition
    - Mengambil dan mengeset atribut
    - System Calls (5)
4. Information Maintenance
    - Mengambil dan mengeset waktu dan tanggal
    - Mengambil dan mengeset sistem data
    - Mengambil proses, berkas atau atribut device
    - Mengeset proses, berkas atau atribut device
5. Komunikasi
    - Menciptakan, menghapus hubungan komunikasi
    - Mengirim dan menerima pesan
    - Mentransfer status informasi
    - Attach atau detach remote device
    - Komunikasi dapat dilakukan melalui message passing atau shared memory

Pemrograman Sistem
- Pemrograman sistem menyediakan lingkungan yang memungkinkan pengembangan program dan eksekusi
   berjalan dengan baik
- Dapat dikategorikan:
   # Manajemen/manipulasi berkas : membuat, menghapus, copy, rename, print, memanipulasi berkas dan
      direktori.
  # Informasi Status : tanggal, jam, jumlah memori dan disk yang tersedia, jumlah pengguna, dan informasi
     tentang status lainnya
  # Modifikasi Berkas : modifikasi isi berkas
  # Mendukung bahasa pemrograman : Kompilator, perakit, interpreter
  # Loading dan eksekusi program : absolute loaders, relocata bleloaders, linkage editors,  overlay loaders
  # Komunikasi : menyediakan mekanisme komunikasi antara proses, pengguna, dan sistem komputer yang
     berbeda
System program yang paling penting adalah command  interpreter (mengambil dan menerjemahkan
user-specified command selanjutnya).

Proses

Prosesor mengeksekusi program-program komputer. Prosesor adalah sebuah cip dalam sistem komputer yang menjalankan instruksi-instruksi program komputer. Dalam setiap detiknya prosesor dapat menjalankan jutaan instruksi.
Program adalah sederetan instruksi yang diberikan kepada suatu komputer. Sedangkan proses adalah suatu bagian dari program yang berada pada status tertentu dalam rangkaian eksekusinya. Di dalam bahasan Sistem Operasi, kita lebih sering membahas proses dibandingkan dengan program. Pada Sistem Operasi modern, pada satu saat tidak seluruh program dimuat dalam memori, tetapi hanya satu bagian saja dari program tersebut. Sedangkan bagian lain dari program tersebut tetap beristirahat di media penyimpan disk. Hanya pada saat dibutuhkan saja, bagian dari program tersebut dimuat di memory dan dieksekusi oleh prosesor. Hal ini sangat menghemat pemakaian memori.
Beberapa sistem hanya menjalankan satu proses tunggal dalam satu waktu, sedangkan yang lainnya menjalankan multi-proses dalam satu waktu. Padahal sebagian besar sistem komputer hanya memiliki satu prosesor, dan sebuah prosesor hanya dapat menjalankan satu instruksi dalam satu waktu. Maka bagaimana sebuah sistem prosesor tunggal dapat menjalankan multi-proses? Sesungguhnya pada granularity yang sangat kecil, prosesor hanya menjalankan satu proses dalam satu waktu, kemudian secara cepat ia berpindah menjalankan proses lainnya, dan seterusnya. Sehingga bagi penglihatan dan perasaan pengguna manusia, seakan-akan prosesor menjalankan beberapa proses secara bersamaan.
Setiap proses dalam sebuah sistem operasi mendapatkan sebuah PCB (Process Control Block) yang memuat informasi tentang proses tersebut, yaitu: sebuah tanda pengenal proses (Process ID) yang unik dan menjadi nomor identitas, status proses, prioritas eksekusi proses dan informasi lokasi proses dalam memori. Prioritas proses merupakan suatu nilai atau besaran yang menunjukkan seberapa sering proses harus dijalankan oleh prosesor. Proses yang memiliki prioritas lebih tinggi, akan dijalankan lebih sering atau dieksekusi lebih dulu dibandingkan dengan proses yang berprioritas lebih rendah. Suatu sistem operasi dapat saja menentukan semua proses dengan prioritas yang sama, sehingga setiap proses memiliki kesempatan yang sama. Suatu sistem operasi dapat juga mengubah nilai prioritas proses tertentu, agar proses tersebut akan dapat memiliki kesempatan lebih besar pada eksekusi berikutnya (misalnya: pada proses yang sudah sangat terlalu lama menunggu eksekusi, sistem operasi menaikkan nilai prioritasnya).

Status Proses

Jenis status yang mungkin dapat disematkan pada suatu proses pada setiap sistem operasi dapat berbeda-beda. Tetapi paling tidak ada 3 macam status yang umum, yaitu:
  1. Ready, yaitu status dimana proses siap untuk dieksekusi pada giliran berikutnya
  2. Running, yaitu status dimana saat ini proses sedang dieksekusi oleh prosesor
  3. Blocked, yaitu status dimana proses tidak dapat dijalankan pada saat prosesor siap/bebas
Pengendalian proses
Dalam pengendalian antar proses, sistem operasi menggunakan metode :
  • Saling melanjutkan (interleave), Sistem  operasi  harus  dapat  kembali  melanjutkan  proses  setelah  melayani proses lain.
  • Kebijaksaan tertentu, Sistem   operasi   harus   mengalokasikan   sumber   daya   ke   proses   berdasar prioritasnya.
  • Komunikasi antar proses dan penciptaan proses, Sistem operasi harus mendukung komunikasi dan penciptaan antar proses (menstrukturkan aplikasi).
Pada sistem dengan banyak proses aktif, proses-proses pada satu saat berada dalam beragam tahap eksekusinya. Proses mengalami beragam state (ready, running, blocked) selama siklus hidupnya sebelum berakhir dan keluar dari sistem. Sistem operasi harus dapat mengetahui state masing-masing proses dan merekam semua perubahan yang terjadi secara dinamis. Informasi tersebut digunakan untuk kegiatan penjadwalan dan memutuskan alokasi sumber daya.
Status (state) proses
Sebuah proses akan mengalami serangkaian state diskrit. Beragam kejadian dapat menyebabkan perubahan state proses. Tiga state tersebut adalah sebagai berikut :
  • Running, Proses sedang mengeksekusi instruksi proses
  • Ready, Proses   siap   dieksekusi,   tetapi   proses   tidak tersedia untuk eksekusi proses ini.
  • Blocked, Proses   menunggu   kejadian   untuk   melengkapi tugasnya
Proses yang baru diciptakan akan mempunyai state ready.
  • Proses berstate running menjadi blocked, karena sumbar daya yang diminta belum tersedia atau meminta layanan perangkat masukan/keluaran, sehingga menunggu kejadian muncul. Proses menunggu kejadian alokasi sumber daya atau selesainya layanan perangkat masukan/keluaran (event wait).
  • Proses berstate running menjadi ready, karena penjadwal memutuskan eksekusi proses lain karena jatah waktu untuk proses tersebut telah habis (time out).
  • Proses berstate blocked menjadi ready saat sumber daya yang diminta/ diperlukan telah tersedia atau layanan perangkat masukan/keluaran selesai (event occurs).
  • Proses berstate ready menjadi running, karena penjadwal memutuskan penggunaan pemroses utnuk proses itu karena proses yang saat itu running berubah statenya (menjadi ready atau blocked) atau telah menyelesaikan sehingga disingkirkan dari sistem. Proses menjadi mendapatkan jatah pemroses.
Diagram state lanjut
Penundaan (suspend) adalah operasi penting dan telah diterapkan dengan beragam cara. Penundaan biasanya berlangsung singkat. Penundaan sering dilakukan sistem untuk memindahkan proses-proses tertentu guna mereduksi beban sistem selama beban puncak.
Proses yang ditunda (suspended blocked) tidak berlanjut sampai proses lain meresume. Untuk jangka panjang, sumber daya-sumber daya proses dibebaskan (dilucuti). Keputusan membebaskan sumber daya-sumber daya bergantung sifat masing-masing sumber daya. Memori utama seharusnya segera dibebaskan begitu proses tertunda agar dapat dimanfaatkan proses lain. Resuming (pengaktifan kembali) proses, yaitu menjalankan proses dari titik (instruksi) dimana proses ditunda.
Operasi suspend dan resume penting, sebab :
  • Jika sistem berfungsi secara buruk dan mungkin gagal maka proses-proses
    dapat disuspend agar diresume setelah masalah diselesaikan. Contoh :P ada proses pencetakan, bila tiba-tiba kerta habis maka proses disuspend. Setelah kertas dimasukkan kembali, proses pun dapat diresume.
  • Pemakai yang ragu/khawatir mengenai hasil prose dapat mensuspend proses (bukan membuang (abort) proses). Saat pemakai yakin proses akan berfungsi secara benar maka dapat me-resume (melanjutkan kembali di instruksi saat disuspend) proses yang disuspend.
  • Sebagai tanggapan terhadap fluktuasi jangka pendek beban sistem, beberapa proses dapat disuspend dan diresume saat beban kembali ke tingkat normal.
Dua state baru dimasukkan sehingga membentuk diagram 5 state, yaitu :
  • Suspended ready
  • Suspended blocked
Penundaan dapat diinisialisasi oleh proses itu sendiri atau proses lain.
  • Pada sistem monoprocessor, proses running dapat mensuspend dirinya sendiri karena tak ada proses lain yang juga running yang dapat memerintahkan suspend.
  • Pada sistem multiprocessor, proses running dapat disuspend proses running lain pada pemroses berbeda. Proses ready hanya dapat di suspend oleh proses lain.
Pada proses blocked terdapat transisi menjadi suspended blocked. Pilihan ini dirasa aneh. Apakah tidak cukup menunggu selesainya operasi masukan/keluaran atau kejadian yang membuat proses ready atau suspended ready?. Bukankah state blocked, ready blocked, suspended blocked sama-sama tidak mendapat jatah waktu pemroses ?. Kenapa dibedakan ?.
Alasannya, karena penyelesaian operasi masukan/keluaran bagi proses blocked mungkin tak pernah terjadi atau dalam waktu tak terdefinisikan sehingga lebih baik disuspend agar sumber daya-sumber daya yang dialokasikan untuk proses tersebut dapat digunakan proses-proses lain. Untuk kondisi ini, lebih baik sumber daya-sumber daya yang dipegang proses yang berkondisi seperti ini dipakai proses-proses lain. Proses blocked disuspend sistem atau secara manual menjadi suspended blocked.
Bila akhirnya operasi masukan/keluaran ­berakhir maka segera proses suspended blocked mengalami transisi. Karena resume dan suspend mempunyai prioritas tinggi maka transisi segera dilakukan. Suspend dan resume dapat digunakan untuk menyeimbangkan beban sistem saat mengalami lonjakan di atas normal.

Program Control Block (PCB)

Struktur data PCB menyimpan informasi lengkap mengenai proses sehingga dapat terjadi siklus hidup proses. Sistem operasi memerlukan banyak informasi mengenai proses guna pengelolaan proses. Informasi ini berada di PCB. Sistem berbeda akan mengorganisasikan secara berbeda.
Informasi dalam PCB :

Informasi identifikasi proses

Informasi ini berkaitan dengan identitas proses yang berkaitan dengan tabel lainnya. Informasi tersebut meliputi :
  • Identifier proses
  • Identifier proses yang menciptakan
  • Identifier pemakai

Informasi status pemroses

Informasi tentang isi register-register pemroses. Saat proses berstatus running, informasi tersebut berada diregister-register. Ketika proses diinterupsi, semua informasi   register   harus   disimpan   agar   dapat   dikembalikan   saat   proses
dieksekusi kembali. Jumlah dan jenis register yang terlibat tergantung arsitektur komputer. Informasi status terdiri dari :
  • Register-register yang terlihat pemakai, adalah register-register yang dapat ditunjuk instruksi bahasa assembly untuk diproses pemroses.
  • Register-register kendali dan status, Adalah register-register yang digunakan untuk mengendalikan operasi pemroses.
  • Pointer stack, tiap proses mempunyai satu atau lebih stack, yang digunakan untuk parameter atau alamat prosedur pemanggil dan system call. Pointer stack menunjukkan posisi paling atas dari stack.

Informasi kendali proses

Informasi kendali proses adalah informasi lain yang diperlukan sistem operasi untuk mengendalikan dan koordinasi beragam proses aktif. Informasi kendali terdiri dari :
  • Informasi penjadwalan dan status, Informasi-informasi yang digunakan untuk menjalankan fungsi penjadwalan, antara lain :
    • Status proses, Mendefinisikan keadaan/status proses (running, ready, blocked)
    • Prioritas, Menjelaskan prioritas proses.
    • Informasi berkaitan dengan penjadwalan, Berkaitan dengan informasi penjadwalan, seperti lama menunggu, lama proses terakhir dieksekusi.
    • Kejadian, Identitas kejadian yang ditunggu proses.
  • Penstrukturan data, satu proses dapat dikaitkan dengan proses lain dalam satu antrian atau ring, atau struktur lainnya. PCB harus memiliki pointer untuk mendukung struktur ini.
  • Komuikasi antar proses, beragam  flag,  sinyal  dan  pesan  dapat  diasosiasikan  dengan  komunikasi antara dua proses yang terpisah.
  • Manajemen memori Bagian yang berisi pointer ke tabel segmen atau page yang menyatakan memori maya (virtual memory) proses.
  • Kepemilikan dan utilisasi sumber daya, sumber daya yang dikendalikan proses harus diberi tanda, misalnya :
Informasi ini diperlukan oleh penjadwal.
Struktur citra proses digambarkan berurutan di satu ruang alamat. Implementasi penempatan citra proses yang sesungguhnya bergantung skema manajemen memori yang digunakan dan organisasi struktur kendali sistem operasi.

Sistem Operasi dalam mengelola proses dapat melakukan operasi-operasi terhadap proses:
1. Penjelasan tentang Penciptaan Proses (creat a process)

    Create process adalah operasi-operasi dasar dari system operasi yang dimana :
Create process (penciptaan proses) mengikutsertakan banyak aktifitas, seperti :       

# Menamai proses / member identitas proses
# Menyisipkan proses pada senarai proses atau table proses 
# Menentukan prioritas awal proses
# Menciptakan PCB
# Mengalokasikan sumber daya awal bagi proses

Create process akan terjadi bila system operasi akan melakukan hal-hal berikut :
# Pada lingkungan batch, sebagai tanggapan atas pemberian satu kerja (job)
# Pada lingkungan interaktif, ketika pemakai baru berusaha logon
# Sebagai tanggapan suatu aplikasi, seperti permintaan pencetakan file, sistem operasi dapat     menciptakan proses yang akan mengelola pencetakan itu
# Proses menciptakan proses lain (proses anak). Proses yang menciptakan proses disebut proses induk  (parent process). Proses anak-pun kembali dapat menciptakan proses-proses anak. Proses-proses dapat membentuk pohon hirarki proses.


Proses :

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. Umpamanya, secara bersamaan mengetik dan
menjalankan pemeriksaan ejaan didalam proses yang sama.

Penjelasan tentang bagaimana penciptaan proses ini terjadi :

a. Dari ready ke running

Ketika proses dalam keadaan siap untuk dieksekusi oleh prosesor lalu ada instruksi untuk menjalankan proses maka status menjadi running dan proses belum selesai.

b. Dari running ke blocke
Sistem Operasi dalam mengelola proses dapat melakukan operasi-operasi terhadap proses:
1. Penjelasan tentang Penciptaan Proses (creat a process)
Create process adalah operasi-operasi dasar dari system operasi yang dimana :

1. Create process (penciptaan proses) mengikutsertakan banyak aktifitas, seperti :
    - Menamai proses / member identitas proses
    - Menyisipkan proses pada senarai proses atau table proses
    - Menentukan prioritas awal proses 
    - Menciptakan PCB
    - Mengalokasikan sumber daya awal bagi proses
    - Create process akan terjadi bila system operasi akan melakukan hal-hal berikut :
    - Pada lingkungan batch, sebagai tanggapan atas pemberian satu kerja (job)
    - Pada lingkungan interaktif, ketika pemakai baru berusaha logon

   - Sebagai tanggapan suatu aplikasi, seperti permintaan pencetakan file, sistem operasi dapat menciptakan     proses yang akan mengelola pencetakan itu
Proses menciptakan proses lain (proses anak). Proses yang menciptakan proses disebut proses induk (parent process). Proses anak-pun kembali dapat menciptakan proses-proses anak. Proses-proses dapat membentuk pohon hirarki proses.

Proses :

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. Umpamanya, secara bersamaan mengetik dan
menjalankan pemeriksaan ejaan didalam proses yang sama.

Penjelasan tentang bagaimana penciptaan proses ini terjadi :

a. Dari ready ke running

Ketika proses dalam keadaan siap untuk dieksekusi oleh prosesor lalu ada instruksi untuk menjalankan proses maka status menjadi running dan proses belum selesai.

b. Dari running ke block
d

Pada saat proses menggunakan CPU pada suatu waktu atau pada saat instruksi-instruksi dari sebuah proses dieksekusi lalu proses tersebut terhambat oleh sesuatu kebutuhan yang diperlukan oleh proses tersebut (misal kekurangan disk storage) maka proses tersebut terhenti sampai ada event dari luar lagi untuk melanjutkan proses tersebut.

c. Dari running ke ready

Pada saat proses menggunakan CPU pada suatu waktu atau pada saat instruksi-instruksi dari sebuah proses dieksekusi hingga proses tersebut siap untuk melaksanakan instruksi yang lain.

d. Dari blocked ke ready

Ketika proses tidak dijalankan sampai ada event dari luar, yang berhubungan dengan proses tersebut terjadi atau dengan kata lain status menunggu event dari luar hingga proses tersebut mendapat event dari luar dan siap untuk melanjutkan proses.

e. Dari running ke finish
Pada saat proses menggunakan CPU pada suatu waktu atau pada saat instruksi-instruksi dari sebuah proses dieksekusi hingga proses tersebut selesai dilaksanakan.

Penciptaan proses melibatkan banyak aktivitas, yaitu :

a. Memberi identitas proses
b. Menyisipkan proses pada senarai atau tabel proses
c. Menentukan prioritas awal proses
d. Menciptakan PCB
e. Mengalokasikan sumber daya awal bagi proses

Ketika proses baru ditambahkan, sistem operasi membangun struktur data untuk mengelola dan mengalokasikan ruang alamat proses.

Kejadian yang dapat menyebabkan penciptaan proses :
a. Pada lingkungan batch, sebagai tanggapan atas pemberian satu kerja (job)
Sistem operasi dengan kendali batch job, setelah menciptakan proses baru, kemudian melanjutkan membaca job berikutnya.
b. Pada lingkungan interaktif, ketika pemakai baru berusaha logon.
c. Sebagai tanggapan suatu aplikasi, seperti permintaan pencetakan file, Sistem operasi dapat menciptakan proses yang akan mengelola pencetakan itu.
Sistem operasi menciptakan proses untuk memenuhi satu fungsi pada program pemakai, tanpa mengharuskan pemakai menunggu.
d. Proses penciptaan proses lain (proses anak).

Untuk mencapai modularitas atau mengeksploitasi kongkurensi, program pemakai memerintahkan pembuatan sejumlah proses. Proses dapat menciptakan proses baru yaitu anak proses (child process), sedangkan proses yang menciptakannya disebut proses induk (parent process). Proses anakpun kembali dapat menciptakan proses-proses anak lainnya. Proses-proses dapat membentuk pohon hirarki proses.

Tahap-tahap penciptaan proses
Penciptaan proses dapat disebabkan beragam sebab. Penciptaan proses meliputi beberapa tahap :
1. Beri satu identifier unik ke proses baru. Isian baru ditambahkan ke table proses utama yang berisi satu isian perproses.
2. Alokasikan ruang untuk proses.
3. PCB harus diinisialisasi.
4. Kaitan-kaitan antar tabel dan senarai yang cocok dibuat.
5. Bila diperlukan struktur data lain maka segera dibuat struktur data itu.

2. Penjelasan tentang penghancuran/terminasi process (destory a process)
Penghancuran proses melibatkan pembebasan proses dari sistem,
yaitu :
– sumber daya – sumber daya yang dipakai dikembalikan
– proses dihancurkan dari senarai atau tabel sistem
– PCB dihapus (ruang memori PCB dikembalikan ke pool memori
bebas)
Penghancuran proses melibatkan pembebasan proses dari sistem, yaitu :
a. Sumber daya-sumber daya yang dipakai dikembalikan.
b. Proses dihancurkan dari senarai atau tabel sistem.
c. PCB dihapus (ruang memori PCB dikembalikan ke pool memori bebas).

Penghancuran lebih rumit bila proses telah menciptakan proses-proses lain.
Terdapat dua pendekatan, yaitu :
a. Pada beberapa sistem, proses-proses turunan dihancurkan saat proses induk dihancurkan secara otomatis.
b. Beberapa sistem lain menganggap proses anak independen terhadap proses induk, sehingga proses anak tidak secara otomatis dihancurkan saat proses induk dihancurkan.
3. Penundaan Proses (suspend a process)
Normal0 falsefalsefalse EN-USX-NONEX-NONE MicrosoftInternetExplorer4
Penundaan (suspension) adalah operasi penting dan telah diterapkan dengan beragam cara.
Penundaan dapat diinisialisasi oleh proses itu sendiri atau proses lain
Penundaan biasanya berlangsung singkat dan sering dilakukan sistem untuk memindahkan proses-proses tertentu guna mereduksi beban sistem selama beban puncak.
Proses yang ditunda (suspended process) tidak berlanjut sampai proses lain me-resume. Untuk jangka panjang, sumber daya-sumber daya proses dibebaskan.
Pada sistem monoprocessor, proses running dapat men-suspend dirinya sendiri karena lak ada proses lain yang juga running yang dapat memerintahkan suspend.
Pada sistem multiprocessor, proses running dapat di-suspend proses running lain pada pemroses berbeda. Proses ready hanya dapat di-suspend oleh proses lain.
4. Proses Pelanjutan Kembali (resume a process )
Jika sistem berfungsi secara buruk dan mungkin gagal maka proses-proses dapat di- suspend agar di-resume setelah masalab diselesaikan.
Pemakai yang ragu/khawatir mengenai basil proses dapat men-suspend proses [bukan membuang (abort) proses]. Saat pemakai yakin proses akan berfungsi secara benar maka dapat me-resume (melanjutkan kembali di instruksi saat di-suspend) proses yang di-suspend.
Sebagai tanggapan terhadap fluktuasi jangka pendek beban sistem, beberapa proses dapal di-suspend dan di- resume saat beban kembali ke tingkat normal.
5. Pengubahan Prioritas Proses

prioritas eksekusi proses dan informasi lokasi proses dalam memori. Prioritas proses merupakan suatu nilai atau besaran yang menunjukkan seberapa sering proses harus dijalankan oleh prosesor. Proses yang memiliki prioritas lebih tinggi, akan dijalankan lebih sering atau dieksekusi lebih dulu dibandingkan dengan proses yang berprioritas lebih rendah. Suatu sistem operasi dapat saja menentukan semua proses dengan prioritas yang sama, sehingga setiap proses memiliki kesempatan yang sama. Suatu sistem operasi dapat juga merubah nilai prioritas proses tertentu, agar proses tersebut akan dapat memiliki kesempatan lebih besar pada eksekusi berikutnya (misalnya: pada proses yang sudah sangat terlalu lama menunggu eksekusi, sistem operasi menaikkan nilai prioritasnya).
6. Proses Blocked
Proses blocked di-suspend sistem atau secara manual menjadi suspendedblocked. Bila akhirnya operasi masukan/keluaran berakhir maka segera proses suspendedblocked mengalami transisi. Karena resume dan suspend mempunyai prioritas tinggi maka transisi segera dilakukan. Suspend dan resume dapat digunakan untuk menyeimbangkan beban sistem saat mengalami lonjakan di atas normal. Proses blocked di-suspend sistem atau secara manual menjadi suspendedblocked. Bila akhirnya operasi masukan/keluaran berakhir maka segera proses suspendedblocked mengalami transisi. Karena resume dan suspend mempunyai prioritas tinggi maka transisi segera dilakukan. Suspend dan resume dapat digunakan untuk menyeimbangkan beban sistem saat mengalami lonjakan di atas normal.
Pada proses blocked terdapat transisi menjadi suspendedblocked. Pilihan ini dirasa aneh. Apakah tidak cukup menunggu selesainya operasi masukan/keluaran atau kejadian yang membual proses ready atau suspendedready? Bukankah state blocked, readyblocked, suspendedblocked sama-sama tidak mendapatjatah waktu pemroses ?Kenapa dibedakan ?
Jawaban
Karena penyelesaian operasi masukan/keluaran bagi proses blocked mungkin tak pernah terjadi atau dalam waktu tak terdefinisikan sehingga lebih baik di-suspend agar sumber daya-sumber daya yang dialokasikan untuk proses tersebut dapat digunakan proses-proses lain.
Proses blocked di-suspend sistem atau secara manual menjadi suspendedblocked. Bila akhirnya operasi masukan/keluaran berakhir maka segera proses suspendedblocked mengalami transisi. Karena resume dan suspend mempunyai prioritas tinggi maka transisi segera dilakukan. Suspend dan resume dapat digunakan untuk menyeimbangkan beban sistem saat mengalami lonjakan di atas normal.
7. Membangunkan Proses
Proses yang baru diciptakan akan segera mempunyai state ready.Proses berstate running menjadi blocked karena sumber daya yang diminta belum tersedia atau meminta layanan perangkat masukan/keluaran sehingga menunggu kejadian muncul. Proses menunggu kejadian alokasi sumber daya atau selesainya layanan perangkat masukan/keluaran (event wait). Proses berstate running menjadi ready karena penjadwal memutuskan eksekusi proses lain karena jatah waktu untuk proses tersebut telah habis.
8. Menjadwalkan proses
Merupakan kumpulan kebjikasanaan di dalam sistem operasi yang berkaitan dengan urutan kerja yang dilakukan sistem komputer. Penjadwalan bertugas untuk memutuskan :
Proses yang harus berjalan
Kapan dan selama berapa lama proses berjalan.proses
Efisiensi :Pemakaian utilitas dihitung dengan perbandingan waktu sibuk pemroses
Waktu tanggap :selang antara perintah terakhir sampai hasil eksekusi pertama 10
Turn arround time waktu yg dihabiskan dari saat program masuk ke sistem sampai proses diselesaikan sistem.
Troughput adalah jumlah kerja yang dapat diselesaikan dalam satu unit waktu.
Proses dapat berubah status dan berpindah dari satu antrian ke antrian yang lain
Proses dengan status “ready” berada di ReadyQueue
Menunggu giliran/dipilih oleh scheduler => menggunakan CPU
Selama eksekusi (status “run”) events yang dapat terjadi:
I/O request => I/O wait berada pada DeviceQueue
Create “child” proses => Jalankan proses “child”, tunggu sampai proses selesai (wait)
Time slice expired => Waktu pemakaian CPU habis, interrupt oleh scheduler, proses akan berpindah ke ReadyQueue.
9. Memungkinkan Proses Berkomunikasi dengan Proses Lain
Komunikasi antar proses 1
Beberapa proses biasanya berkomunikasi dengan proses lainnya. Contohnya pada shell pipe line : output dari proses pertama harus diberikan kepada proses ke dua dan seterusnya.

Komunikasi antar proses 2
Pada beberapa sistem operasi, proses-proses yang bekerja bersama sering sharing (berbagi) media penyimpanan, dimana suatu proses dapat membaca dan menulis pada shared storage (main memory atau files).
komunikasi antar proses 3
Interprocess Communication (IPC)
Mekanisme proses untuk komunikasi dan sinkronisasi aksi Sistem Pesan – komunikasi proses satu dengan yang lain dapat dilakukan tanpa perlu pembagian data. IPC menyediakan dua operasi : send(message) – pesan berukuran pasti atau variabel receive(message) Jika P dan Q melakukan komunikasi, maka keduanya memerlukan :
>> Membangun jalur komunikasi diantara keduanya
>>Melakukan pertukaran pesan melaui send/receive
>> Implementasi jalur komunikasi
>> physical (shared memory, hardware bus)
      >> logical (logical properties)