Sistem Operasi Windows Sejarah/Latar Belakang Tanpa Software, sebuah komputer secara mendasar tidaklah berguna. Dengan software, Komputer kita dapat menyimpan, memproses dan mengambil informasi. Software dalam komputer terbagi 2 yaitu Systems Programs dan Application Programs. Seacara singkat 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. Selain itu dengan adanya sistem operasi membuat sistem komputer nyaman digunakan. Sistem operasi mempunyai tujuan untuk menggunakan perangkat keras komputer secara efisien. Windows adalah keluarga sistem operasi komputer yang dikembangkan oleh microsoft, sejak tahun 1980-an Microsoft coorporation di Bellevue, Washingthon yang dikepalai oleh Wiliam Bill Gates, mengembangkan OS dengan nama MS-DOS (Microsoft Soft-Disk Operating System). Menurut American National Standart Institute (ANSI) Operating Sistem adalah: Software yang mengontrol pelaksanaan program-program komputer, yaitu dengan mengatur waktu proses, pengecekan kesalahan, mengontrol input dan output, melakukan perhitungan, kompilasi, penyimpanan, pengolahan data serta pelbagai bentuk layanan yang terkait. Proses Setiap proses dalam sebuah sistem operasi berada pada sebuah PCB (Process Control Block) yang Versi-versi Windows memuat informasi tentang proses tersebut, yaitu: sebuah tanda pengenal proses (Process ID) yang unik dan Versi Rilis 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 16-bit, berjalan di atas MS-DOS Windows 1.0 Windows 2.0 Windows 3.0 Windows 3.1 Windows for Workgroups 3.1 Windows for Workgroups 3.11 November Desember Mei Agustus Oktober November 1985 1987 1990 1992 1992 1993 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 dapat memiliki kesempatan lebih besar pada eksekusi berikutnya (misalnya: pada proses yang sudah sangat terlalu lama Hibrida (16-bit/32-bit), berjalan tanpa MS-DOS (meski tidak sepenuhnya) Windows 95 (Versi: 4.00.950) Windows 98 (Versi: 4.1.1998) Windows 98 Second Edition (Versi: 4.1.2222) Windows Millennium Edition (Me) (Versi: 4.9.3000) Berbasis kernel Windows NT Windows NT 3.1 Windows NT 3.5 Windows NT 3.51 Windows NT 4.0 (Versi 4.0.1381) Windows 2000 (Versi: NT 5.0.2195) Windows XP (Versi: NT 5.1.2600) Windows Server 2003 (Versi: NT 5.2.3790) Windows Vista (Versi 6.0 Build 6000) Windows Home Server (Versi 6.0.1800.24) Windows Server 2008 (Versi 6.0.6001) Windows 7 (Versi 6.1 Build 7600) Windows Server 2008 R2 (Versi 6.1.7600) Windows Server 2012 (Versi 6.2 Build 9200) Windows 8 (Versi 6.2 Build 9200) Windows 8.1 (Versi 6.3 Build 9600) Windows Server 2012 R2 (Versi 6.3 Build 9600) Agustus Juni Mei 1995 1998 1999 2000 menunggu eksekusi, sistem operasi menaikkan nilai prioritasnya). Jenis Status Proses 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 Agustus September Juni Juli Februari Oktober Oktober September Oktober Oktober Oktober 1993 1994 1995 1996 2000 2001 2003 2006 2007 2009 2009 2009 2012 2012 2013 2013 2. Running, yaitu status dimana saat ini proses sedang di eksekusi ol eh prosesor 3. Blocked, yaitu status dimana proses tidak dapat dijalankan pada saat prosesor siap/bebas Penjadwalan Proses Penjadwalan merupakan kumpulan kebijaksanaan dan mekanisme di sistem operasi yang berkaitan dengan urutan kerja yang dilakukan sistem komputer. Proses penjadwalan yang akan dibahas disini adalah proses penjadwalan sistem operasi SOLARIS, LINUX, dan WINDOWS XP. Sasaran atau tujuan utama penjadwalan proses optimasi kinerja menurut kriteria tertentu. dimana kriteria untuk mengukur dan optimasi kerja penjadwalan antara lain : :: Untuk versi lengkapnya/ penjelasannya, anda buka file (Perjalanan Windows Version.docx) System Operasi yang bertugas mengontrol semua sumber daya komputer dan memberikan fasilitas yang lebih banyak agar application programs dapat bekerja. System operasi dapat didefinisikan sebagai program dasar atau pendahuluan yang mengandung program-program untuk mengatur kerja komputer secara mendasar seperti unit masukan, unit keluaran, mengatur table pengkodean, mengatur memory, mengatur processor, membaca data yang diketik dan menyimpan file. Bagian – bagian dari system operasi secara garis besar dikelompokkan menjadi dua bagian yaitu : Control Agar semua pekerjaan memperoleh pelayanan yang adil (firness). Agar pemakaian prosesor dapat dimaksimumkan. Agar waktu tanggap dapat diminimumkan. Agar pemakaian sumber daya seimbang. Turn arround time, waktu sejak program masuk ke system sampai proses selesai. Efesien, proses tetap dalam keadaan sibuk tidak menganggur. Agar terobosan (thoughput) dapat dimaksimumkan. Terdapat 3 tipe penjadwal berada secara bersama-sama pada sistem operasi yang kompleks, yaitu: Program dan Service Program. Kedua bagian ini mempunyai fungsi sendiri – sendiri namun masih tetap terkait hubungan satu dengan lainnya, dengan hardware, pemakai dan dengan program aplikasi. Penjadwal jangka pendek (short term scheduller) Bertugas menjadwalkan alokasi pemroses di antara proses-proses ready di memori utama Control Program berfungsi untuk mengatur kerja input dan output, berkomunikasi dengan operator atau Penjadwalan dijalankan setiap terjadi pengalihan proses untuk memilih proses berikutnya yang programmer, menghandle masalah, dan mencatat kegiatan yang ada. Sedangkan Service Program berfungsi harus dijalankan. untuk mengambil program yang ada serta menterjemahkannya dan merawat system library. Penjadwal jangka menengah (medium term scheduller) Setelah eksekusi selama suatu waktu, proses mungkin menunda sebuah eksekusi karena membuat permintaan layanan masukan/keluaran atau memanggil suatu system call. Proses-proses tertunda Ada empat kondisi yang dapat menyebabkan terjadinya deadlock, keempat kondisi tersebut tidak dapat berdiri sendiri, namun saling mendukung. 1. Mutual exclusion tidak dapat membuat suatu kemajuan menuju selesai sampai kondisi-kondisi yang menyebabkan Hanya ada satu proses yang boleh memakai sumber daya, dan proses lain yang ingin memakai sumber tertunda dihilangkan. Agar ruang memori dapat bermanfaat, maka proses dipindah dari memori daya tersebut harus menunggu hingga sumber daya tadi dilepaskan atau tidak ada proses yang utama ke memori sekunder agar tersedia ruang untuk proses-proses lain. Kapasitas memori utama memakai sumber daya tersebut. terbatas untuk sejumlah proses aktif. Aktivitas pemindahan proses yang tertunda dari memori utama kememori sekunder disebut swapping. Proses-proses mempunyai kepentingan kecil saat itu sebagai 2. Hold and wait proses yang tertunda. Tetapi, begitu kondisi yang membuatnya tertunda hilang dan dimasukkan Proses yang sedang memakai sumber daya boleh meminta sumber daya lagi maksudnya menunggu kembali ke memori utama dan ready. hingga benar-benar sumber daya yang diminta tidak dipakai oleh proses lain, hal ini dapat menyebabkan kelaparan sumber daya sebab dapat saja sebuah proses tidak mendapat sumber daya dalam waktu yang lama. Penjadwal jangka panjang (long term scheduller) Penjadwal ini bekerja terhadap antrian batch dan memilih batch berikutnya yang harus dieksekusi. Batch biasanya adalah proses-proses dengan penggunaan sumber daya yang intensif (yaitu waktu pemroses, 3. No preemption memori, masukan/keluaran), program-program ini berprioritas rendah, digunakan sebagai pengisi (agar Sumber daya yang ada pada sebuah proses tidak boleh diambil begitu saja oleh proses lainnya. Untuk pemroses sibuk) selama periode aktivitas job-job interaktif rendah. mendapatkan sumber daya tersebut, maka harus dilepaskan terlebih dahulu oleh proses yang memegangnya, selain itu seluruh proses menunggu dan mempersilahkan hanya proses yang memiliki sumber daya yang boleh berjalan. Pada Windows XP menggunakan algoritma, prioritas penjadwalan quantum-based berbasis reemptive priority scheduling. Threads dijadwalkan dalam proses, Karena prioritas preemptive algoritma 4. Circular wait Kondisi seperti rantai, yaitu sebuah proses membutuhkan sumber daya yang dipegang proses diimplementasikan dengan beberapa queue, dapat dianggap sebagai algoritma multiple feedback-queue . berikutnya. Namun, masing-masing Threads biasanya terbatas pada kelompok kecil dari 5 level prioritas, :: Queue “Merupakan salah satu bentuk antrian yg bersifat FIFO (First in First Out)” Keunggulan MS Windows Preemption dapat terjadi karena salah satu dari 4 alasan: Graphical User Interface yang memudahkan pengguna dalam mengoperasikan system operasi ini. Thread menjadi prioritas lebih tinggi/ siap Thread berakhir Kuantum habis waktu Thread melakukan panggilan sistem pemblokiran, seperti untuk I / O, dalam hal ini meninggalkan Banyak orang yang menggunakan Windows sehingga banyak juga perusahan membuat aplikasinya keadaan ready menjadi keadaan menunggu. menggunakan dasar Windows. Ada beberapa aplikasi yang hanya terdapat di Windows dan tidak di OS yang Desktop environment. MS Windows memiliki dukungan driver hardware yang lebih banyak dibandingkan yang lainnya. lainnya. Bahkan beberapa aplikasi vital dunia kerja. Karena systemnya sudah dishare untuk bisa dikembangkan (bukan di open/ Opensource), maka semakin 32 tingkat prioritas digunakan, dimana prioritas 31 merupakan prioritas tertinggi dan prioritas 0 adalah mudah siapa saja membuat software untuk dijalankan di Mircosoft Windows. Terutama dunia usaha yang prioritas terendah. membutuhkan aplikasi yang sesuai dengan kebutuhannya. Perkembangannya paling cepat dibanding software lainnya karena banyak perusahaan software yang Memori manajemen thread: prioritas 0 Variabel kelas prioritas (1-15) Real-time kelas prioritas (16-31) 1. Threads dikelas real-time telah tetap prioritasnya. konsisten menciptakan kemajuan pada sistem operasi Windows. Kekurangan MS Windows 2. Threads yang berjalan selalu dengan tingkat prioritas tertinggi. Harganya mahal dibanding OS yang lainnya. 3. Jika tidak ada thread yang ready, Threads idle dijalankan. Banyak orang tahu bahasa pemrogamannya dan banyak orang pakai karena itu banyak juga yang buat virus untuk Windows dibanding yang lainnya (lebih cepat beken dan tersebar tentunya). Ketika waktu quantum thread habis, prioritasnya diturunkan, tetapi prioritasnya tidak pernah diturunkan terlalu jauh. Ketika Threads menjadi ready setelah keadaan menunggu, maka diberikan prioritas tertinggi setiap threads dari proses yang terkait dengan program yang saat ini pengguna gunakan diberikan prioritas lebih . Deadlock Deadlock adalah keadaan dimana 2 atau lebih proses saling menunggu meminta resources untuk waktu yang tidak terbatas lamanya. Deadlock adalah efek samping dari sinkronisasi, dimana satu variabel digunakan oleh banyak proses dengan prioritas yang sama. Kejadian Deadlock selalu tidak lepas dari sumber daya, bahwa hampir seluruhnya merupakan masalah sumber daya yang digunakan bersama-sama. Sumber daya ini tidak habis dipakai oleh proses mana pun.Tetapi setelah proses berakhir, sumber daya ini dikembalikan untuk dipakai oleh proses lain yang sebelumnya tidak kebagian sumber daya ini. Contoh : - Prosesor, dll - Channel I/O - Disk - Dll