STRUKTUR DASAR SISTEM OPERASI

Struktur Sistem Operasi


1. Sistem Monolitik
Sistem operasi sebagai kumpulan prosedur dimana prosedur dapat saling dipanggil oleh prosedur lain di sistem bila diperlukan. Banyak sistem operasi komersial yang tidak terstruktur dengan baik. Kemudian sistem operasi dimulai dari yang terkecil, sederhana dan terbatas lalu berkembang dengan ruang lingkup originalnya. Contoh dari sistem operasi ini adalah MS-DOS dan UNIX. MS-DOS merupakan sistem operasi yang menyediakan fungsional dalam ruang yang sedikit sehingga tidak dibagi menjadi beberapa modul, sedangkan UNIX menggunakan struktur monolitik dimana prosedur dapat saling dipanggil oleh prosedur lain di sistem bila diperlukan dan kernel berisi semua layanan yang disediakan sistem operasi untuk pengguna.

Terdapat dua mode operasi yang disediakan :
a. Mode kernel : seluruh instruksi boleh dipanggil.
b. Mode pengguna : beberapa instruksi I/O dan instruksi tertentu tidak boleh dipanggil.

Struktur dasar sistem monolitik :
a. Program utama yang menghubungi prosedur pelayanan yang diminta.
b. Kumpulan prosedur pelayanan yang menyediakan system calls.
c. Kumpulan prosedur utilitas yang membantu prosedur pelayanan.

- Kelemahan struktur monolitik adalah:
a. Pengujian dan penghilangan kesalahan sulit karena tidak dapat dipisahkan dan dialokasikan.
b. Sulit dalam menyediakan fasilitas pengamanan.
c. Kesalahahan sebagian fungsi menyebabkan sistem tidak berfungsi.
d. Merupakan pemborosan memori bila setiap komputer harus menjalan kernel monolitik, karena semua layanan tersimpan dalam bentuk tunggal sedangkan tidak semua layanan diperlukan.

- Keuntungan struktur monolitik adalah layanan dapat dilakukan dengan cepat karena terdapat dalam satu ruang.



2. Sistem Berlapis (Layered System)
Sistem operasi dibagi menjadi beberapa lapisan. Lapisan terbawah (layer 0) adalah hardware dan yang tertinggi (layer N) adalah user interface. Lapisan N memberi layanan untuk lapisan N+1 sedangkan proses-proses di lapisan N dapat meminta layanan lapisan N-1 untuk membangun layanan lapisan N+1. Lapisan N dapat meminta layanan lapisan N-1 namun lapisan N tidak dapat meminta layanan lapisan N+1. Masing-masing berjalan pada lapisannya sendiri.

Menurut Tanenbaum dan Woodhull, sistem terlapis terdiri dari enam lapisan, yaitu:

a. Lapisan 0. Mengatur alokasi prosesor, pertukaran antar proses ketika interupsi terjadi atau waktu habis dan lapisan ini mendukung dasar multi-programming pada CPU.

b. Lapisan 1. Mengalokasikan ruang untuk proses di memori utama dan pada 512 kilo word drum yang digunakan untuk menahan bagian proses ketika tidak ada ruang di memori utama.

c. Lapisan 2. Menangani komunikasi antara masing-masing proses dan operator console. Lapisan ini masing-masing proses secara efektif memiliki operator console sendiri.

d. Lapisan 3. Mengatur peranti I/O dan menampung informasi yang mengalir dari/ke proses tersebut.

e. Lapisan 4. Tempat program pengguna. Pengguna tidak perlu memikirkan tentang proses, memori, console, atau manajemen I/O.

f. Lapisan 5. Merupakan operator sistem.

- Kelebihan Sistem Berlapis (layered system):
a. Memiliki rancangan modular, yaitu sistem dibagi menjadi beberapa modul & tiap modul dirancang secara independen.
b. Pendekatan berlapis menyederhanakan rancangan, spesifikasi dan implementasi sistem operasi.

- Kekurangan Sistem Berlapis (layered system):
Fungsi-fungsi sistem operasi diberikan ke tiap lapisan secara hati-hati.

- Contoh: Sistem operasi yang menggunakan pendekatan berlapis adalah THE yang dibuat oleh Djikstra dan mahasiswa-mahasiswanya, serta sistem operasi MULTICS.



3. Virtual Machine
Virtual Machine mempunyai sistem timesharing yang berfungsi untuk ,menyediakan kemampuan untuk multiprogramming dan perluasan mesin dengan antarmuka yang lebih mudah.

Struktur Mesin maya ( CP/CMS, VM/370 ) terdiri atas komponen dasar utama :
- Control Program, yaitu virtual machine monitor yang mengatur fungsi ari prosessor, memori dan piranti I/O. Komponen ini berhubungan langsung dengan perangkat keras.
- Conventional Monitor System, yaitu sistem operasi sederhanayang mengatur fungsi dari proses, pengelolaan informasi dan pengelolaan piranti.

- Kelebihan Mesin Maya ( Virtual Machine ):
a. Konsep mesin virtual menyediakan proteksi yang lengkap untuk sumber daya system sehingga masing-masing mesin virtual dipisahkan mesin virtual yang lain. Isolasi ini tidak memperbolehkan pembagian sumber daya secara langsung.
b. Sistem mesin virtual adalah mesin yang sempurna untuk riset dan pengembangan system operasi. Pengembangan system dikerjakan pada mesin virtual, termasuk di dalamnya mesin fisik dan tidak mengganggu operasi system yang normal.

- Kekurangan Mesin Maya ( Virtual Machine ):
Konsep mesin virtual sangat sulit untuk mengimplementasikan kebutuhan dan duplikasi yang tepat pada mesin yang sebenarnya.

- Contoh:
a. Sistem operasi MS-Windows NT dapat menjalankan aplikasi untuk MS-DOS, OS/2 mode teks dan aplikasi WIN16.
b. IBM mengembangkan WABI untuk meng-emulasikan Win32 API sehingga sistem operasi yang menjalankan WABI dapat menjalankan aplikasi-aplikasi untuk MS-Windows.
c. Para pengembang Linux membuat DOSEMU untuk menjalankan aplikas-aplikasi DOS pada sistem operasi Linux, WINE untuk menjalankan aplikasi-aplikasi MS-Windows.
d. VMWare merupakan aplikasi komersial yang meng-abstraksikan perangkat keras intel 80×86 menjadi virtual mesin dan dapat menjalan beberapa sistem operasi lain (guest operating system) di dalam sistem operasi MS-Windos atau Linux (host operating system). VirtualBox merupakan salah satu aplikasi sejenis yang opensource.



4.Model Client-Server
Mengimplementasikan sebagian besar fungsi sistem operasi pada mode pengguna (user mode). Sistem operasi merupakan kumpulan proses dengan proses-proses dikategorikan sebagai server dan client, yaitu :
- Server, adalah proses yang menyediakan layanan.
- Client, adalah proses yang memerlukan/meminta layanan.

Proses client yang memerlukan layanan mengirim pesan ke server dan menanti pesan jawaban. Proses server setelah melakukan tugas yang diminta, mengirim hasil dalam bentuk pesan jawaban ke proses client. Server hanya menanggapi permintaan client dan tidak memulai dengan percakapan client. Kode dapat diangkat ke level tinggi, sehingga kernel dibuat sekecil mungkin dan semua tugas diangkat ke bagian proses pemaka. Kernel hanya mengatur komunikasi antara client dan server. Kernel yang ini popular dengan sebutan mikrokernel.

- Kelebihan Client-Server Model:
a. Pengembangan dapat dilakukan secara modular.
b. Kesalahan (bugs) di satu subsistem (diimplementasikan sebagai satu proses) tidak merusak subsistem-subsistem lain, sehingga tidak mengakibatkan satu sistem mati secara keseluruhan.
c. Mudah diadaptasi untuk sistem tersebar.

- Kekurangan Client-Server Model:
a. Layanan dilakukan lambat karena harus melalui pertukaran pesan.
b. Pertukaran pesan dapat menjadi bottleneck.
c. Tidak semua tugas dapat dijalankan di tingkat pemakai (sebagai proses pemakai).



5. Sistem berorientasi objek
Sisten operasi merealisasikan layanan sebagai kumpulan proses disebut sistem operasi bermodel proses. Pendekatan lain implementasi layanan adalah sebagai objek-objek. Sistem operasu yang distrukturkan menggunakan objek disebut sistem operasi berorientasi objek. Pendekatan ini dimaksudkan untuk mengadopsi keunggulan teknologi berorientasi objek. Pada sistem yang berorientasi objek, layanan diimplementasikan sebagai kumpulan objek. Objek mengkapsulkan struktur data dan sekumpulan operasi pada struktur data itu. Tiap objek diberi tipe yang menandadi properti objek seperti proses, direktori, berkas, dan sebagainya. Dengan memanggil operasi yang didefinisikan di objek, data yang dikapsulkan dapat diakses dan dimodifikasi. Model ini sungguh terstruktur dan memisahkan antara layanan yang disediakan dan implementasinya. Sistem operasi MS Windows NT telah mengadopsi beberapa teknologi berorientasi objek tetapi belum keseluruhan.

- Kelebihan Sistem Berorientasi Objek:
Terstruktur dan memisahkan antara layanan yang disediakan dan implementasinya.

- Kekurangan Sistem Berorientasi Objek:
Sistem operasi MS Windows NT telah mengadopsi beberapa teknologi berorientasi objek tetapi belum keseluruhan.

- Contoh sistem operasi yang berorientasi objek, antara lain : eden, choices, x-kernel, medusa, clouds, amoeba, muse, dan sebagainya.

KESIMPULAN:
Dari ke 5 Sistem diatas, yang terbaik adalah Sistem Monolitik. Sistem operasi ini merupakan kumpulan prosedur dimana prosedur dapat saling dipanggil oleh prosedur lain di sistem bila diperlukan. Dan terdapat Kernel yang berisi semua layanan yang disediakan sistem operasi untuk pemakai.



OSI LAYER




Model Open Systems Interconnection (OSI) diciptakan oleh International Organization for Standardization (ISO) yang menyediakan kerangka logika terstruktur bagaimana proses komunikasi data berinteraksi melalui jaringan. Standard ini dikembangkan untuk industri komputer agar komputer dapat berkomunikasi pada jaringan yang berbeda secara efisien.

Tujuan utama penggunaan model OSI adalah untuk membantu desainer jaringan memahami fungsi dari tiap-tiap layer yang berhubungan dengan aliran komunikasi data. Termasuk jenis-jenis protoklol jaringan dan metode transmisi.

Model dibagi menjadi 7 layer, dengan karakteristik dan fungsinya masing-masing. Tiap layer harus dapat berkomunikasi dengan layer di atasnya maupun dibawahnya secara langsung melalui serentetan protokol dan standard.

Model OSI terdiri dari 7 layer :

- Application Layer: Menyediakan jasa untuk aplikasi pengguna. Layer ini bertanggungjawab atas pertukaran informasi antara program komputer, seperti program e-mail, dan service lain yang jalan di jaringan, seperti server printer atau aplikasi komputer lainnya.

- Presentation Layer: Bertanggung jawab bagaimana data dikonversi dan diformat untuk transfer data. Contoh konversi format text ASCII untuk dokumen, .gif dan JPG untuk gambar. Layer ini membentuk kode konversi, translasi data, enkripsi dan konversi.

- Session Layer: Menentukan bagaimana dua terminal menjaga, memelihara dan mengatur koneksi,- bagaimana mereka saling berhubungan satu sama lain. Koneksi di layer ini disebut “session”.

- Transport Layer: Bertanggung jawab membagi data menjadi segmen, menjaga koneksi logika “end-to-end” antar terminal, dan menyediakan penanganan error (error handling).

- Network Layer: Bertanggung jawab menentukan alamat jaringan, menentukan rute yang harus diambil selama perjalanan, dan menjaga antrian trafik di jaringan. Data pada layer ini berbentuk paket.

- Data Link Layer: Menyediakan link untuk data, memaketkannya menjadi frame yang berhubungan dengan “hardware” kemudian diangkut melalui media. komunikasinya dengan kartu jaringan, mengatur komunikasi layer physical antara sistem koneksi dan penanganan error.

- Physical Layer: Bertanggung jawab atas proses data menjadi bit dan mentransfernya melalui media, seperti kabel, dan menjaga koneksi fisik antar sistem.

Sumber :
1. http://depemaginting.wordpress.com/2011/03/24/struktur-sistem-operasi/
2. http://dedenthea.wordpress.com/2007/11/13/apa-itu-7-layer-osi-dalam-jaringan/

SEJARAH SISTEM OPERASI

Untuk memahami sistem operasi (operating system), terlebih dahulu akan diulas mengenai sistem komputer. Pada dasarnya agar komputer dapat digunakan haruslah terdiri dari suatu kesatuan sistem yang terdiri dari 3 komponen utama, yaitu hardware (perangkat keras), software (perangkat lunak) dan brainware (user/pengguna).
Hardware adalah perangkat fisik komputer yang menjadi inti dari sumber daya sebuah komputer.Perangkat fisik dari sebuah komputer adalah bagian yang dapat dilihat dan disentuh. Contoh dari hardware adalah monitor, keyboard, processor dan lain sebagainya.Hardware dapat digolongkan sesuai dengan fungsinya menjadi 4 macam golongan:
  1. Input Device (perangkat keras masukan), berfungsi sebagai masukandata pengguna untuk diolah oleh komputer misalnya: keyboard (masukan data berupa angka/text/karakter), mouse (masukan data berupa arah/pointer), microphone (masukan data berupa suara), camera (masukan data berupa gambar), scanner dsb.
  2. Processing Device (Perangkat keras pemrosesan), berfungsi untuk mengolah atau memproses data yang diinputkan agar dapat disajikan/dioutputkan ke pengguna. Contoh: processor, RAM/main memory, VGA card, sound card, network interface card/LAN card dsb.
  3. Output Device (Perangkat keras keluaran), berfungsi untuk menampilkan hasil pengolahan komputer bagi pengguna, misalnya: monitor & proyektor (keluaran berupa gambar), speaker & earphone (keluaran berupa suara), printer & plotter (keluaran berupa hasil cetakan pada kertas) dsb.
  4. Storage Device (Perangkat keras penyimpanan), berfungsi untuk menyimpan hasil pengolahan komputer. Contoh: harddisk, flashdisk, disket, CD/DVD/Blueray disk dsb.
Software merupakan program berupa kode-kode dan perhitungan matematis yang dapat dimengerti oleh perangkat keras komputer (hardware) yang disesuaikan dengan tujuan dan fungsinya agar komputer tersebut dapat dioperasikan oleh brainware. Apabila dimisalkan seorang manusia, hardware merupakan raga atau fisiknya dan software merupakan jiwa atau ruhnya sedangkan brainware merupakan akal pikiran yang mengendalikannya. Software secara umum dibagi menjadi “program aplikasi” dan “sistem operasi”. Program aplikasi adalah program yang digunakan oleh pengguna untuk menyelesaikan suatu tugas tertentu misalnya untuk hiburan, menyetel video, pengolah grafis, pengolah kata, pengolah angka dll. Contoh perangkat lunak aplikasi yang sering digunakan adalah MS Word, MS Word digunakan sebagai perangkat pengolah kata yaitu membuat surat, makalah dan lain sebagainya.
Brainware biasa juga disebut dengan user atau pengguna, merupakan manusia atau program yang menggunakan dan mengoperasikan komputer. Pada umumnya brainware adalah seorang manusia yang mengoperasikan komputer. Namun sebenarnya brainware bukan hanya manusia, software semisal program aplikasi juga dapat bertindak sebagai brainware.
Ketiga komponen sistem komputer tersebut dibutuhkan dalam sebuah kesatuan yang utuh untuk menjalankan komputer agar dapat berfungsi. Tanpa adanya salah satu komponen, mustahil komputer  dapat digunakan. Hardware tanpa software hanya seonggok rangkaian semikonduktor tak berarti, software tidak akan dapat digunakan tanpa adanya hardware. Dan tanpa adanya brainware, hardware dan software tidak akan dapat menjalankan fungsi sesuai tujuannya untuk menyelesaikan pekerjaan manusia sebagaimana mestinya.
Sistem operasi bisa dikatakan merupakanprogram yang menghubungkan semua komponen sistem komputer tersebut. Sistem operasi dapat diibaratkan sebuah jembatan yang menghubungkan antara brainware, software aplikasi dan hardware agar dapat saling berkomunikasi.Sebuah sistem operasilah yang mengatur hardware komputer, dengan menyediakan landasan untuk aplikasi yang berada di atasnya, serta bertindak sebagai penghubung antara brainware dengan hardware. Sistem operasi bertugas untuk mengendalikan (kontrol) serta mengkoordinasikan pengunaan hardware untuk berbagai program aplikasi yang digunakan brainware.
Sistem operasi merupakan software pada lapisan pertama yang diletakan didalam memori utama pada saat komputer pertama kali dinyalakan. Sedangkan software lainnya baru diaktifkan setelah sistem operasi berjalan, sistem operasi akan menyediakan layanan inti umum bagi software-software itu. Layanan inti tersebut seperti akses ke disk, manajemen memori, scheduling task, dan memberikan antar muka bagi user. Software-software lainnya tidak perlu lagi melakukan tugas-tugas inti umum tersebut, karena dapat dilakukan dan dilayani oleh sistem operasi. Bagian kode (source code) yang melakukan tugas-tugas inti umum dan berjalan setiap saat disebut dengan “kernel” dalam sistem operasi.

TUJUAN DAN FUNGSI SISTEM OPERASI
Dari sudut pandang pengguna, Sistem operasi merupakan alat yang bertujuan untuk mempermudah penggunaan komputer. Dari sudut pandang sistem komputer, sistem operasi dapat dianggap sebagai alat yang bertujuan menempatkan sumber daya secara efisien (Resource Allocator). Sistem operasi ialah manager bagi sumber daya, yang menangani konflik permintaan sumber daya secara efisien. Sistem operasi juga mengatur eksekusi aplikasi dan operasi dari hardware I/O (Input/Output). Fungsi ini dikenal juga sebagai program pengendali (Control Program).
Jadi dari sudut pandang tujuan sistem operasi itu sendiri, sistem operasi dapat dipandang sebagai alat yang membuat komputer lebih nyaman digunakan (convenient) untuk menjalankan program aplikasi dan menyelesaikan masalah pengguna. Tujuan lain sistem operasiialah membuat penggunaan sumber daya komputer menjadi efisien.
Sistem operasi yang baik adalah yang mampu memberikan keadaan aman dan tetap konsisten pada saat hardware dan software aplikasi berkomunikasi, juga tetap memberikan antar muka yang mudah, nyaman dan menarik bagi pengguna. Berikut ini adalah 8 fungsi  sistem operasi :
  1. Resource Manager : Mengalokasikan sumber daya, maksud sumber daya disini adalah hardware seperti memori, CPU, Printer, disk drive dan perangkat lainnya.
  2. Coordinator : menyediakan fasilitas sehingga aktivitas yang kompleks dapat diatur untuk dikerjakan dalam urutan yang telah disusun sebelumnya.
  3. Interface: sebagai perantara antara pengguna (user) dengan hardware untuk menyediakan lingkungan yang bersahabat atau mudah digunakan (User Friendly). Pengguna tidak akan dikhawatirkan dan dirumitkan oleh bahasa mesin atau perangkat level bawah.
  4. Guardian: menyediakan kontrol akses yang melindungi file dan memberi pengawasan pada pembacaan/penulisan/eksekusi data dan program.
  5. Gatekeeper: mengendalikan siapa saja yang berhak masuk (log) kedalam sistem dan mengawasi tindakan apa saja yang dapat mereka kerjakan ketika telah log dalam sistem.
  6. Optimizer: menjadwal pemasukan (input) oleh pengguna, pengaksesan basis data, proses komunikasi, dan pengeluaran (output) untuk meningkatkan kegunaan.
  7. Accountant: mengatur waktu CPU (CPU time), penggunaan memori, pemanggilan perangkat I/O (masukan/keluaran), disk storage dan waktu koneksi terminal.
  8. Server: untuk menyediakan layanan yang sering dibutuhkan pengguna, baik secara eksplisit maupun implisit, seperti mekanisme akses file.
Dapat disimpulkan, bahwa Sistem operasi merupakan komponen penting dari setiap sistem komputer. Konsep sistem operasi dapat lebih mudah dipahami, jika juga memahami jenis hardware yang digunakan. Demikian pula sebaliknya. Dari sejarah diketahui bahwa sistem operasi dan hardware saling mempengaruhi dan saling melengkapi. Struktur dari sebuah sistem operasi sangat tergantung pada hardware yang pertama kali digunakan untuk mengembangkannya. Sedangkan perkembangan hardware sangat dipengaruhi dari hal-hal yang diperlukan oleh sebuah sistem operasi.

SEJARAH PERKEMBANGAN SISTEM OPERASI
Arsitektur hardware komputer tradisional terdiri dari empat komponen utama yaitu “Prosesor”, “Memori Penyimpanan”, “Masukan” (Input), dan “Keluaran” (Output). Model tradisional tersebut sering dikenal dengan nama arsitektur von-Neumann. Pada saat awal, komputer berukuran sangat besar sehingga komponen-komponennya dapat memenuhi sebuah ruangan yang sangat besar. Sang pengguna menjadi programer yang sekaligus merangkap menjadi menjadi operator komputer dan bekerja masih di dalam ruang komputer tersebut.
Walaupun berukuran besar, sistem tersebut dikategorikan sebagai “komputer pribadi” (PC). Siapa saja yang ingin melakukan komputasi harus memesan untuk antri mendapatkan alokasi waktu (rata-rata 30-120 menit). Jika ingin melakukan kompilasi program Fortran, maka pengguna pertama kali akan me-load kompilator Fortran, yang diikuti dengan “load” program dan data. Hasil yang diperoleh, biasanya berbentuk cetakan (print-out).
Dari cara penggunaan seperti itu, timbul beberapa masalah pada sistem PC tersebut.Alokasi pesanan apa saja yang akan dilakukan harus dilakukan diawal. Jika pekerjaan selesai sebelum rencana awal, maka sistem komputer menjadi “idle” (tidak tergunakan). Sebaliknya, jika perkerjaan selesai lebih lama dari rencana semula, para calon pengguna berikutnya harus menunggu hingga pekerjaan selesai. Selain itu, seorang pengguna kompilator Fortran akan beruntung jika pengguna sebelumnya juga menggunakan Fortran. Namun, jika pengguna sebelumnya menggunakan Cobol, maka pengguna Fortran harus me-”load” kembali dari awal (Set-Up). Masalah ini ditanggulangi dengan menggabungkan para pengguna kompilator sejenis ke dalam satu kelompok (batch) yang sama. Untuk mengurangi waktu set-up tersebut, digunakan jasa operator komputer dan menggabungkan tugas-tugas yang sama (sistem batch).
Selanjutnya terjadi pemisahan tugas antara programer dan operator. Para operator biasanya secara eksklusif menjadi penghuni “ruang kaca” seberang ruang komputer. Para programer yang merupakan pengguna (users), mengakses komputer secara tidak langsung melalui bantuan para operator. Para pengguna mempersiapkan sebuah job yang terdiri dari program aplikasi, data masukan, serta beberapa perintah pengendali program. Medium yang lazim digunakan ialah kartu berlubang (punch card). Setiap kartu dapat menampung informasi satu baris hingga 80 karakter. Set kartujob lengkap kemudian diserahkan kepada para operator.
Perkembangan Sistem operasi dimulai dari sini. Dengan memanfaatkan sistembatch para operator mengumpulkan job-job yang mirip yang kemudian dijalankan secara berkelompok. Misalnya, job yang memerlukan kompilator Fortran akan dikumpulkan ke dalam sebuah batch bersama denganjob-job lainnya yang juga memerlukan kompilator Fortran. Setelah sebuah kelompok job selesai, maka kelompok job berikutnya akan dijalankan secara otomatis.
Sistem batch mengizinkan pengurutan tugas secara otomatis dengan menggunakan Sistem operasi yang terintegrasi dan memberikan peningkatan yang cukup besar dalam utilisasi komputer. Komputer tidak perlu lagi menunggu operasi oleh pengguna. Tapi utilisasi CPU tetap saja rendah. Hal ini dikarenakan lambatnya kecepatan alat-alat untuk I/O secara relatif terhadap kecepatan CPU. Operasi off-line dari alat-alat yang lambat bertujuan untuk menggunakan beberapa sistem reader-to-tape dan tape-to-printer untuk satu CPU. Untuk meningkatkan keseluruhan kemampuan dari sistem komputer, para developer memperkenalkan konsep multiprogramming.
Pada perkembangan berikutnya, diperkenalkan konsep Multiprogrammed System. Dengan sistem ini job-job disimpan di memori utama di waktu yang sama dan CPU dipergunakan bergantian. Hal ini membutuhkan beberapa kemampuan tambahan yaitu: penyediaan I/O yang rutin oleh sistem, pengaturan memori untuk mengalokasikan memori pada beberapa Job, penjadwalan CPU untuk memilih job mana yang akan dijalankan, serta pengalokasian hardware lain.
Peningkatan lanjut dikenal sistem “bagi waktu” (Time Sharing System),”tugas ganda” (Multitasking), dan “komputasi interaktif” (Interactive Computing). Sistem ini, secara simultan dapat diakses lebih dari satu pengguna. CPUdigunakan bergantian oleh job-job di memori dan di disk. CPU dialokasikan hanya pada job di memori dan job dipindahkan dari dan ke disk. Interaksi langsung antara pengguna dan komputer ini melahirkan konsep baru, yaitu response time (waktu respon) yang diupayakan wajar agar tidak terlalu lama menunggu.
Hingga akhir tahun 1980-an, sistem komputer dengan kemampuan yang “normal”, lazim dikenal dengan istilah main frame. Sistem komputer dengan kemampuan jauh lebih rendah (dan lebih murah) disebut “komputer mini”. Sebaliknya, komputer dengan kemampuan jauh lebih canggih disebut komputer super (super computer). Namun prinsip kerja dari Sistem operasi dari semua komputer tersebut lebih kurang sama saja.
Menurut Tanenbaum, sistem operasi mengalami perkembangan yang sangat pesat, yang dapat dibagi kedalam empat generasi:
1.      Generasi Pertama (1945-1955)
Generasi pertama merupakan awal perkembangan sistem komputasi elektronik sebagai pengganti sistem komputasi mekanik, hal itu disebabkan kecepatan manusia untuk menghitung terbatas dan manusia sangat mudah untuk membuat kecerobohan, kekeliruan bahkan kesalahan. Pada generasi ini belum ada sistem operasi, maka sistem komputer diberi instruksi yang harus dikerjakan secara langsung.
2.      Generasi Kedua (1955-1965)
Generasi kedua memperkenalkan Batch Processing System, yaitu Job yang dikerjakan dalam satu rangkaian, lalu dieksekusi secara berurutan. Pada generasi ini sistem komputer belum dilengkapi sistem operasi, tetapi beberapa fungsi sistem operasi telah ada, contohnya fungsi sistem operasi ialah FMS dan IBSYS.
3.      Generasi Ketiga (1965-1980)
Pada generasi ini perkembangan sistem operasi dikembangkan untuk melayani banyak pemakai sekaligus, dimana para pemakai interaktif berkomunikasi lewat terminal secara on-line ke komputer, maka sistem operasi menjadi multi-user(di gunakan banyak pengguna sekaligus) dan multi-programming (melayani banyak program sekaligus).
4.      Generasi Keempat (Pasca 1980-an)
Dewasa ini, sistem operasi dipergunakan untuk jaringan komputer dimana pemakai menyadari keberadaan komputer-komputer yang saling terhubung satu sama lainnya. Pada masa ini para pengguna juga telah dinyamankan dengan Graphical User Interface yaitu antar-muka komputer yang berbasis grafis yang sangat nyaman, pada masa ini juga dimulai era komputasi tersebar dimana komputasi-komputasi tidak lagi berpusat di satu titik, tetapi dipecah dibanyak komputer sehingga tercapai kinerja yang lebih baik.

KELUARGA SISTEM OPERASI
Perkembangan sistem operasi modern (sudah mendukung multitasking dan multiuser) diawali oleh UNIX yang dibangun pada tahun 1969 oleh AT&T Bell Labs, termasuk didalamnya Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, dan Joe Ossana. Saat ini UNIX sudah jauh berkembang sehingga terdiri dari bermacam variasi berkat AT&T, berbagai vendor komersial, lembaga non-profit  dan universitas.
Diera tahun 70-an sampai 80-an, Personal Computer (PC) sudah memiliki sistem operasi dengan level abstraksi yang tinggi yang disimpan di memori sekunder seperti harddisk drive dan floppy disk drive. Sistem operasi semacam ini disebut dengan Disk Operating System (DOS). Contoh sistem operasi yang terkenal adalah OS/2 yang di buat oleh perusahaan IBM dan Microsoft. Antar muka sistem operasi di era ini masih berupa text sehingga relatif sulit untuk dioperasikan pengguna awam.
Mac OS atau Macintosh Operating System merupakan sistem operasi pertama yang sukses dengan antar muka grafis (GUI), sistem operasi tersebut diperkenalkan oleh Apple Computer pada tahun 1984. Sistem operasi modern untuk PC saat ini didominasi oleh Microsoft Windows yang pertama kali diperkenalkan pada tahun 1985. Popularitas Windows saat ini mendapat perlawanan dari Linux dengan sifat open sourcenya dan dukungan pengembangan berbagai distro. Linux merupakan keluarga sistem operasi mirip UNIX, Kernel Linux disusun pertama kali oleh Linus Torvalds pada tahun 1991.
Era tahun 2000-an merupakan awal tren Mobile Computing, yang saat ini sistem operasi perangkatnya didominasi oleh Android, iOS, Blackberry OS, Windows Phone dan Symbian.
Berikut ini adalah beberapa daftar keluarga sistem operasi yang marak digunakan.
1. Keluarga Windows :
1)      Berbasis MS-DOS: MS-DOS, Windows 1.0 , Windows 2.0, Windows 2.1x, Windows 3.0, Windows 3.1x
2)      Windows 9x: Windows 95, Windows 98, Windows Me
3)      Berbasis Windows NT: Windows NT 3.1, Windows NT 3.5, Windows NT 3.51, Windows NT 4.0, Windows 2000, Windows XP (edisi), Windows Server 2003, Fundamentals for Legacy PCs, Windows Vista (edisi), Windows Home Server, Windows Server 2008, Windows 7, Windows Server 2008 R2, Windows 8
4)      Keluarga Windows CE: CE 1.0, CE 2.0, CE 3.0, CE 4.0, CE 5.0, CE 6.0, Mobile
2. Keluarga UNIX :
1)      AIX
2)      AmigaOS
3)      BSD
4)      DragonFly BSD
5)      Free BSD
6)      GNU
7)      HP-UX
8)      IRIX
9)      Linux
10)  LynxOS
11)  MINIX
12)  NetBSD
13)  OpenBSD
14)  OS X
15)  Plan 9
16)  QNX
17)  Research UNIX
18)  SCO OpenServer
19)  Solaris
20)  UNIX System V
21)  Tru64 UNIX
22)  UnixWare
23)  VxWork
24)  Xenix
3. Keluarga Mac OS:
1)      PC : Public Beta (Kodiak), Mac OS X 10.0 (Cheetah), Mac OS X 10.1 (Puma), Mac OS X 10.2 (Jaguar), Mac OS X 10.3 (Panther), Mac OS X 10.4 (Tiger), Mac OS X 10.5 (Leopard), Mac OS X 10.6 (Snow Leopard), Mac OS X 10.7 (Lion), Mac OS X 10.8 (Mountain Lion).
2)      Server : OpenStep, Raphsody, Mac OS X Server 1.0
3)      Mobile: iOS

Thank to :http://netsains.net/2013/06/sejarah-dan-perkembangan-sistem-operasi-komputer/

Fbme