Kamis, 28 Mei 2009

Silahkan daftar disini

1 komentar:

Sistem Operasi

Tanpa perangkat lunak (software) sebuah komputer sebenarnya sekumpulan besi yang tidak berguna. Dengan software sebuah komputer dapat digunakan untuk menyimpan, mengolah data (memproses) dan mendapatkan kembali informasi yang telah disimpan, menemukan kesalahan dalam program, memainkan games dan menggunakan banyak aktivitas lainnya yang bernilai. Pada umumnya program komputer dapat dibagi menjadi dua kategori, yaitu :

  1. Program sistem (system program)

Yang berfungsi untuk mengatur operasi dari komputer itu sendiri.

  1. Program aplikasi (application program)

Yang berfungsi untuk membantu menyelesaikan masalah untuk pemakainya.

Dasar yang sangat penting dari semua program sistem adalah operating system yang mengontrol semua sumber daya komputer dan menyediakan landasan sehingga sebuah program aplikasi dapat ditulis atau dijalankan. Sebuah sistem komputer modern berisi satu atau lebih prosesor, banyak memori utama (sering disebut sebagai "core memory", walaupun magnetic cores yang sudah tidak digunakan dalam memory selama lebih satu dekade), clocks, terminal, disk, antarmuka (interface) jaringan, dan peralatan masukan/keluaran lainnya. Semua dalam semua, sebuah sistem yang kompleks, yaitu untuk menulis program yang disimpan dalam track sehingga dapat digunakan secara benar, apalagi dengan pengoptimalannya adalah sebuah pekerjaan atau tugas yang sangat sulit. Jika setiap programmer memfokuskan tentang bagaimana disk drive bekerja dan apa saja yang dapat dijalankan dengan benar ketika membaca sebuah block disk, mustahil bahwa banyak program dapat ditulis secara baik.

Beberapa tahun yang lelu telah menjadi kejelasan bahwa banyak cara atau metode menyediakan pelindung (sheild) atau sesuatu yang dapat menyembunyikan programmer dari kekomplekan perangkat keras. Cara yang telah berangsur-angsur berkembang adalah dengan menentukan atau membuat sebuah lapis (layer) perangkat lunak yang mengendalikan komponen pokok perangkat keras, mengatur semua bagian sistem, dan menyediakan pemakai dengan antarmuak (interface) atau virtual machine yang memudahkan memahami dan memprogram. Lapisan dari perangkat lunak adalah operating system dan hal tersebut menjadi pokok bahasan dalam buku ini.Diagram atau lapis (layer) dapat dilihat sebagai berikut :

+-------------------------------------------+==+

: Banking : Airline : Adventure : : Application

: System : Reservation : Games : : Programs

+-------------------------------------------+==+

: Compilers : Editors : Command : :

: : : Interpreter : : System

+-------------------------------------------+ : Programs

: Operating System : :

+-------------------------------------------+==+

: Machine Language : :

+-------------------------------------------+ :

: Microprogramming : : Hardware

+-------------------------------------------+ :

: Physical Devices : :

+-------------------------------------------+==+

Gambar 1-2 : Sebuah sistem komputer yang terdiri dari hardware, system programs dan application program

Pada bagian bawah dari gambar diatas adalah perangkat keras yang didalamnya banyak terdapat alasan yang membentuk dua atau lebih lapis. Lapis yang palingbawah (physical devices) berisi perangkat fisik, yang terdiri dari integrasicircuit chips, kabel (wires), power supplies, cathode ray tubes (CRT) dan perangkat lainnya. Bagaimana perangkat tersebut dibuat dan bagaimana sistem kerjanya adalah bagian dari insinyur elektronik.

Lapis berikutnya dari software primitive yang secara langsung mengontrol peralatan tersebut (physical devices) dan menyediakan interface (a cleaner interface) untuk layer berikut/diatasnya. Software ini disebut microprogram yang biasanya ditempatkan dalam read-only memory (ROM). Sebenarnya microprogram berfungsi sebagai penerjemah, mengambil (fetching) intruksi bahasa mesin, seperti ADD, MOVE dan JUMP serta melaksanakan proses-proses kecil yang saling terkait. Contohnya apabila melaksanakan instruksi ADD, microprogram harus menentukan dimana angka-angka yang ditambahkan ditempatkan (disimpan sementara), mengambilnya, menambahkannya dan menyimpan hasilnya disuatu tempat tertentu. Sekumpulan instruksi yang diterjemahkan microprogram disebut machine language (bahasa mesin), yang kenyataannya bukan bagian dari perangkat mesin semuanya, tetapi pembuat komputer selalu menjelaskannya dalam manualnya (sejenis buku panduan perangkat kerasnya), sehingga banyak orang mengira sebagai mesin sesungguhnya. Dalam banyak mesin microprogram diimplementasikan dalam hardware dan sebenarnya tidak sebuah lapis yang jelas. Bahasa mesin secara khusus memiliki antara 50 sampai 300 instruksi, yang sebagian besar untuk memindahkan data disekeliling mesin, mengerjakan aritmatika dan membandingkan nilai. Dalam lapis ini, perangkat masukan/keluaran mengontrol pemuatan nilai ke dalam register khusus. Untuk contoh, sebuah disk dapat diperintahkan membaca untuk memuat nilai dari alamat disk, alamat memori utama, besarnya byte dan memerintahkan (READ atau WRITE) ke dalam registernya. Dalam prakteknya, banyak parameter yang dibutuhkan, dan status drive sesudah operasi adalah masalah yang memiliki kekomplekan masalah yang tinggi. Terlebih banyak perangkat I/O, waktu akses adalah sebuah aturan yang penting dalam pemograman.

Sebuah fungsi utama dari Operating System adalah menyembunyikan semua kekomplekan atau kerumitan dan memberikan programmer sebuah kenyamanan, kemudahan, kepraktisan dari instruksi yang digunakan untuk bekerja dengannya, sebagai contoh, READ BLOCK FROM FILE adalah konsep atau gagasan penyederhanaan daripada harus berpikir tentang bagaimana memindahkan head disk secara rinci, menunggu untuk menjadi tenang (posisi istirahat). Diatas lapis Operating System (OS) adalah untuk menempatkan software system. Dari sini ditemukan penerjemah perintah (command interpreter/shield), compiler, editor, dan application program independent. Adalah penting untuk menyadari/merealisasikan bahwa program-program ini dengan pasti bukan bagian dari SO, walaupun secara khas disediakan oleh pembuat komputer. Ini adalah penting sekali, tetapi sebagai titik kecerdikan. OS adalah bagian dari software yang dijalankan dalam kernel mode atau supervisor mode. SO memproteksi dari pemakai yang menganggu pemakain hardware (diabaikan untuk microprossors yang sebelumnya yang tidak memiliki proteksi hardware).

Compiler dan editors dijalankan dalam user mode. Jika seorang tidak suka sebuah compiler khusus, pemakai bebas menulis miliknya jika dapat memilih, dan tentunya tidak bebas untuk menangani interrupt disk yang merupakn bagian dari OS dan normalnya akan memproteksi hardware terhadap usaha pemakai untuk memodifikasinya. Akhirnya, diatas layer system program berikutnya adalah application program. Program ini ditulis oleh user untuk memecahkan masalah khusus, seperti proses pengolahan data, perhitungan rekayasa atau memainkan sebuah permainan.

Fungsi dan sasaran Sistem Operasi

Secara garis besar mempunyai 2 tugas utama, yaitu sebagai :

      1. Pengelola seluruh sumber daya pada sistem komputer (resource manager)

Yang dimaksud dengan sumber daya pada sistem komputer adalah semua komponen yang memberikan fungsi (manfaat) atau dengan pengertian lain adalah semua yang terdapat atau terhubung ke sistem komputer yang dapat untuk memindahkan, menyimpan, dan memproses data, serta untuk mengendalikan fungsi-fungsi tersebut. Sumber daya pada sistem komputer, antara lain :

  1. Sumber daya fisik, misalnya : Keyboard, bar-code reader, mouse, joystick, light-pen, track-ball, touch-screen, pointing devices, floppy disk drive, harddisk, tape drive, optical disk, CD ROM drive, CRT, LCD, printer, modem, ethernet card, PCMCIA, RAM, cache memory, register, kamera, sound card, radio, digitizer, scanner, plotter, dan sebagainya.

Salah satu sasaran yang harus dicapai sistem operasi adalah dapat memanfaatkan seluruh sumber daya agar dapat digunakan secara efektif dan efisien mungkin.

  1. Sumber daya abstrak, terdiri dari :

    • Data, misalnya : Semaphore untuk pengendalian sinkronisasi proses-proses, PCB (Process Control Block) untuk mencatat dan mengendalikan proses, tabel segmen, tabel page, i-node, FAT, file dan sebagainya.

    • Program, adalah kumpulan instruksi yang dapat dijalankan oleh sistem komputer, yang dapat berupa utilitas dan program aplikasi pengolahan data tertentu.

      1. Penyedia layanan (extended/virtual machine)

Secara spesifik berfungsi :

        1. Memberi abstaksi mesin tingkat tinggi yang lebih sederhana dan menyembunyikan kerumitan perangkat keras.

Sistem operasi menyediakan system call (API=Application Programming Interface) yang berfungsi menghindarkan kompleksitas pemograman dengan memberi sekumpulan instruksi yang mudah digunakan.

        1. Basis untuk program lain.

Program aplikasi dijalankan di atas sistem operasi yang bertujuan untuk memanfaatkan dan mengendalikan sumber daya sistem komputer secara benar, efisien, dan mudah dengan meminta layanan sistem operasi.

Untuk memberikan fungsi-fungsi tersebut, sistem operasi mempunyai beberapa sub sistem, antara lain :

  • Manajemen proses

  • Manajemen memori

  • Manajemen berkas

  • Manajemen perangkat masukan/keluaran

  • Pengamanan sistem

  • Sistem komunikasi

Sejarah Perkembangan Sistem Operasi

Perkembangan sistem komputer dibagi menjadi empat generasi termasuk perangkat keras dan perangkat lunaknya (sistem operasi).

Generasi Pertama (1945-1955)

Pada generasi ini belum ada sistem operasi, sistem komputer diberi instruksi yang harus dikerjakan secara langsung.

Generasi Kedua (1955-1965)

Job dikumpulkan dalam satu rangkaian kemudian dieksekusi secara berurutan. Sistem komputer belum dilengkapi sistem operasi, tapi beberapa fungsi dasar sistem operasi telah ada, misalnya FMS (Fortran Monitoring System) dan IBSYS, keduanya merupakan bagian yang fungsinya merupakan komponen sistem operasi.

Generasi Ketiga (1965-1980)

Dikembangkan untuk melayani banyak pemakai secara online, sehingga menuntut sistem komputer dapat digunakan secara :

  1. Multiuser

Berarti komputer yang memiliki resource yang dapat digunakan oleh banyak orang sekaligus.

  1. Multiprogramming

Berarti komputer melayani banyak proses/job sekaligus pada waktu bersamaan, yaitu dengan membagi (mempartisi) memori menjadi beberapa bagian dengan satu bagian memori adalah satu job berbeda. Saat satu job menunggu operasi masukan/keluaran selesai, job lain dapat menggunakan proses. Teknik ini meningkatkan efisiensi pemroses yang juga memerlukan perangkat keras khusus untuk mencegah satu job menganggu job lain. Karena pemakai-pemakai berinteraksi dengan komputer, komputer harus menanggapi permintaan-permintaan secara cepat, atau akan menyebabkan produktivitas pemakai menurun drastis.

Untuk kebutuhan itu dikembangkan timesharing.

Timesharing

Varian dari multiprogramming, dimana tiap pemakai mempunyai satu terminal online dengan pemroses hanya memberi layanan pada pemakai yang aktif secara bergantian secara ceoat. Para pemakai akan merasa dilayani terus-menerus, padahal sebenarnya digilir persatuan waktu yang singkat. Karena sumber daya yang digunakan secara bersamaan akan sering menimbulkan bottleneck, maka dikembangkan spooling.

Spooling

Membuat peripheral seolah-olah dapat digunakan bersama-sama sekaligus, dapat diakses secara simultan, yaitu dengan cara menyediakan beberapa partisi memori. Saat terdapat permintaan layanan peripheral, langsung diterima dan data disimpan lebih dulu di memori yang disediakan (berupa antrian), kemudian dijadwalkan agar secara nyata dilayani oleh peripheral.

Generasi Keempat (1980-199x)

Sistem operasi yang dapat melayani banyak mode, yaitu mendukung batch processing, timesharing dan (soft) real time applications. Perkembangan dengan meningkatnya kemampuan komputer dekstop (PC) dan teknologi jaringan (TCP/IP).

Sistem komputer dalam pandangan perancang sistem operasi

Sistem operasi bertugas :

      1. Menutupi atau mendandani perangkat keras komputer agar tampil indah, mudah dan nyaman bagi pemakai.

      2. Menghindarkan rincian operasi perangkat keras dan menyediakan antarmuka untuk pemogram dalam menggunakan sistem.

      3. Bertindak sebagai mediator, mempermudah pemogram dan program aplikasi mengakses dan menggunakan fasilitas dan sumber daya sistem komputer.

Perancang sistem operasi yang bertugas mendandani perangkat keras, dituntut mengetahui secara mendalam dan menyeluruh perangkat yang akan didandaninya agar sistem operasi yang dirancang benar-benar berfungsi secara benar dan efisien.


Konsep dasar sistem operasi

Antarmuka (interface) antara sistem operasi dengan program aplikasi (user programs) dikenal sebagai extended instruciton (perluasan instruksi). Extended instruction dapat juga disebut sebagai panggilan sistem (system call).

  1. Process

    • Merupakan konsep utama dalam semua sistem operasi

    • Pada dasarnya adalah sebuah program yang dieksekusi

    • Berisi executable program, program's data dan stack, program counter, stack pointer dan register lainnya.

    • Tabel proses (process table) adalah tabel yang berisi informasi tentang semua proses yang dijalankan.

    • Sebuah proses dipanggil oleh command interpreter atau shell yang membaca perintah dari terminal.

    • Child process dapat membuat satu atau lebih proses lainnya.

  1. Files

  • Sistem operasi mendukung konsep sebuah direktori.

  • Hirarki proses dan file diorganisasi sebagai trees.

  • Setiap proses memiliki direktori kerja.

  1. System Call

  • Layanan langsung sisem operasi ke pemogram adalah system call atau API (Application Programming Interface).

  • System call adalah tata cara pemanggilan di program aplikasi untuk memperoleh layanan sistem operasi.

  • System call berupa rutin sistem operasi untuk keperluan tertentu yang spesifik. Bentuk system call beragam, terbanyak berupa rutin prosedure atau fungsi.

  • User programs berkomunikasi dengan sistem operasi dan meminta layanan darinya dengan membuat system calls. Contoh system call READ dari bahasa C : count=read(file, buffer, bytes)

  1. The shell

  • Sistem operasi adalah kode yang dilaksanakan system calls.

  • Dalam UNIX command interpreter disebut shell.

  • Dalam prompt UNIX, sebuah karakter tanda dollar ($),memberitahu pemakai bahwa shell menunggu permintaan perintah.

  • Jika user menuliskan : $date, memiliki arti bahwa shell membuat a child process dan menjalankan date program sebagai child. Selama child process dijalankan, shell menunggunya untuk dihentikan. Ketika child selesai, shell akan menampilkan prompt kembali dan mencoba membaca masukan perintah berikutnya.

Struktur dasar sistem operasi

1. Sistem monolitik (monolithic system)

Sistem operasi sebagai kumpulan prosedur dimana prosedur dapat saling dipanggil oleh prosedur lain di sistem bila diperlukan. Kernel berisi semua layanan yang disediakan sistem operasi untuk pemakai. Sistem operasi ditulis sebagai sekumpulan prosedur (a collection of procedures), yang dapat dipanggil setiap saat oleh pemakai saat dibutuhkan.

Kelemahan :

  • Pengujian dan penghilangan kesalahan sulit karena tidak dapat dipisahkan dan dilokalisasi.

  • Sulit dalam menyediakan fasilitas pengamanan.

  • Merupakan pemborosan bila setiap komputer harus menjalankan kernel monolitik sangat besar sementara sebenarnya tidak memerlukan seluruh layanan yang disediakan kernel.

  • Tidak fleksibel.

  • Kesalahan pemograman satu bagian dari kernel menyebabkan matinya seluruh sistem.

Keunggulan :

  • Layanan dapat dilakukan sangat cepat karena terdapat di satu ruang alamat.

Evolusi :

Kebanyakan UNIX sampai saat ini berstruktur monolitik. Meskipun monolitik, yaitu seluruh komponen/subsistem sistem operasi terdapat di satu ruang alamat tetapi secara rancangan adalah berlapis. Rancangan adalah berlapis yaitu secara logik satu komponen/subsistem merupakan lapisan lebih bawah dibanding lainnya dan menyediakan layanan-layanan untuk lapisan-lapisan lebih atas. Komponen-komponen tersebut kemudia dikompilasi dan dikaitkan (di-link) menjadi satu ruang alamat. Untuk mempermudah dalam pengembangan terutama pengujian dan fleksibilitas, kebanyakan UNIX saat ini menggunakan konsep kernel loadable modules, yaitu:

  • Bagian-bagian kernel terpenting berada di memori utama secara tetap.

  • Bagian-bagian esensi lain berupa modul yang dapat ditambahkan ke kernel saat diperlukan dan dicabut begitu tidak digunakan lagi di waktu jalan (run time).

    1. Sistem lapis (layered system)

Sistem operasi dibentuk secara hirarki berdasar lapisan-lapisan, dimana lapisan-lapisan bawa memberi layanan lapisan lebih atas.Struktur berlapis dimaksudkan untuk mengurangi kompleksitas rancangan dan implementasi sistem operasi. Tiap lapisan mempunyai fungsional dan antarmuka masukan-keluaran antara dua lapisan bersebelahan yang terdefinisi bagus. Lapis-lapis dalam sistem operasi ada 6 lapis, yaitu :

      1. Lapis 5 - The operator, Berfungsi untuk pemakai operator.

      2. Lapis 4 - User programs, Berfungsi untuk aplikasi program pemakai.

      3. Lapis 3-I/O management, Berfungsi untuk menyederhanakan akses I/O pada level atas.

      4. Lapis 2-Operator-operator communicationm, Berfungsi untuk mengatur komunikasi antar proses.

      5. Lapis 1-Memory and drum management, Berfungsi untuk mengatur alokasi ruang memori atau drum magnetic.

      6. Lapis 0-Processor allocation and multiprogramming, Berfungsi untuk mengatur alokasi pemroses dan switching,multiprogramming dan pengaturan prosessor.

Lapisan n memberi layanan untuk lapisan n+1. Proses-proses di lapisan n dapat meminta layanan lapisan n-1 untuk membangunan layanan bagi lapisan n+1. Lapisan n dapat meminta layanan lapisan n-1. Kebalikan tidak dapat, lapisan n tidak dapat meminta layanan n+1. Masing-masing berjalan di ruang alamat-nya sendiri. Kelanjutan sistem berlapis adalah sistem berstruktur cincin seperti sistem MULTICS. Sistem MULTICS terdiri 64 lapisan cincin dimana satu lapisan berkewenangan berbeda. Lapisan n-1 mempunyai kewenangan lebih dibanding lapisan n. Untuk meminta layanan lapisan n-1, lapisan n melakukan trap. Kemudian, lapisan n-1 mengambil kendali sepenuhnya untuk melayani lapisan n.

Keunggulan :

  • Memiliki semua keunggulan rancangan modular, yaitu sistem dibagi menjadi beberapa modul dan tiap modul dirancang secara independen. Tiap lapisan dapat dirancang, dikode dan diuji secara independen.

  • Pendekatan berlapis menyederhanakan rancangan, spesifikasi dan implementasi sistem operasi.

Kelemahan :

  • Fungsi-fungsi sistem operasi harus diberikan ke tiap lapisan secara hati-hati.

    1. Virtual machines (mesin maya)

  • Multiprogramming

  • Time sharing systems

Awalnya struktur ini membuat seolah-olah pemakai mempunyai seluruh komputer dengan simulasi atas pemroses yang digunakan. Sistem operasi melakukan simulasi mesin nyata. Mesin hasil simulasi digunakan pemakai, mesin maya merupakan tiruan seratus persen atas mesin nyata.Semua pemakai diberi iluasi mempunyai satu mesain yang sama-sama canggih. Pendekatan ini memberikan fleksibilitas tinggi sampai memungkinkan sistem operasi-sistem operasi berbeda dapat dijalankan dimesin-mesin maya berbeda. Implementasi yang efisien merupakan masalah sulit karena sistem menjadi besar dan kompleks.

Teknik ini mulanya digunakan pada IBM S/370. VM/370 menyediakan mesin maya untuk tiap pemakai. Bila pemakai log (masuk) sistem, VM/370 menciptakan satu mesin maya baru untuk pemakai itu.Teknik ini berkembang menjadi operating system emulator sehingga sistem operasi dapat menjalankan aplikasi-aplikasi untuk sistem operasi lain.

  • Sistem operasi MS-Windows NT dapat menjalankan aplikasi untuk MS-DOS, OS/2 mode teks dan aplikasi Win16. Aplikasi tersebut dijalankan sebagai masukan bagi subsistem di MS-Windows NT yang mengemulasikan system calls yang dipanggil aplikasi dengan Win32 API (system calls di MS-Windows NT).

  • IBM mengembangkan WABI yang mengemulasikan Win32 API sehingga diharapkan sistem operasi yang menjalankan WABI dapat menjalankan aplikasi-aplikasi untuk MS-Windows.

  • Para sukarelawan pengembang Linux telah membuat DOSEMU agar aplikasi-aplikasi untuk MS-DOS dapat dijalankan di Linux, WINE agar aplikasi untuk MS-Windows dapat dijalankan di Linux, iBCS agar aplikasi-aplikasi untuk SCO-UNIX dapat dijalankan di Linux, dan sebagainya.

    1. Client-server model

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 pemakai. Kernel hanya mengatur komunikasi antara client dan server. Kernel yang ini popular dengan sebutan mikrokernel.

  • Permintaan pelayanan, seperti membaca sebuah blok file, sebuah user process (disebut client process) mengirimkan permintaan kepada sebuah server process, yang kemudian bekerja dan memberikan jawaban balik.

  • Keuntungan : kemampuan diadaptasi untuk digunakan dalam distributed system.

Masalah :

    • Tidak semua tugas dapat dijalankan di tingkat pemakai (sebagai proses pemakai). Kesulitan ini diatasi dengan :

    • Proses server kritis tetap di kernel, yaitu proses yang biasanya berhubungan dengan perangkat keras.

    • Mekanisme ke kernel seminimal mungkin,sehingga pengaksesan ruang pemakai dapat dilakukan dengna cepat. Untuk sistem-sistem besar dengan banyak server dikehendaki supaya client transparan dalam meminta layanan sehingga tidak menyulitkan pemogram.

Keunggulan :

  • Pengembangan dapat dilakukan secara modular.

  • Kesalahan (bugs) di satu subsistem (diimplementasikan sebagai satu proses) tidak merusak subsistem-subsistem lain, sehingga tidak mengakibatkan satu sistem mati secara keseluruhan.

  • Mudah diadaptasi untuk sistem tersebar.

Kelemahan :

  • Layanan dilakukan lambat karena harus melalui pertukaran pesan.

  • Pertukaran pesan dapat menjadi bottleneck.

    1. 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. Conoh sistem operasi yang berorientasi objek, antara lain : eden, choices, x-kernel, medusa, clouds, amoeba, muse, dan sebagainya. Sistem operasi MS Windows NT telah mengadopsi beberapa teknologi berorientasi objek tetapi belum keseluruhan.