Table of Contents - E

advertisement
Table of Contents
Komponen Sistem Operasi...................................................................................................................2
Kernel...............................................................................................................................................2
Eksekusi Program............................................................................................................................2
Interupsi...........................................................................................................................................2
Mode................................................................................................................................................3
Manajemen Memory........................................................................................................................4
Memory Virtual................................................................................................................................5
Multitasking.....................................................................................................................................6
Device driver....................................................................................................................................9
Networking....................................................................................................................................10
Security..........................................................................................................................................11
User interface.................................................................................................................................12
2
Komponen Sistem Operasi
Komponen sistem operasi semua ada untuk membuat bagian-bagian yang berbeda dari
komputer bekerja sama. Semua perangkat lunak pengguna harus melalui sistem operasi untuk
menggunakan perangkat keras, apakah itu sederhana seperti mouse atau keyboard atau serumit
komponen internet.
Kernel
Kernel menghubungkan perangkat lunak aplikasi ke perangkat keras komputer. Dengan
bantuan firmware device driver, kernel menyediakan tingkat yang paling dasar untuk mengontrol
semua perangkat keras komputer. Ia mengatur akses memori untuk program di RAM,
menentukan program mana yang mendapatkan akses ke sumber daya perangkat keras, kernel
menset up atau me-reset kondisi operasi CPU agar beroperasi optimal setiap saat, dan mengatur
penyimpanan data untuk jangka panjang pada penyimpanan non-volatile dengan sistem file pada
media seperti disk, kaset, memori flash, dll.
Eksekusi Program
Sistem operasi menyediakan antarmuka antara program aplikasi dengan perangkat keras
komputer, sehingga program aplikasi dapat berinteraksi dengan perangkat keras hanya dengan
mematuhi peraturan dan prosedur yang sudah diprogram ke dalam sistem operasi. Sistem operasi
juga merupakan satu set layanan yang menyederhanakan pengembangan dan eksekusi
program-program aplikasi. Eksekusi program aplikasi melibatkan proses pembuatan oleh kernel
sistem operasi yang memberikan ruang memori dan sumber daya lainnya, menetapkan prioritas
untuk proses multi-tasking sistem, memasukan program kode biner ke memori, dan memulai
eksekusi program aplikasi yang kemudian berinteraksi dengan pengguna dan dengan perangkat
keras.
Interupsi
Interupsi sangat penting untuk sistem operasi, karena menyediakan cara yang efisien untuk
sistem operasi untuk berinteraksi dengan dan bereaksi terhadap lingkungannya. Pilihan lainnya menggunakan sistem operasi "mengawasi" berbagai sumber input akan kejadian (polling) agar
3
dilakukan tindakan - teknik ini dapat ditemukan di sistem lama dengan stack yang sangat kecil
(50 atau 60 byte) , teknik ini tidak biasa dalam sistem operasi modern dengan stack besar.
Interupsi berbasis pemrograman langsung didukung oleh CPU paling modern. Interrupts
memberikan komputer cara otomatis menyimpan konteks lokal register, dan menjalankan kode
tertentu dalam menanggapi kejadian. Bahkan komputer yang sangat sederhana saat ini
mendukung interupsi hardware, dan memungkinkan programmer untuk menentukan kode yang
akan dijalankan ketika kejadian berlangsung.
Ketika interupsi diterima, hardware komputer secara otomatis menunda semua program
yang sedang berjalan, statusnya disimpan, dan menjalankan kode komputer yang terkait dengan
interupsi, hal ini analog dengan menempatkan penunjuk di buku sebagai tanggapan terhadap
panggilan telepon. Dalam sistem operasi modern, interupsi ditangani oleh kernel sistem operasi.
Interupsi dapat berasal dari baik perangkat keras komputer atau dari program berjalan.
Ketika sebuah perangkat keras memicu interupsi, kernel sistem operasi akan memutuskan
bagaimana menangani kejadian ini, dengan menjalankan kode pemrosesan. Besarnya kode yang
dijalankan tergantung pada prioritas interupsi (misalnya: orang biasanya akan merespon alarm
detektor kebakaran sebelum menjawab telepon). Penanganan interupsi hardware biasanya
didelegasikan ke perangkat lunak device driver , yang mungkin salah satu bagian dari kernel
sistem operasi, atau bagian dari program lain, atau keduanya. Device driver kemudian dapat
menyampaikan informasi ke program yang berjalan dengan berbagai cara.
Sebuah program mungkin juga untuk memicu interupsi kepada sistem operasi. Jika sebuah
program ingin mengakses hardware misalnya, dia dapat menginterupsi kernel sistem operasi,
yang menyebabkan kontrol untuk dikembalikan ke kernel. Kernel kemudian akan memproses
permintaan tersebut. Jika sebuah program ingin sumber daya tambahan (atau ingin
menumpahkan sumber daya) seperti memori, ia akan memicu interupsi untuk mendapatkan
perhatian kernel.
Mode
Secara umum ada dua mode, yaitu, Mode Protected dan Mode Supervisor.
Privilege ring untuk x86 tersedia dalam protected mode . Sistem operasi menentukan
proses mana yang berjalan dalam masing-masing modus .
CPU modern mendukung beberapa mode operasi. CPU dengan kemampuan ini
menggunakan setidaknya dua mode: mode dan supervisor mode. Supervisor mode digunakan
4
oleh kernel sistem operasi untuk tugas-tugas tingkat rendah yang membutuhkan akses tidak
terbatas ke perangkat keras, seperti mengendalikan bagaimana memori ditulis dan dihapus, dan
komunikasi dengan perangkat seperti kartu grafis. Protected mode, sebaliknya, digunakan untuk
hampir segala sesuatu yang lain. Aplikasi yang beroperasi dalam protected mode, akan hanya
dapat menggunakan perangkat keras melalui komunikasi dengan kernel, yang mengontrol segala
sesuatu dalam mode supervisor. CPU mungkin ada mode lain yang serupa dengan proteded
mode , seperti mode virtual untuk mengemulasi jenis prosesor tua, seperti 16-bit prosesor pada
32-bit , atau 32-bit prosesor pada 64-bit.
Ketika komputer pertama kali dijalankan, maka secara otomatis berjalan dalam mode
supervisor. Beberapa program pertama yang berjalan di komputer, sebagai BIOS atau EFI,
bootloader, dan sistem operasi memiliki akses tak terbatas ke perangkat keras - dan ini
diperlukan karena, menurut definisi, Memulai lingkungan terlindungi hanya dapat dilakukan di
luar lingkungan tersebut. Namun, ketika sistem operasi melewati kontrol ke program lain, maka
dia dapat menset CPU ke mode protected.
Dalam mode protected, program mungkin memiliki akses ke set instruksi CPU yang
terbatas . Sebuah program pengguna dapat meninggalkan mode protected hanya dengan memicu
trigger, yang menyebabkan kontrol untuk diberikan kembali ke kernel. Dengan cara ini sistem
operasi dapat mempertahankan kontrol eksklusif atas hal-hal seperti akses ke hardware dan
memori.
Istilah "protected mode resource" biasanya merujuk kepada satu atau lebih register CPU,
yang berisi informasi bahwa program berjalan tidak diperbolehkan untuk mengubah. Upaya
untuk mengubah sumber daya ini umumnya menyebabkan berubah ke mode supervisor, dimana
sistem operasi dapat menangani operasi program ilegal (misalnya, dengan membunuh program).
Manajemen Memory
Antara lain, sebuah kernel sistem operasi multiprogramming harus bertanggung jawab
untuk mengelola semua sistem memori yang sedang digunakan oleh program. Hal ini
memastikan bahwa program ini tidak terganggu dengan memori yang sudah digunakan oleh
program lain. Karena program sharing waktu / time, setiap program harus memiliki akses
independen ke memori.
Cooperative Memory Management, digunakan oleh banyak awal sistem operasi, berasumsi
bahwa semua program menggunakan secara sukarela manajer memori kernel, dan tidak melebihi
5
alokasi memori mereka . Teknik sistem pengelolaan memori ini hampir tidak pernah terlihat lagi,
karena sering berisi program bug yang dapat menyebabkan mereka untuk mengalokasikan
memori melebihi alokasinya. Jika program gagal, dapat menyebabkan memori yang digunakan
oleh program lain menjadi terpengaruh atau ditimpa. Program jahat atau virus sengaja dapat
mengubah memori program lain, atau dapat mempengaruhi pengoperasian sistem operasi itu
sendiri. Dengan cooperative memory manajgement , dibutuhkan cukup satu program yang tidak
diinginkan untuk membuuat sistem crash.
Memori protection memungkinkan kernel untuk membatasi akses sebuah proses ke
memori komputer. Ada berbagai metode memori protection , termasuk segmentasi memori dan
paging. Semua metode memerlukan beberapa tingkat dukungan hardware (seperti 80286 MMU),
yang tidak selalu ada di semua komputer.
Baik dalam segmentasi dan paging, mode protected register tertentu di CPU akan
menentukan alamat memori yang harus diperbolehkan untuk di akses oleh sebuah program yang
berjalan . Upaya untuk mengakses alamat selain yang dialokasikan akan memicu interupsi yang
akan menyebabkan CPU untuk memasukkan kembali mode supervisor, menjadikan kernel yang
bertanggung jawab. Ini disebut pelanggaran segmentasi atau Seg-V untuk singkatnya, dan karena
ini biasanya sulit untuk memperoleh hasil yang berarti dari operasi yang salah ini, oleh karena itu
biasanya merupakan tanda adanya program yang salah, kernel umumnya akan mengambil jalan
untuk mengakhiri program, dan akan melaporkan kesalahan.
Di Windows, kesalahan segmentasi ini kadang akan muncul sebagai layar biru.
Memory Virtual
Banyak sistem operasi dapat "menipu" program dalam menggunakan memori tersebar di
seluruh hard disk dan RAM seolah-olah itu adalah salah satu potongan kontinu memori , yang
disebut memori virtual.
Penggunaan pengalamatan memori virtuall (seperti paging atau segmentasi) berarti kernel
dapat memilih memori apa yang digunakan setiap program pada waktu tertentu, yang
memungkinkan sistem operasi untuk menggunakan lokasi memori yang sama untuk berbagai
keperluan.
Jika sebuah program mencoba mengakses memory yang tidak adalah dalam range memori
yang dapat di akses , tapi tetap telah dialokasikan untuk program tersebut, kernel akan
diinterupsi dengan cara yang sama jika ada program melebihi memori yang dialokasikan. Di
6
UNIX interupsi jenis ini di sebut sebagai kesalahan halaman / page fault.
Ketika kernel mendeteksi kesalahan halaman umumnya akan menyesuaikan range virtual
memori bagi program yang memicunya, ia memberikan akses ke memori diminta. Hal ini
memberikan kekuatan pada kernel untuk menentukan di mana memori dari aplikasi tertentu
disimpan, atau apakah memori sudah dialoikasikan atau belum.
Dalam sistem operasi modern, memori yang diakses jarang diakses dapat disimpan
sementara pada disk atau media lain untuk membuat ruang yang tersedia agar dapat digunakan
oleh program lain. Ini disebut swapping, sebagai daerah memori yang dapat digunakan oleh
beberapa program, dan isi memori di daerah tersebut dapat ditukar (swap) sesuai permintaan.
"Virtual memory" memberikan programmer maupun pengguna akan persepsi bahwa ada
RAM dalam jumlah yang jauh lebih besar dari RAM yang sebenarnya ada di komputer.
Multitasking
Multitasking adalah menjalankan beberapa program komputer independen pada komputer
yang sama, memberikan kesan bahwa komputer melakukan tugas pada waktu yang sama. Karena
kebanyakan komputer hanya dapat melakukan paling banyak satu atau dua hal pada satu waktu,
multitasking biasanya dilakukan menggunakan time-sharing, yang berarti bahwa setiap program
menggunakan sebagian dari waktu komputer saat dieksekusi.
Sebuah kernel sistem operasi berisi software yang disebut scheduler yang menentukan
berapa banyak waktu setiap program yang dapat digunakan saat eksekusi, yang mana perintah
untuk kontrol eksekusi harus diberikan ke program. Kontrol diberikan ke sebuah process oleh
kernel, yang mengijinkan program untuk mengakses CPU atau memory. Kemudian, kontrol
dikembalikan ke kernel melalui sebuah mekanisme, sehingga program lain dapat diijinkan untuk
menggunakan CPU. Proses pemberian kontrol antara kernel dengan aplikasi biasanya di sebut
sebagai context switch.
Model awal yang diatur alokasi waktu untuk program disebut cooperative multitasking.
Dalam model ini, ketika kendali diberikan ke program oleh kernel, program dapat dijalankan
selama program inginkan sebelum secara eksplisit mengembalikan kontrol ke kernel. Ini berarti
bahwa program jahat atau program yang tidak berfungsi tidak hanya mencegah program lain dari
penggunaan CPU, tetapi bisa menggantung seluruh sistem jika memasuki infinite loop.
Sistem operasi modern memperluas konsep preemption aplikasi ke device driver dan kode
7
kernel, sehingga sistem operasi memiliki kontrol preemptive atas internal run-time juga.
Filosofi mengatur preemptive multitasking adalah untuk memastikan bahwa semua
program yang diberi waktu di CPU. Ini menunjukkan bahwa semua program harus dibatasi
dalam berapa banyak waktu mereka diizinkan untuk dihabiskan di CPU tanpa di interupsi. Untuk
mencapai hal ini, kernel sistem operasi modern menggunakan sebuah interupsi berjangka.
Sebuah protected mode timer diatur oleh kernel yang memicu untuk kembali ke mode supervisor
setelah waktu yang ditentukan telah berlalu.
Pada banyak sistem operasi single user cooperative multitasking cukup memadai, karena
umumnya home komputer (PC) menjalankan sejumlah program teruji baik. AmigaOS adalah
pengecualian, karena menggunakan pre-emptive multitasking dari versi pertama. Windows NT
merupakan versi pertama dari Microsoft Windows yang menerapkan preemptive multitasking,
tetapi tidak mencapai pasar pengguna rumah sampai Windows XP (sebab Windows NT ditujukan
pada profesional).
[edit]Akses Disk dan file system
Filesystem memungkinkan pengguna dan program untuk menata dan mengatur file pada
komputer, biasanya melalui penggunaan direktori (atau "folder")
Akses ke data yang tersimpan pada disk adalah fitur utama dari semua sistem operasi.
Komputer menyimpan data pada disk menggunakan file, yang terstruktur dengan cara tertentu
agar memungkinkan untuk mengakses dengan cepat, keandalan yang lebih tinggi, dan untuk
memaksimalkan penggunaan ruang yang tersedia pada disk. Cara khusus di mana file tersebut
disimpan pada disk yang disebut sistem file, dan memungkinkan file untuk memiliki nama dan
atribut. Hal ini juga memungkinkan mereka untuk disimpan dalam hirarki direktori atau folder
yang diatur dalam struktur direktori.
Sistem operasi awal umumnya mendukung satu jenis disk drive dan hanya satu jenis
sistem file. File System awal terbatas dalam kapasitas mereka, kecepatan, dan dalam jenis nama
file dan struktur direktori bisa mereka gunakan. Keterbatasan ini sering tercermin keterbatasan
dalam sistem operasi yang dirancang, sehingga sangat sulit bagi sebuah sistem operasi untuk
mendukung lebih dari satu sistem file.
Sementara banyak sistem operasi sederhana mendukung berbagai pilihan terbatas untuk
mengakses sistem penyimpanan, sistem operasi seperti UNIX dan Linux mendukung teknologi
yang dikenal sebagai Virtual File System atau VFS. Sebuah sistem operasi seperti UNIX
mendukung beragam perangkat penyimpanan, terlepas dari desain atau File System, yang
8
memungkinkan mereka untuk dapat diakses melalui Application Programming Interface (API)
yang sama. Hal ini membuatnya tidak perlu untuk program untuk memiliki pengetahuan tentang
perangkat mereka mengakses. Sebuah VFS memungkinkan sistem operasi untuk menyediakan
program dengan akses jumlah perangkat yang tidak terbatas dengan berbagai file sistem terinstall
yang tidak terbatas pada mereka, melalui penggunaan driver perangkat tertentu dan driver sistem
file.
Sebuah perangkat penyimpanan yang tersambung, seperti hard drive, diakses melalui
device driver yang sama. Driver driver memahami cara berkomunikasi dengan drive dan mampu
menterjemahkan bahasa yang menjadi bahasa standar yang digunakan oleh sistem operasi untuk
mengakses semua disk drive yang sama. Pada UNIX, ini adalah bahasa dari block device.
Ketika kernel memiliki driver driver yang tepat , maka ia dapat mengakses isi disk drive
dalam format mentah, yang mungkin berisi satu atau lebih File System. Sebuah driver sistem file
digunakan untuk menterjemahkan perintah yang digunakan untuk mengakses setiap sistem file
tertentu ke dalam satu set standar perintah yang sistem operasi dapat digunakan untuk berbicara
dengan semua file system. Program kemudian dapat menangani sistem file ini berdasarkan nama
file, dan direktori / folder, yang berada dalam struktur hirarkis. Mereka dapat membuat,
menghapus, membuka, dan menutup file, serta mengumpulkan berbagai informasi tentang
mereka, termasuk hak akses, ukuran, ruang bebas, dan tanggal pembuatan dan tanggal
modifikasi.
Berbagai perbedaan antara File System membuat dukungan untuk semua File System
menjadi sulit. Karakter yang diperbolehkan dalam nama file, huruf besar / huruf kecil, dan
adanya berbagai jenis atribut berkas membuat implementasi satu antarmuka untuk setiap file
system menjadi tugas yang menyulitkan. Sistem operasi cenderung untuk merekomendasikan
menggunakan (dan begitu mendukung native) file sistem yang dirancang khusus untuk mereka,
misalnya, NTFS di Windows dan ext3 dan ReiserFS di Linux. Namun, dalam prakteknya, ada
pihak ketiga yang menyediakan driver untuk memberikan dukungan untuk sistem file yang
paling banyak digunakan di sebagian besar sistem operasi (misalnya, NTFS tersedia di Linux
melalui NTFS-3g, dan ext2 / 3 dan ReiserFS tersedia di Windows melalui perangkat lunak pihak
ketiga).
Dukungan untuk sistem file sangat bervariasi di antara sistem operasi modern, meskipun
ada beberapa file system yang sama di hampir semua sistem operasi termasuk dukungan dan
driver. Sistem operasi bervariasi pada dukungan file sistem dan pada format disk tempat mereka
dapat diinstal. Pada Windows, setiap sistem berkas biasanya terbatas dalam aplikasi untuk media
9
tertentu, misalnya, CD harus menggunakan ISO 9660 atau UDF, dan pada Windows Vista, NTFS
adalah file system dimana sistem operasi dapat diinstal. Berbeda dengan Windows, sangat
mungkin untuk menginstal Linux ke berbagai jenis file sistem . Tidak seperti sistem operasi lain,
Linux dan UNIX membiarkan sistem berkas untuk digunakan terlepas dari media yang disimpan
dalam, apakah itu hard drive, disk (CD, DVD ...), USB flash drive, atau bahkan berada dalam
file terletak di sistem berkas lain.
Sumber
http://opensource.telkomspeedy.com/wiki/index.php/Sistem_Operasi
10
Device driver
Device Driver adalah perangkat lunak spesifik pada komputer yang dikembangkan untuk
memungkinkan interaksi dengan perangkat keras. Biasanya ini merupakan sebuah antarmuka
untuk berkomunikasi dengan perangkat, melalui bus komputer tertentu atau subsistem
komunikasi yang terhubung ke hardware , memberikan perintah untuk dan / atau menerima data
dari perangkat, dan di ujung lain, interface yang diperlukan untuk operasi sistem dan aplikasi
perangkat lunak. Ini adalah program komputer khusus yang tergantung hardware yang juga
untuk sistem operasi yang spesifik yang memungkinkan program lain, biasanya sistem operasi
atau aplikasi / perangkat lunak / program komputer yang berjalan dibawah kernel sistem operasi,
untuk berinteraksi secara transparan dengan perangkat keras, dan biasanya menyediakan
penanganan interupsi yang diperlukan yang diperlukan untuk hardware yang asinkroin dan
time-dependent.
Tujuan utama desain device driver adalah abstraksi. Setiap model perangkat keras (bahkan
dalam kelas perangkat yang sama ) berbeda. Model-model baru juga dikeluarkan oleh produsen
yang memberikan performa yang lebih handal / lebih baik dan model-model lebih baru sering
berbeda cara mengontrolnya . Komputer dan sistem operasi tidak dapat diharapkan untuk
mengetahui bagaimana untuk mengontrol setiap perangkat, baik sekarang maupun di masa
depan. Untuk mengatasi masalah ini, sistem operasi pada dasarnya akan mendikte bagaimana
cara setiap jenis perangkat harus dikontrol. Fungsi dari device driver untuk menterjemahkan
amanat dari sistem operasi menjadi fungsi panggilan untuk perangkat tertentu. Dalam teori
seharusnya perangkat baru, yang dikendalikan dengan cara baru, harus berfungsi dengan benar
jika driver yang cocok tersedia. Driver baru ini akan memastikan bahwa perangkat yang baru
muncul beroperasi seperti biasa dilihat dari sudut pandang sistem operasi.
Pada versi Windows sebelum Vista dan versi Linux sebelum 2.6, semua eksekusi driver
sifatnya adalah co-operative, yang berarti bahwa jika driver memasuki infinite loop akan
mem-freeze sistem. Revisi lebih baru dari sistem operasi menggabungkan preemption kernel,
dimana kernel menginterupsi driver untuk memberikan tugas, dan kemudian melepaskan diri
dari proses sampai menerima tanggapan dari device driver, atau memberi lebih banyak tugas
yang dapat dilakukan.
11
Networking
Saat ini sebagian besar sistem operasi mendukung berbagai protokol jaringan, perangkat
keras, dan aplikasi untuk menggunakannya. Ini berarti bahwa komputer yang menjalankan
sistem operasi berbeda dapat berpartisipasi dalam jaringan komputer untuk berbagi sumber daya
seperti komputasi, file, printer, dan scanner menggunakan koneksi kabel atau wireless. Jaringan
komputer pada dasarnya dapat memungkinkan sistem operasi komputer untuk mengakses
sumber daya dari komputer remote untuk mendukung fungsi yang sama seperti jika sumber daya
tersebut dihubungkan langsung ke komputer lokal. Ini mencakup segala sesuatu dari komunikasi
sederhana, hingga menggunakan file system jaringan atau bahkan sharing grafis komputer lain
atau perangkat keras suara. Beberapa layanan jaringan mengizinkan sumber daya dari komputer
yang akan diakses transparan, seperti SSH yang memungkinkan pengguna jaringan akses
langsung ke antarmuka baris text di komputer remote.
Jaringan client / server memungkinkan sebuah program pada komputer, yang disebut klien,
untuk berhubungan melalui jaringan ke komputer lain, yang disebut server. Server menawarkan
(atau host) berbagai layanan untuk komputer jaringan lainnya dan pengguna. Layanan ini
biasanya diberikan melalui port atau nomor jalur akses selain alamat jaringan dari server. Setiap
nomor port biasanya dikaitkan dengan satu program / aplikasi, yang bertanggung jawab untuk
menangani permintaan untuk port tersebut. Daemon, adalah program yang jalan di server, pada
saatnya dapat mengakses sumber daya perangkat keras lokal komputer yang dengan melewatkan
permintaan ke kernel sistem operasi.
Banyak sistem operasi mendukung satu atau lebih protokol jaringan milik vendor maupun
yang terbuka / open, misalnya, SNA untuk IBM sistem, DECnet pada sistem dari Digital
Equipment Corporation, dan Microsoft-spesifik protokol (SMB) pada Windows. Protokol khusus
untuk tugas-tugas tertentu mungkin juga didukung seperti NFS untuk akses file. Protokol seperti
esound, atau esd dapat dengan mudah diperluas melalui jaringan untuk menyediakan suara dari
aplikasi lokal, pada hardware sound sistem remote.
Internet adalah salah satu jenis protokol jaringan yang mempunyai standard terbuka yang
dapat dijalankan di berbagai sistem operasi. Standard Internet dibuat secara bersama / terbuka
oleh banyak pihak, dan dapat di akses melalui web dengan kata kunci "Request For Comment"
(RFC).
12
Security
Sebuah komputer yang aman tergantung pada sejumlah teknologi bekerja dengan baik.
Sebuah sistem operasi modern menyediakan akses ke sejumlah sumber daya yang tersedia untuk
perangkat lunak yang berjalan pada sistem, dan perangkat eksternal seperti jaringan melalui
kernel.
Sistem operasi harus mampu membedakan antara permintaan yang harus diperbolehkan
untuk diproses, dan lain-lain yang tidak harus diproses. Sementara beberapa sistem mungkin
hanya membedakan antara "previleged / istimewa" dan "non-privileged", sistem umumnya
memiliki bentuk identitas pemohon, seperti nama pengguna. Untuk menentukan identitas
mungkin ada proses authentikasi. Seringkali nama pengguna harus dikutip, dan username
masing-masing mungkin punya password. Metode authentikasi lain , seperti kartu magnetik atau
data biometric, mungkin digunakan sebagai gantinya. Dalam beberapa kasus, khususnya koneksi
dari jaringan, sumber daya dapat diakses tanpa authentikasi sama sekali (seperti membaca file
melalui sharing jaringan). Juga dicakup oleh konsep identitas pemohon adalah authorisasi;
layanan tertentu dan sumber daya diakses oleh pemohon sekali login ke sistem terikat ke salah
satu akun pengguna pemohon atau ke grup yang di konfigurasi terkait ke account pengguna
tersebut.
Selain model keamanan yang berbentuk mengijinkan / melarang , sebuah sistem dengan
tingkat keamanan yang tinggi juga akan menawarkan pilihan audit. Ini akan memungkinkan
pelacakan permintaan akses ke sumber daya (seperti, "siapa yang telah membaca file ini?").
Keamanan internal, atau keamanan dari program yang sedang berjalan hanya mungkin jika
semua permintaan yang mungkin berbahaya harus dilakukan melalui interupsi ke kernel sistem
operasi. Jika program langsung dapat mengakses hardware dan sumber daya, mereka tidak bisa
diamankan.
Keamanan eksternal melibatkan permintaan dari luar komputer, seperti login di konsol atau
beberapa jenis koneksi jaringan. Permintaan eksternal sering melewati device driver ke kernel
sistem operasi, di mana mereka dapat diteruskan ke aplikasi, maupun dilakukan secara langsung.
Keamanan sistem operasi telah lama menjadi perhatian karena data sangat sensitif yang ada di
komputer, baik yang bersifat komersial dan militer. Pemerintah Amerika Serikat Departemen
Pertahanan (DoD) mengusulkan Trusted Computer Kriteria Evaluasi Sistem (TCSEC) yang
merupakan standar yang menetapkan persyaratan dasar untuk menilai efektivitas keamanan. Hal
ini menjadi sangat penting bagi para pembuat sistem operasi, karena TCSEC ini digunakan untuk
13
mengevaluasi,
mengklasifikasi
dan
memilih
sistem
operasi
yang
dipercaya
untuk
dipertimbangkan untuk penyimpanan, pengolahan dan pengambilan informasi sensitif atau
rahasia.
Layanan jaringan meliputi banyak hal seperti file sharing, layanan printing, email, situs
web, dan protokol transfer file (FTP), sebagian besar yang dapat membahayakan keamanan. Di
garis depan keamanan perangkat keras yang dikenal sebagai firewall maupun intrusion
detection / prevention systems. Pada tingkat sistem operasi, ada sejumlah firewall perangkat
lunak yang tersedia, serta intrusion detection / prevention system. Sebagian besar sistem operasi
modern memasukan perangkat lunak firewall , yang diaktifkan secara default. Sebuah perangkat
lunak firewall dapat dikonfigurasi untuk mengizinkan atau menolak lalu lintas jaringan ke atau
dari suatu layanan atau aplikasi yang berjalan pada sistem operasi. Oleh karena itu, seseorang
dapat menginstal dan menjalankan layanan yang tidak aman, seperti Telnet maupun FTP, dan
tidak harus terancam oleh suatu pelanggaran keamanan karena firewall akan menolak semua lalu
lintas mencoba untuk terhubung ke layanan pada port tersebut.
Strategi alternatif adalah sistem operasi tidak menjalankan program pengguna sebagai
native code, melainkan mengemulasi prosesor atau menyediakan host untuk sistem berbasis code
seperti Java.
Keamanan internal sangat relevan untuk sistem multi-user, yang memungkinkan setiap
pengguna sistem untuk memiliki file pribadi yang mana pengguna lain tidak bisa mengutak-atik
atau membaca. Keamanan internal juga penting jika audit akan digunakan, karena program
berpotensi dapat melewati sistem operasi, termasuk melewati audit.
User interface
Setiap komputer yang akan dioperasikan oleh seorang individu memerlukan antarmuka
pengguna. Antarmuka pengguna biasanya disebut sebagai shell dan penting jika akan
mendukung interaksi dengan manusia . User interface melihat pada struktur direktori dan
layanan permintaan dari sistem operasi yang akan memperoleh data dari perangkat keras input,
seperti card reader, keyboard, mouse, dan permintaan layanan sistem operasi untuk menampilkan
prompt, pesan status, dan pada perangkat hardware output, seperti monitor video atau printer.
Dua bentuk yang paling umum dari antarmuka pengguna secara historis command line interface
(CLI), di mana perintah komputer mengetik baris demi baris, dan antarmuka grafis (GUI) yang
menampilkan tampilan visual.
14
Sebagian besar sistem komputer modern mendukung antarmuka grafis (GUI) , dan sering
memasukan GUI menjadi bagian dari sistem operasi tersebut. Dalam beberapa sistem komputer,
seperti implementasi semula dari Mac OS, GUI terintegrasi ke dalam kernel.
Secara teknis antarmuka grafis (GUI) bukan merupakan layanan sistem operasi,
menggabungkan dukungan untuk sebuah GUI ke kernel sistem operasi dapat membuka
kemungkinan agar GUI untuk lebih responsif dengan mengurangi jumlah konteks switch yang
diperlukan GUI untuk menjalankan fungsi tampilannya. Beberapa sistem operasi bersifat
modular, memisahkan subsistem grafis dari kernel dan sistem operasi. Pada 1980-an UNIX,
VMS dan banyak lainnya membangun sistem operasi dengan cara ini. Linux dan Mac OS X juga
dibangun dengan cara ini. Rilis Modern Microsoft Windows seperti Windows Vista menerapkan
subsistem grafis sebagian besar di user-space, namun subroutine menggambar grafis dalam versi
antara Windows NT 4.0 dan Windows Server 2003 ada sebagian besar dalam kernel. Windows
9x memiliki perbedaan yang sangat sedikit antara interface dan kernel.
Banyak sistem operasi komputer memungkinkan pengguna untuk menginstal atau
membuat antarmuka pengguna yang mereka inginkan. The X Window System dalam
hubungannya dengan GNOME maupun KDE Plasma Desktop adalah setup yang umum
ditemukan pada kebanyakan sistem GUI di Unix dan GUI di Unix-like (BSD, Linux, Solaris).
Sejumlah pengganti shell Windows telah dirilis untuk Microsoft Windows, yang menawarkan
alternatif untuk shell Windows , tapi shell itu sendiri tidak dapat dipisahkan dari Windows.
Banyak GUI di Unix berkembang dari waktu ke waktu, sebagian besar berasal dari X11.
Persaingan di antara berbagai vendor Unix (HP, IBM, Sun) menyebabkan fragmentasi yang
lebar, upaya untuk membakukan pada 1990-an menuju COSE dan CDE gagal karena berbagai
alasan, dan akhirnya dikalahkan dengan di-adopsinya GNOME dan K Desktop Environment.
Sebelum adanya toolkit & lingkungan desktop berbasis free software, Motif digunakan sebagai
toolkit / desktop (yang merupakan dasar bagi pengembangan CDE).
Graphical User Interface berkembang dari waktu ke waktu. Sebagai contoh, Windows
telah mengubah antarmuka pengguna nyaris setiap kali versi baru dari Windows keluar, dan di
samping itu, Mac OS GUI berubah secara dramatis dengan pengenalan Mac OS X pada tahun
1999.
Download