Translate

S.O. linux

1. Linux Dan Sejarahnya
Linux atau GNU/Linux adalah sistem operasi bebas yang sangat
populer untuk computer, Istilah Linux atau GNU/Linux (GNU) juga digunakan
sebagai rujukan kepada keseluruhan distro Linux (Linux distribution), yang di
dalamnya disertakan program-program lain pendukung sistem operasi.
Contoh program tersebut adalah server web, bahasa pemrograman,
basisdata, tampilan desktop (Desktop Environment) (seperti GNOME dan
KDE), dan aplikasi perkantoran (office suite) seperti OpenOffice.org, KOffice,
Abiword, Gnumeric. Distro Linux telah mengalami pertumbuhan yang pesat
dari segi popularitas, sehingga lebih populer dari versi UNIX yang
menggunakan sistem lisensi dan berbayar (proprietary) maupun versi UNIX
bebas lain yang pada awalnya menandingi dominasi Microsoft Windows
dalam beberapa sisi. Linux mendukung banyak perangkat keras komputer,
dan telah digunakan di berbagai peralatan dari komputer pribadi,
superkomputer dan sistem benam (embedded system), seperti telepon
seluler (Ponsel) dan perekam video pribadi. Pada awalnya, Linux dibuat,
dikembangkan, dan digunakan oleh peminatnya saja. Kini Linux telah
mendapat dukungan dari perusahaan besar seperti IBM dan Hewlett-
Packard. Para pengamat teknologi informatika beranggapan kesuksesan ini
dikarenakan Linux tidak bergantung kepada vendor (vendor independence),
biaya operasional yang rendah, dan kompatibilitas yang tinggi dibandingkan
versi UNIX proprietari, serta faktor keamanan dan kestabilannya
dibandingkan dengan Microsoft Windows. Ciri-ciri ini juga menjadi bukti atas
keunggulan model pengembangan perangkat lunak sumber terbuka
(opensource software).
Linux ini disebarkan secara luas dengan gratis di bawah lisensi GNU
General Publi License (GPL), yang berarti source code Linux juga tersedia
bagi publik. Linux dikembangkan oleh perorangan maupun kelompok yang
bekerja secara sukarela. Para pengembang Linux memanfaatkan jaringan
Internet untuk melakukan tukar-menukar kode, melaporkan bug, dan
membenahi segala masalah yang ada. Setiap orang yang tertarik biasanya
bergabung dalam pengembangan Linux ini. Pengembangan Linux pertama
kali dilakukan oleh Linux Benedict Torvalds pada tahun 1991 di Universitas
Helsinki, Finlandia. Kemudian Linux dikembangkan lagi dengan bantuan dari
banyak programmer dan pakar UNIX di Internet. Linux ini bisa diperoleh dari
beberapa distribusi yang umum digunakan, misalnya RedHat, Debian,
Slackware, Caldera, Stampede Linux, TurboLinux dan lain-lain.
Sejarah linux
UNIX merupakan salah satu sistem operasi yang mengawali lahirnya
Linux ke dunia ini. UNIX merupakan salah satu sistem operasi yang ada saat
ini. Adapun UNIX merupakan salah satu sistem operasi populer selain
keluarga raksasa Microsoft (mulai dari DOS, MS 9x sampai Vista), Novell,
OS/2, BeOS, MacOS dan lainnya.
Sejarah kemunculan UNIX dimulai pada tahun 1965 ketika para ahli
dari Bell Labs, sebuah laboratorium milik AT&T, bekerja sama dengan MIT
dan General Electric membuat sistem operasi bernama Multics(sudah pernah
dengar belum?). Nah, sistem operasi Multics ini awalnya didesain dengan
harapan akan menciptakan beberapa keunggulan, seperti multiuser,
multiprosesor, dan multilevel filesystem. Namun pada tahun 1969, AT&T
akhirnya menghentikan proyek pembuatan Multics karena sistem operasi
Multics ini sudah tidak memenuhi tujuan semula. Dengan kata lain, proyek ini
mengalami hambatan karena dalam kenyataannya Multics banyak terdapat
bugs dan sulit sekali dioperasikan
Kenal Linus Torvalds kan? Linus dilahirkan di Helsinki, Finlandia pada
tanggal 28 Desember 1969. Orang yang disebut sebagai Bapak Linux(LINus
UniX) ini, sudah mengenal bahasa pemrograman pada umurnya yang ke 10.
Saat itu ia sering mengutak-atik komputer kakeknya, Commodore VIC-20.
Karena hobinya dalam dunia komputing, 1988 Linus diterima di Univerity of
Helsinki dan pada tahun 1990, Linus memulai kelas pemrograman C
pertamanya. Pada tahun 1991, Linus tidak puas terhadap sistem operasi
yang ada pada PC pertamanya (MS-DOS atau Disk Operation System), OS
buatan Microsoft.
Linus lebih cenderung untuk menggunakan sistem operasi UNIX
seperti yang dipakai komputer milik universitasnya. Akhirnya ia mengganti
sistem operasi openSource Minix yang berbasiskan UNIX. Adapun Minix ini
merupakan sistem UNIX kecil yang dikembangkan oleh Andrew S.
Tanenbaum, seorang professor yang menggeluti penelitian masalah OS dari
Vrije Universiteit, Belanda. Adapun Minix ini digunakan untuk keperluan
pengajaran dan pendidikan
Namun Linus merasa bahwa Minix masih memiliki banyak kelemahan.
Dan mulai saat itu, di usianya yang ke-23, Linus mulai mengutak-atik kernel
Minix. Dan ia mulai mengembangkan sistem yang kompatibel dengan IBM
PC. Pada bulan Agustus 1991, lahirlah Linux 0.01 hasil oprekan Linus, dan
pada tanggal 5 Oktober 1991, secara resmi Linus mengumumkan Linux 0.02
yang hanya dapat menjalankan BASH dan gcc compiler. Selain itu, Linus
juga mempublikasikan sistem operasi buatannya tersebut lengkap dengan source codenya, yang ternyata disambut dengan sangat antusias oleh para programmer dan developer di seluruh dunia agar dapat di develop bersamasama.. Sampai saat ini, Linux dibangun oleh berbagai macam komunitas dan
jangan heran apabila banyak sekali distro-distro Linux yang beredar. Mulai
dari yang berbayar sampai yang gratis, dari untuk pemula sampai tingkat
lanjut, dan biasanya dengan banyaknya distro Linux yang beredar akan
membuat orang awam bingung untuk memilih distro. Bayangkan, ada
beratus-ratus distro yang tercipta atau bahkan beribu-ribu. Namun perlahan
tapi pasti, diantara distro-distro Linux ini ada yang menyamai (atau bahkan)
melebihi kemampuan dari Sistem Operasi keluarga raksasa (Microsoft) dan
dengan semakin mudahnya dan semakin lengkapnya dukungan Linux pada
hardware, besar kemungkinan Linux akan menjadi alternatif (atau bahkan
sistem operasi utama di dunia). InsyaAllah bila tidak ada halangan, saya
akan memberikan tips-tips memilih distro Linux.
Kelebihan linux
1. Linux merupakan sistem operasi bebas dan terbuka. Sehingga dapat
dikatakan, tidak terdapat biaya lisensi untuk membeli atau
menggunakan Linux.
2. Linux mudah digunakan. Dulu, Linux dikatakan merupakan sistem
operasi yang sulit dan hanya dikhususkan untuk para hacker. Namun,
kini, pandangan ini salah besar. Linux mudah digunakan dan dapat
dikatakan hampir semudah menggunakan Windows.
3. Hampir semua aplikasi yang terdapat di Windows, telah terdapat
alternatifnya di Linux. Kita dapat mengakses situs web Open Source
as Alternative untuk memperoleh informasi yang cukup berguna dan
cukup lengkap tentang alternatif aplikasi Windows di Linux.
4. Keamanan yang lebih unggul daripada Windows. Dapat dikatakan,
hampir semua pengguna Windows pasti pernah terkena virus,
spyware, trojan, adware, dsb. Hal ini, hampir tidak terjadi pada Linux.
Di mana, Linux sejak awal didesain multi-user, yang mana bila virus
menjangkiti user tertentu, akan sangat sangat sangat sulit menjangkiti
dan menyebar ke user yang lain. Pada Windows, hal ini tidaklah
terjadi. Sehingga bila dilihat dari sisi maintenance / perawatan data
maupun perangkat keras-pun akan lebih efisien. Artikel yang
menunjang argumen ini:
1. Linux dan Virus.
2. Melindungi Windows dari serangan virus dengan menggunakan
Linux.
5. Linux relatif stabil. Komputer yang dijalankan di atas sistem operasi
UNIX sangat dikenal stabil berjalan tanpa henti. Linux, yang
merupakan varian dari UNIX, juga mewarisi kestabilan ini. Jarang ditemui, komputer yang tiba-tiba hang dan harus menekan tombol Ctrl-
Alt-Del atau Restart untuk mengakhiri kejadian tersebut. Sehingga,
tidaklah mengherankan bila Linux mempunyai pangsa pasar server
dunia yang cukup besar. Dari hasil riset IDC, pangsa pasar server
dunia yang menggunakan Linux pada tahun 2008 akan mencapai 25,7
% (dapat dibaca di eweek.com).
6. Linux mempunyai kompatibilitas ke belakang yang lebih baik (better
backward-compatibilty). Perangkat keras (hardware) yang telah
berusia lama, masih sangat berguna dan dapat dijalankan dengan baik
di atas Linux. Komputer-komputer yang lama ini tidak perlu dibuang
dan masih dapat digunakan untuk keperluan tertentu dengan
menggunakan Linux (sebagai penunjang informasi dapat membaca
artikel “Don’t Throw That Old PC Away–Give It New Life with Linux“).
Selain itu, tidak pernah ditemui dokumen-dokumen yang lebih baru
tidak dapat dibaca pada Linux versi yang lebih lama. Pada Windows,
kita seakan dituntut untuk terus mengikuti perkembangan perangkat
keras. Sebagai contoh, beberapa bulan lalu, telah dirilis Windows
Vista. Beberapa dokumen yang dibuat dalam Windows Vista tidak
dapat dibuka dalam Windows XP. Sehingga, mau tidak mau, kita harus
beralih ke Windows Vista, dan itu berarti meng-upgrade atau membeli
perangkat keras (hardware) baru yang lebih bagus (perangkat keras
minimum Windows Vista dapat dilihat Microsoft.com). Atau, bisa jadi
ada aplikasi-aplikasi yang dibuat beberapa tahun yang lalu tidak dapat
dibuka lagi di Windows Vista, karena sudah tidak didukung lagi oleh
Microsoft.
Kekurangan Linux
1. Banyak pengguna yang belum terbiasa dengan Linux dan masih
‘Windows minded’. Hal ini dapat diatasi dengan pelatihan-pelatihan
atau edukasi kepada pengguna agar mulai terbiasa dengan Linux.
2. Dukungan perangkat keras dari vendor-vendor tertentu yang tidak
terlalu baik pada Linux. Untuk mencari daftar perangkat keras yang
didukung pada Linux, kita dapat melihatnya di Linux-Drivers.org atau
LinuxHardware.org.
3. Proses instalasi software / aplikasi yang tidak semudah di Windows.
Instalasi software di Linux, akan menjadi lebih mudah bila terkoneksi
ke internet atau bila mempunyai CD / DVD repository-nya. Bila tidak,
maka kita harus men-download satu per satu package yang
dibutuhkan beserta dependencies-nya.
4. Bagi administrator sistem yang belum terbiasa dengan Unix-like
(seperti Linux), maka mau tidak mau harus mempelajari hal ini.
Sehingga syarat untuk menjadi administrator adalah manusia yang
suka belajar hal-hal baru dan terus-menerus belajar.

Sistem Operasi



BAB I
PENDAHULUAN

Biasanya, istilah Sistem Operasi sering ditujukan kepada semua software yang masuk dalam satu paket dengan sistem komputer sebelum aplikasi-aplikasi software terinstall. 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 file. Apabila beberapa aplikasi berjalan secara bersamaan, maka Sistem Operasi mengatur skedule 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, tetapi sebagian besar Sistem Operasi baru mengizinkan beberapa aplikasi berjalan secara simultan pada waktu yang bersamaan. Sistem Operasi seperti itu disebut sebagai Multi-tasking Operating System. 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.
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-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, dan Windows Vista yang akan dirilis pada tahun 2007)).
  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.4 (Tiger). Awal tahun 2007 direncanakan peluncuran versi 10.5 (Leopard).
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.
            Dalam makalah ini, juga akan dibahas tentang fungsi dasar dari system operasi, tujuan mempelajari system operasi, sejarah dari system operasi, layanan yang terdapat dalam system operasi. Dan juga kita akan membahas tentang layanan dan antarmuka, serta akan membahas tentang Linux.












BAB II
PEMBAHASAN

I.          SISTEM OPERASI
a.        Fungsi dasar
            Sistem komputer pada dasarnya terdiri dari empat komponen utama, yaitu perangkat-keras, program aplikasi, sistem-operasi, dan para pengguna. Sistem operasi berfungsi untuk mengatur dan mengawasi penggunaan perangkat keras oleh berbagai program aplikasi serta para pengguna. Sistem operasi berfungsi ibarat pemerintah dalam suatu negara, dalam arti membuat kondisi computer agar dapat menjalankan program secara benar. Untuk menghindari konflik yang terjadi pada saat pengguna menggunakan sumber-daya yang sama, sistem operasi mengatur pengguna mana yang dapat mengakses suatu sumber-daya. Sistem operasi juga sering disebut resource allocator. Satu lagi fungsi penting sistem operasi ialah sebagai program pengendali yang bertujuan untuk menghindari kekeliruan (error) dan penggunaan komputer yang tidak perlu.
b.       Tujuan mempelajari system operasi
            Tujuan mempelajari sistem operasi agar dapat merancang sendiri serta dapat memodifikasi sistem yang telah ada sesuai dengan kebutuhan kita, agar dapat memilih alternatif sistem operasi, memaksimalkan penggunaan sistem operasi dan agar konsep dan teknik sistem operasi dapat diterapkan pada aplikasi-aplikasi lain.

c.        Sejarah system operasi
            Menurut Tanenbaum, sistem operasi mengalami perkembangan yang sangat pesat, yang dapat dibagi kedalam empat generasi:
•   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.
•   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.
•   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 sekali gus) dan multi-programming (melayani banyak program sekali gus).
•   Generasi Keempat (Pasca 1980an)
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.
d.       Layanan system operasi
       Sebuah sistem operasi yang baik menurut Tanenbaum harus memiliki layanan sebagai berikut: pembuatan program, eksekusi program, pengaksesan I/O Device, pengaksesan terkendali terhadap berkas pengaksesan sistem, deteksi dan pemberian tanggapan pada kesalahan, serta akunting.
       Pembuatan program yaitu sistem operasi menyediakan fasilitas dan layanan untuk membantu para pemrogram untuk menulis program; Eksekusi Program yang berarti Instruksi-instruksi dan data-data harus dimuat ke memori utama, perangkat-parangkat masukan/ keluaran dan berkas harus di-inisialisasi, serta sumber-daya yang ada harus disiapkan, semua itu harus di tangani oleh sistem operasi.
       Pengaksesan I/O Device, artinya Sistem Operasi harus mengambil alih sejumlah instruksi yang rumit dan sinyal kendali menjengkelkan agar pemrogram dapat berfikir sederhana dan perangkat pun dapat beroperasi.
       Pengaksesan terkendali terhadap berkas yang artinya disediakannya mekanisme proteksi terhadap berkas untuk mengendalikan pengaksesan terhadap berkas.
       Pengaksesan sistem artinya pada pengaksesan digunakan bersama (shared system). Fungsi pengaksesan harus menyediakan proteksi terhadap sejumlah sumber-daya dan data dari pemakai tak terdistorsi serta menyelesaikan konflik-konflik dalam perebutan sumber-daya.
       Deteksi dan Pemberian tanggapan pada kesalahan, yaitu jika permasalahan muncul pada sistem komputer maka sistem operasi harus memberikan tanggapan yang menjelaskan kesalahan yang terjadi serta dampaknya terhadap aplikasi yang sedang berjalan.
       Dan Akunting yang artinya Sistem Operasi yang bagus mengumpulkan data statistik penggunaan beragam sumber-daya dan memonitor parameter kinerja.

II.                            LAYANAN DAN ANTARMUKA
a.        Jenis Layanan
            Seperti yang telah kita ketahui bersama, tujuan dari sebuah sistem operasi adalah sebagai penghubung antara user dan hardware, dimana sistem operasi memberikan kemudahan-kemudahan agar user tidak harus mengakses hardware secara langsung dalam bahasa mesin, tetapi dalam bentuk layanan-layanan yang diberikan oleh sistem operasi. Layanan sistem operasi dirancang untuk membuat pemrograman menjadi lebih mudah.

1.         Pembuatan Program
                 Sistem operasi menyediakan berbagai fasilitas yang membantu programer dalam membuat program seperti editor. Walaupun bukan bagian dari sistem operasi, tapi layanan ini diakses melalui sistem operasi.

2.        Eksekusi Program
                 Eksekusi program adalah kemampuan sistem untuk "load" program ke memori dan menjalankan program. Operasi I/O: pengguna tidak dapat secara langsung mengakses sumber daya perangkat keras, sistem operasi harus menyediakan mekanisme untuk melakukan operasi I/O atas nama pengguna. Sistem manipulasi berkas dalah kemampuan program untuk operasi pada berkas (membaca, menulis, membuat, and menghapus berkas).
                 Komunikasi adalah pertukaran data/ informasi antar dua atau lebih proses yang berada pada satu komputer (atau lebih). Deteksi error adalah menjaga kestabilan sistem dengan mendeteksi "error", perangkat keras mau pun operasi.
Efesisensi penggunaan sistem:
           Resource allocator adalah mengalokasikan sumber-daya ke beberapa pengguna atau job yang jalan pada saat yang bersamaan.
           Proteksi menjamin akses ke sistem sumber daya dikendalikan (pengguna dikontrol aksesnya ke sistem).
           Accounting adalah merekam kegiatan pengguna, jatah pemakaian sumber daya (keadilan atau kebijaksanaan).

3.          Antarmuka
Sistem operasi menyediakan berbagai fasilitas yang membantu programmer dalam membuat program seperti editor. Walaupun bukan bagian dari sistem operasi, tapi layanan ini diakses melalui sistem operasi.

4.          Operasi Masukan/Keluaran
Pada dasarnya, tugas utama komputer adalah processing dan Masukan/Keluaran. Bahkan, sebagian besar waktunya digunakan untuk mengolah Masukan/Keluaran sedangkan processing hanya bersifat insidental. Jadi, pada konteks Masukan/Keluaran, peranan sistem operasi adalah mengatur dan mengontrol perangkat Masukan/Keluaran dan operasi Masukan/Keluaran. Perangkat Masukan/Keluaran sangat bervariasi. Oleh karena itu, bagaimana cara mengontrol perangkat-perangkat tersebut mendapat perhatian besar dalam organisasi komputer. Bayangkan, perangkat Masukan/Keluaran yang sangat banyak jumlahnya dan setiap perangkat memiliki fungsi dan kecepatan sendiri-sendiri, tentunya memerlukan metode yang berbeda pula. Oleh karena itu, dikenal klasifikasi perangkat Masukan/Keluaran menjadi perangkat blok dan perangkat karakter, walaupun ada perangkat yang tidak termasuk ke dalam satupun dari kedua golongan ini. Perangkat terhubung ke komputer melalui port, diatur oleh device controller dan berkomunikasi dengan prosesor dan perangkat lain melalui bus.
Perangkat berkomunikasi dengan prosesor melalui dua pendekatan yaitu memory mapped dan instruksi Masukan/Keluaran langsung. Bila prosesor ingin mengakses suatu perangkat, dia akan terus mengecek perangkat untuk mengetahui statusnya, apakah mengizinkan untuk diakses. Cara ini dilakukan berulang-ulang yang disebut dengan polling. Sedangkan bila perangkat ingin memberitahu prosesor ketika siap diakses, maka perangkat akan menggunakan interupsi. Kedua cara ini mempunyai kelebihan dan kelemahan masing-masing.
Adanya Direct Memory Access (DMA) dapat mengurangi beban CPU karena terjadinya transfer data antara perangkat dan memori tanpa melalui CPU. Perbedaan detil untuk setiap alat akan dienkapsulasi pada modul kernel yang disebut device driver. Sedangkan untuk mengetahui waktu dan lama suatu proses digunakan clock dan timer.
Program yang sedang dijalankan kadang kala membutuhkan Masukan/Keluaran. Untuk efisiensi dan keamanan, pengguna biasanya tidak bisa mengatur piranti masukan/keluaran secara langsung, untuk itulah sistem operasi harus menyediakan mekanisme dalam melakukan operasi masukan/keluaran.

5.          Manipulasi Sistem Berkas
Program harus membaca dan menulis berkas, dan kadang kala juga harus membuat dan menghapus berkas.
Sebuah berkas adalah jenis data abstrak. Untuk mendefinisikan berkas secara tepat, kita perlu melihat operasi yang dapat dilakukan pada berkas tersebut. Sistem operasi menyediakan system calls untuk membuat, membaca, menulis, mencari, menghapus, dan sebagainya.
Berikut dapat kita lihat apa yang harus dilakukan sistem operasi pada keenam operasi dasar pada berkas.
•      Membuat sebuah berkas
Ada dua cara dalam membuat berkas:  Pertama, tempat baru di dalam system berkas harus di alokasikan untuk berkas yang akan dibuat. Kedua, sebuah direktori harus mempersiapkan tempat untuk berkas baru, kemudian direktori tersebut akan mencatat nama berkas dan lokasinya pada sistem berkas.
•      Menulis pada sebuah berkas: Untuk menulis pada berkas, kita menggunakan system call beserta nama berkas yang akan ditulisi dan informasi apa yang akan ditulis pada berkas. Ketika diberi nama berkas, sistem mencari ke direktori untuk mendapatkan lokasi berkas. Sistem juga harus menyimpan penunjuk tulis pada berkas dimana penulisan berikut akan ditempatkan. Penunjuk tulis harus diperbaharui setiap terjadi penulisan pada berkas.
•      Membaca sebuah berkas: Untuk dapat membaca berkas, kita menggunakan system call beserta nama berkas dan di blok memori mana berkas berikutnya diletakkan. Sama seperti menulis, direktori mencari berkas yang akan dibaca, dan sistem menyimpan penunjuk baca pada berkas dimana pembacaan berikutnya akan terjadi. Ketika pembacaan dimulai, penunjuk baca harus diperbaharui. Sehingga secara umum, suatu berkas ketika sedang dibaca atau ditulis, kebanyakan sistem hanya mempunyai satu penunjuk, baca dan tulis menggunakan penunjuk yang sama, hal ini menghemat tempat dan mengurangi kompleksitas sistem.
•      Menempatkan kembali sebuah berkas: Direktori yang bertugas untuk mencari berkas yang bersesuaian, dan mengembalikan lokasi berkas pada saat itu. Menempatkan berkas tidak perlu melibatkan proses Masukan/Keluaran. Operasi sering disebut pencarian berkas.
•      Menghapus sebuah berkas: Untuk menghapus berkas kita perlu mencari berkas tersebut di dalam direktori. Setelah ditemukan kita membebaskan tempat yang dipakai berkas tersebut (sehingga dapat digunakkan oleh berkas lain) dan menghapus tempatnya di direktori.
•      Memendekkan berkas: Ada suatu keadaan dimana pengguna menginginkan atribut dari berkas tetap sama tetapi ingin menghapus isi dari berkas tersebut. Fungsi ini mengizinkan semua atribut tetap sama tetapi panjang berkas menjadi nol, hal ini lebih baik dari pada memaksa pengguna untuk menghapus berkas dan membuatnya lagi.
Enam operasi dasar ini sudah mencakup operasi minimum yang di butuhkan. Operasi umum lainnya adalah menyambung informasi baru di akhir suatu berkas, mengubah nama suatu berkas, dan lain-lain.
Operasi dasar ini kemudian digabung untuk melakukan operasi lainnya. Sebagai contoh misalnya kita menginginkan salinan dari suatu berkas, atau menyalin berkas ke peralatan Masukan/Keluaran lainnya seperti printer, dengan cara membuat berkas lalu membaca dari berkas lama dan menulis ke berkas yang baru.
Hampir semua operasi pada berkas melibatkan pencarian berkas pada direktori. Untuk menghindari pencarian yang lama, kebanyakan sistem akan membuka berkas apabila berkas tersebut digunakan secara aktif. Sistem operasi akan menyimpan tabel kecil yang berisi informasi semua berkas yang dibuka yang disebut "tabel berkas terbuka". Ketika berkas sudah tidak digunakan lagi dan sudah ditutup oleh yang menggunakan, maka sistem operasi mengeluarkan berkas tersebut dari tabel berkas terbuka.
Beberapa sistem terkadang langsung membuka berkas ketika berkas tersebut digunakan dan otomatis menutup berkas tersebut jika program atau pemakainya dimatikan. Tetapi pada sistem lainnya terkadang membutuhkan pembukaan berkas secara tersurat dengan system call (open) sebelum berkas dapat digunakan.
Implementasi dari buka dan tutup berkas dalam lingkungan dengan banyak perngguna seperti UNIX, lebih rumit. Dalam sistem seperti itu pengguna yang membuka berkas mungkin lebih dari satu dan pada waktu yang hampir bersamaan. Umumnya sistem operasi menggunakan tabel internal dua level. Ada
tabel yang mendata proses mana saja yang membuka berkas tersebut, kemudian tabel tersebut menunjuk ke tabel yang lebih besar yang berisi informasi yang berdiri sendiri seperti lokasi berkas pada disk, tanggal akses dan ukuran berkas.
Biasanya tabel tersebut juga memiliki data berapa banyak proses yang
membuka berkas tersebut. Jadi, pada dasarnya ada beberapa informasi yang terkait dengan pembukaan berkas yaitu:
           Penunjuk Berkas: Pada sistem yang tidak mengikutkan batas berkas sebagai bagian dari system call baca dan tulis, sistem tersebut harus mengikuti posisi dimana terakhir proses baca dan tulis sebagai penunjuk. Penunjuk ini unik untuk setiap operasi pada berkas, maka dari itu harus disimpan terpisah dari atribut berkas yang ada pada disk.
           Penghitung berkas yang terbuka: Setelah berkas ditutup, sistem harus mengosongkan kembali tabel berkas yang dibuka yang digunakan oleh berkas tadi atau tempat di tabel akan habis. Karena mungkin ada beberapa proses yang membuka berkas secara bersamaan dan sistem harus menunggu sampai berkas tersebut ditutup sebelum mengosongkan tempatnya di tabel. Penghitung ini mencatat banyaknya berkas yang telah dibuka dan ditutup, dan menjadi nol ketika yang terakhir membaca berkas menutup berkas tersebut barulah sistem dapat mengosongkan tempatnya di tabel.
           Lokasi berkas pada disk: Kebanyakan operasi pada berkas memerlukan sistem untuk mengubah data yang ada pada berkas. Informasi mengenai lokasi berkas pada disk disimpan di memori agar menghindari banyak pembacaan pada disk untuk setiap operasi. Beberapa sistem operasi menyediakan fasilitas untuk memetakan berkas ke dalam memori pada system memori virtual. Hal tersebut mengizinkan bagian dari berkas ditempatkan pada suatu alamat di memori virtual. Operasi baca dan tulis pada memori dengan alamat tersebut dianggap sebagai operasi baca dan tulis pada berkas yang ada di alamat tersebut. Menutup berkas mengakibatkan semua data yang ada pada alamat memori tersebut dikembalikan ke disk dan dihilangkan dari memori virtual yang digunakan oleh proses.

6.          Komunikasi
          Kadang kala sebuah proses memerlukan informasi dari proses lain. Ada dua cara umum dimana komunikasi dapat dilakukan. Komunikasi dapat terjadi antara proses dalam satu komputer, atau antara proses yang berada dalam komputer yang berbeda tetapi dihubungkan oleh jaringan komputer. Komunikasi dapat dilakukan dengan share-memory atau message-passing, dimana sejumlah informasi dipindahkan antara proses oleh sistem operasi.

7.          Deteksi Error
Sistem operasi harus selalu waspada terhadap kemungkinan error. Error dapat terjadi di CPU dan memori perangkat keras, masukan/keluaran, dan di dalam program yang dijalankan pengguna. Untuk setiap jenis error sistem operasi harus bisa mengambil langkah yang tepat untuk mempertahanan jalannya proses komputasi, misalnya dengan menghentikan jalannya
program, mencoba kembali melakukan operasi yang dijalankan, atau melaporkan kesalahan yang terjadi agar pengguna dapat mengambil langkah selanjutnya.
Disamping pelayanan di atas, terdapat juga layanan-layanan lain yang bertujuan untuk mempertahankan efisiensi sistem itu sendiri. Layanan tambahan itu yaitu:
•      Alokasi Sumber Daya:  Ketika beberapa pengguna menggunakan sistem atau beberapa program dijalankan secara bersamaan, sumber daya harus dialokasikan bagi masing-masing pengguna dan program tersebut.
•      Accounting:  Kita menginginkan agar jumlah pengguna yang menggunakan sumber daya, dan jenis sumber daya yang digunakan selalu terjaga. Untuk itu maka diperlukan suatu perhitungan dan statistik. Perhitungan ini diperlukan bagi seseorang yang ingin merubah konfigurasi system untuk meningkatkan pelayanan.
•      Proteksi:  Layanan proteksi memastikan bahwa segala akses ke sumber daya terkontrol; dan tentu saja keamanan terhadap gangguan dari luar sistem tersebut. Keamanan bisa saja dilakukan dengan terlebih dahulu mengindentifikasi pengguna. Ini bisa dilakukan dengan meminta password bila ingin menggunakan sumber daya.

b.      Antarmuka