Senin, 09 April 2012

Komponen Inti OS dan Fungsi Kernel

Pengertian

Sebuah sistem operasi (OS) adalah seperangkat program yang mengelola perangkat keras komputer sumber daya dan menyediakan layanan umum untuk aplikasi perangkat lunak . Sistem operasi adalah komponen penting dari perangkat lunak sistem dalam sistem komputer. Program aplikasi membutuhkan sebuah sistem operasi yang biasanya program terpisah, tetapi dapat dikombinasikan dalam sistem sederhana.

Time-sharing sistem operasi jadwal tugas untuk efisiensi penggunaan sistem dan juga dapat mencakup akuntansi untuk alokasi biaya waktu prosesor, penyimpanan massa, percetakan, dan sumber daya lainnya.

Untuk fungsi perangkat keras seperti input dan output dan alokasi memori , sistem operasi bertindak sebagai perantara antara program aplikasi dan perangkat keras komputer, walaupun kode aplikasi biasanya dieksekusi langsung oleh perangkat keras dan sering akan membuat sistem panggilan ke fungsi OS atau terganggu oleh itu. Sistem operasi ditemukan pada hampir semua perangkat yang berisi komputer-dari telepon seluler dan konsol video game untuk superkomputer dan server web .

Contoh populer sistem operasi modern termasuk Android , BSD , IOS , Linux , Mac OS X , Microsoft Windows , Windows Telepon , dan Z / OS . Semua ini, kecuali Windows dan Z / OS, berbagi akar di Unix .

Komponen

Komponen dari suatu sistem operasi semua ada untuk membuat bagian-bagian berbeda dari sebuah komputer bekerja sama. Semua perangkat lunak dari database keuangan untuk film editor-kebutuhan untuk pergi melalui sistem operasi untuk menggunakan perangkat keras, apakah itu yang sederhana seperti mouse atau keyboard atau kompleks seperti koneksi internet.

Kernel
Artikel utama: Kernel (komputasi)
"Kernel menghubungkan perangkat lunak aplikasi untuk perangkat keras dari sebuah komputer."

Dengan bantuan dari firmware dan driver perangkat , kernel menyediakan tingkat yang paling dasar dari kontrol atas semua perangkat keras komputer. Ia mengatur akses memori untuk program-program di RAM , menentukan program mana yang mendapatkan akses ke mana sumber daya perangkat keras, itu set up atau reset menyatakan operasi CPU untuk operasi optimal setiap saat, dan mengatur data untuk jangka panjang non-volatile penyimpanan dengan sistem file pada media seperti disk, kaset, flash memori, dll

Eksekusi program
Artikel utama: Proses (komputasi)

Sistem operasi menyediakan sebuah antarmuka antara program aplikasi dan perangkat keras komputer, sehingga program aplikasi dapat berinteraksi dengan perangkat keras hanya dengan mematuhi peraturan dan prosedur diprogram ke dalam sistem operasi. Sistem operasi juga satu set layanan yang menyederhanakan pengembangan dan pelaksanaan program aplikasi. Pelaksana program aplikasi melibatkan penciptaan proses oleh sistem operasi kernel yang memberikan ruang memori dan sumber daya lainnya, menetapkan prioritas untuk proses multi-tasking sistem, beban program kode biner ke memori, dan memulai eksekusi program aplikasi yang kemudian berinteraksi dengan pengguna dan dengan perangkat keras.

Interrupts
Artikel utama: Interrupt

Interupsi adalah pusat untuk sistem operasi, karena mereka menyediakan cara yang efisien untuk sistem operasi untuk berinteraksi dengan dan bereaksi terhadap lingkungannya. Alternatif - memiliki sistem operasi "menonton" berbagai sumber masukan bagi kegiatan (polling) yang memerlukan tindakan - dapat ditemukan dalam sistem yang lebih tua dengan sangat kecil tumpukan (50 atau 60 byte) tapi tidak biasa dalam sistem modern dengan tumpukan besar. Interrupt berbasis pemrograman langsung didukung oleh CPU yang paling modern. Interupsi menyediakan komputer dengan cara otomatis menyimpan konteks mendaftar lokal, dan menjalankan kode tertentu dalam menanggapi peristiwa. Bahkan komputer yang sangat dasar mendukung hardware interrupts, dan memungkinkan programmer untuk menentukan kode yang dapat dijalankan ketika peristiwa yang terjadi.

Ketika sebuah interrupt diterima, perangkat keras komputer secara otomatis menunda program apa pun yang sedang berjalan, statusnya menyimpan, dan menjalankan kode komputer sebelumnya yang terkait dengan interupsi, ini analog dengan menempatkan penunjuk di buku dalam menanggapi panggilan telepon. Dalam sistem operasi modern, interupsi akan ditangani oleh sistem operasi kernel . Interupsi dapat berasal baik dari perangkat keras komputer atau dari program berjalan.

Ketika sebuah perangkat keras memicu interupsi, kernel sistem operasi yang memutuskan bagaimana menghadapi acara ini, umumnya dengan menjalankan beberapa kode pengolahan. Jumlah menjalankan kode yang tergantung pada prioritas interrupt (misalnya: seseorang biasanya merespon alarm detektor asap sebelum menjawab telepon). Pengolahan hardware interrupts adalah tugas yang biasanya didelegasikan ke perangkat lunak yang disebut driver perangkat , yang dapat berupa bagian dari kernel sistem operasi, bagian dari program lain, atau keduanya. Device driver kemudian dapat menyampaikan informasi untuk sebuah program berjalan dengan berbagai cara.

Sebuah program juga dapat memicu interrupt ke sistem operasi. Jika sebuah program ingin mengakses hardware misalnya, dapat mengganggu sistem operasi kernel, yang menyebabkan kontrol untuk dilewati kembali 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 interrupt untuk mendapatkan perhatian kernel.

Mode
Artikel utama: modus Lindung dan modus Pengawas

"Privilege cincin untuk x86 tersedia dalam modus dilindungi . Sistem operasi menentukan proses berjalan dalam setiap mode."

CPU modern mendukung beberapa mode operasi. CPU dengan kemampuan ini menggunakan setidaknya dua mode: mode dilindungi dan supervisor mode . Modus pengawas digunakan 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 beroperasi dalam modus terproteksi, dan hanya dapat menggunakan perangkat keras dengan berkomunikasi dengan kernel, yang mengontrol segalanya dalam mode supervisor. CPU mungkin memiliki mode lain yang serupa dengan modus dilindungi juga, seperti mode virtual untuk meniru jenis prosesor yang lebih tua, seperti sebagai 16-bit prosesor pada 32-bit satu, atau 32-bit prosesor pada satu 64-bit.

Ketika komputer pertama dijalankan, secara otomatis bekerja modus supervisor . Program pertama untuk berjalan di komputer, sebagai BIOS atau EFI , bootloader , dan sistem operasi memiliki akses tak terbatas ke perangkat keras - dan ini diperlukan karena, menurut definisi, menginisialisasi lingkungan yang dilindungi hanya dapat dilakukan di luar satu. Namun, ketika sistem operasi melewati kontrol ke program lain, dapat menempatkan CPU ke modus dilindungi .

Dalam modus dilindungi , program mungkin memiliki akses ke yang lebih terbatas instruksi CPU. Sebuah program pengguna dapat meninggalkan modus dilindungi hanya oleh memicu interupsi, menyebabkan kontrol untuk dilewati kembali ke kernel . Dengan cara ini sistem operasi dapat mempertahankan kontrol eksklusif atas hal-hal seperti akses ke perangkat keras dan memori.

Istilah "mode sumber daya yang dilindungi" biasanya merujuk kepada satu atau lebih CPU register yang berisi informasi bahwa program berjalan tidak diperbolehkan untuk mengubah. Upaya untuk mengubah sumber daya ini umumnya menyebabkan beralih ke modus supervisor, dimana sistem operasi dapat menangani operasi ilegal program itu mencoba (misalnya, dengan membunuh program).

Manajemen memori
Artikel utama: manajemen memori

Antara lain, sebuah sistem operasi multiprogramming kernel harus bertanggung jawab untuk mengelola semua sistem memori yang sedang digunakan oleh program. Hal ini memastikan bahwa program tidak mengganggu memori sudah digunakan oleh program lain. Sejak program berbagi waktu, setiap program harus memiliki akses independen ke memori.

Memori manajemen koperasi, yang digunakan oleh banyak sistem operasi awal, mengasumsikan bahwa semua program menggunakan sukarela dari kernel manajer memori itu, dan tidak melebihi memori dialokasikan mereka. Sistem manajemen memori hampir tidak pernah terlihat lagi, karena program sering mengandung bug yang dapat menyebabkan mereka untuk melebihi memori mereka dialokasikan. Jika program gagal, dapat menyebabkan memori yang digunakan oleh satu atau lebih program lain menjadi terpengaruh atau ditimpa. Program jahat atau virus sengaja dapat mengubah memori program lain, atau dapat mempengaruhi kinerja dari sistem operasi itu sendiri. Dengan manajemen memori koperasi, hanya dibutuhkan satu program bertingkah crash sistem.

Proteksi memori memungkinkan kernel untuk membatasi akses sebuah proses untuk memori komputer. Berbagai metode perlindungan memori ada, termasuk memori segmentasi dan paging . Semua metode memerlukan beberapa tingkat dukungan hardware (seperti 80286 MMU), yang tidak ada di semua komputer.

Dalam kedua segmentasi dan paging, beberapa modus dilindungi register CPU untuk menentukan apa alamat memori harus memungkinkan sebuah program berjalan untuk mengakses. Upaya untuk mengakses alamat lainnya akan memicu interrupt yang akan menyebabkan CPU untuk masuk kembali ke modus pengawas , menempatkan kernel berkuasa. Hal ini disebut segmentasi pelanggaran atau Seg-V untuk jangka pendek, dan karena keduanya sulit untuk memberikan hasil yang bermakna untuk operasi semacam itu, dan karena biasanya suatu tanda dari program nakal, maka kernel akan resor umumnya ke terminating yang bersalah program, dan akan melaporkan kesalahan.

Windows 3.1-Me memiliki beberapa tingkat perlindungan memori, tetapi program dengan mudah bisa menghindari kebutuhan untuk menggunakannya. Sebuah kesalahan perlindungan umum akan diproduksi, menunjukkan segmentasi pelanggaran telah terjadi, namun sistem sering akan crash pula.

Virtual memory
Artikel utama: Virtual memory


"Banyak sistem operasi dapat "trik" program ke memori menggunakan tersebar di seluruh hard disk dan RAM seolah-olah itu adalah salah satu potongan yang berkesinambungan dari memori, yang disebut memori virtual."

Penggunaan memori virtual menangani (seperti Pager atau segmentasi) berarti kernel dapat memilih apa memori setiap program dapat menggunakan pada waktu tertentu, yang memungkinkan sistem operasi menggunakan lokasi memori yang sama untuk banyak tugas.

Jika sebuah program mencoba untuk mengakses memori yang tidak dalam jangkauan saat ini dari memori diakses, tapi tetap telah dialokasikan untuk itu, kernel akan terputus dengan cara yang sama karena akan jika program adalah untuk melebihi memori yang dialokasikan. (Lihat bagian tentang manajemen memori.) Pada UNIX jenis interupsi yang disebut sebagai kesalahan halaman .

Ketika kernel mendeteksi halaman kesalahan umumnya akan menyesuaikan rentang memori virtual dari program yang dipicu itu, pemberian itu akses ke memori diminta. Hal ini memberikan daya kernel diskresioner lebih di mana memori aplikasi tertentu yang disimpan, atau bahkan apakah ia telah benar-benar telah dialokasikan.

Dalam sistem operasi modern, memori yang diakses lebih jarang dapat disimpan sementara pada disk atau media lain untuk membuat ruang yang tersedia untuk digunakan oleh program lain. Ini disebut swapping , sebagai daerah memori dapat digunakan oleh beberapa program, dan apa yang area memori berisi dapat ditukarkan atau ditukar sesuai permintaan.

"Virtual memory" menyediakan programmer atau pengguna dengan persepsi bahwa ada jumlah yang jauh lebih besar RAM di komputer daripada benar-benar ada.

Multitasking
Artikel utama: Komputer multitasking dan Proses manajemen (komputasi)

Multitasking mengacu pada penyelenggaraan beberapa program komputer independen pada komputer yang sama; memberikan penampilan bahwa itu melakukan tugas pada waktu yang sama. Karena kebanyakan komputer dapat melakukan paling banyak satu atau dua hal pada satu waktu, ini biasanya dilakukan melalui time-sharing, yang berarti bahwa setiap program menggunakan bagian dari waktu komputer untuk mengeksekusi.

Sebuah sistem operasi kernel berisi sebuah software yang disebut scheduler yang menentukan berapa banyak waktu setiap program akan menghabiskan pelaksana, dan di mana keteraturan kontrol eksekusi harus diteruskan ke program. Kontrol akan diteruskan ke proses oleh kernel, yang memungkinkan akses program ke CPU dan memori. Kemudian, kontrol dikembalikan ke kernel melalui beberapa mekanisme, sehingga program lain dapat diperbolehkan untuk menggunakan CPU. Ini lewat apa yang disebut kontrol antara kernel dan aplikasi yang disebut konteks beralih .

Sebuah model awal yang diatur alokasi waktu untuk program disebut koperasi multitasking . Dalam model ini, ketika kontrol akan diteruskan ke program oleh kernel, mungkin mengeksekusi selama yang diinginkan sebelum eksplisit kembali kontrol ke kernel. Ini berarti bahwa program berbahaya atau rusak tidak hanya mencegah program lain dari menggunakan CPU, tetapi dapat menggantung seluruh sistem jika memasuki sebuah infinite loop .

Sistem operasi modern memperluas konsep preemption aplikasi ke device driver dan kode kernel, sehingga sistem operasi memiliki kontrol atas preemptive internal yang run-kali juga.

Filosofi pemerintahan preemptive multitasking adalah untuk memastikan bahwa semua program diberikan waktu yang teratur pada CPU. Ini berarti bahwa semua program harus dibatasi dalam berapa banyak waktu mereka diizinkan untuk dibelanjakan pada CPU tanpa terputus. Untuk melakukannya, kernel sistem operasi modern menggunakan sebuah interupsi waktunya. Sebuah modus dilindungi waktu diatur oleh kernel yang memicu kembali ke modus supervisor setelah waktu yang ditentukan telah berlalu. (Lihat di atas bagian pada Interrupts dan Operasi Dual Mode.)

Pada banyak sistem operasi single user koperasi multitasking sangat cukup, karena umumnya rumah komputer menjalankan sejumlah kecil program diuji dengan baik. Para AmigaOS adalah sebuah pengecualian, memiliki pre-emptive multitasking dari versi pertama. Windows NT merupakan versi pertama dari Microsoft Windows yang ditegakkan preemptive multitasking, tetapi tidak mencapai pasar pengguna rumah sampai Windows XP (karena Windows NT ditujukan untuk para profesional).

Disk akses dan sistem file
Artikel utama: sistem file virtual

"Filesystem memungkinkan pengguna dan program untuk menata dan mengurutkan file pada komputer, seringkali melalui penggunaan direktori (atau "folder")"

Akses ke data yang disimpan pada disk adalah fitur utama dari semua sistem operasi. Komputer menyimpan data pada disk menggunakan file , yang disusun dengan cara tertentu untuk memungkinkan untuk akses lebih cepat, keandalan yang lebih tinggi, dan untuk membuat lebih baik menggunakan keluar dari ruang yang tersedia drive. Cara khusus di mana file tersebut disimpan pada disk yang disebut sistem file , dan memungkinkan file memiliki nama dan atribut. Hal ini juga memungkinkan mereka untuk disimpan dalam sebuah hirarki direktori atau folder diatur dalam pohon direktori .

Awal sistem operasi umumnya didukung satu jenis disk drive dan hanya satu jenis sistem file. File sistem awal terbatas dalam kapasitas mereka, kecepatan, dan dalam jenis nama file dan struktur direktori mereka bisa menggunakan. Keterbatasan ini sering tercermin keterbatasan dalam sistem operasi dirancang untuk mereka, sehingga sangat sulit bagi sistem operasi untuk mendukung lebih dari satu sistem file.

Sementara banyak sistem operasi yang sederhana mendukung berbagai pilihan terbatas untuk mengakses sistem penyimpanan, sistem operasi seperti UNIX dan GNU / Linux mendukung sebuah teknologi yang dikenal sebagai sistem berkas virtual atau VFS. Suatu sistem operasi seperti UNIX mendukung beragam perangkat penyimpanan, tanpa desain atau file sistem , yang memungkinkan mereka untuk diakses umum melalui antarmuka pemrograman aplikasi (API). Hal ini membuat tidak perlu untuk program untuk memiliki pengetahuan tentang perangkat mereka mengakses. Sebuah VFS memungkinkan sistem operasi untuk menyediakan program dengan akses ke jumlah yang tidak terbatas dengan berbagai perangkat yang tak terbatas dari sistem file yang diinstal pada mereka, melalui penggunaan khusus perangkat driver dan driver sistem file.

Sebuah terhubung perangkat penyimpanan , seperti hard drive , diakses melalui device driver . Driver perangkat mengerti bahasa spesifik drive dan mampu menterjemahkan bahasa yang menjadi bahasa standar yang digunakan oleh sistem operasi untuk mengakses semua disk drive. Pada UNIX, ini adalah bahasa block device .

Ketika kernel memiliki device driver yang sesuai di tempat, kemudian dapat mengakses isi disk drive dalam format mentah, yang dapat mengandung satu atau lebih sistem file. Sebuah driver sistem file yang digunakan untuk menerjemahkan perintah yang digunakan untuk mengakses setiap sistem file tertentu ke dalam satu set standar perintah bahwa sistem operasi dapat digunakan untuk berbicara dengan semua sistem file. Program kemudian dapat menangani sistem file berdasarkan nama file, dan direktori / folder, yang terkandung dalam struktur hirarkis. Mereka dapat membuat, menghapus, membuka, dan menutup file, serta mengumpulkan berbagai informasi tentang mereka, termasuk izin akses, ukuran, ruang bebas, dan penciptaan dan tanggal modifikasi.

Berbagai perbedaan antara file sistem membuat mendukung semua sistem file yang sulit. Karakter diperbolehkan dalam nama file, sensitivitas kasus , dan adanya berbagai jenis file atribut membuat pelaksanaan antarmuka tunggal untuk setiap sistem file tugas yang menakutkan. Sistem operasi cenderung merekomendasikan menggunakan (dan begitu mendukung native) sistem file yang khusus dirancang untuk mereka, misalnya, NTFS di Windows dan ext3 dan ReiserFS di GNU / Linux. Namun, dalam praktiknya, drive pihak ketiga biasanya tersedia untuk memberikan dukungan untuk sistem file yang paling banyak digunakan di sebagian besar tujuan umum sistem operasi (misalnya, NTFS tersedia di GNU / Linux melalui NTFS-3g , dan ext2 / 3 dan ReiserFS tersedia dalam Windows melalui FS-driver dan rfstool ).

Dukungan untuk sistem file yang sangat bervariasi di antara sistem operasi modern, meskipun ada beberapa sistem file umum yang hampir semua sistem operasi termasuk dukungan dan driver untuk. Sistem operasi bervariasi pada dukungan file sistem dan di format disk mereka dapat diinstal pada. Pada Windows, setiap sistem file biasanya terbatas dalam aplikasi untuk media tertentu, misalnya, CD harus menggunakan ISO 9660 atau UDF , dan pada Windows Vista , NTFS adalah sistem berkas yang hanya sistem operasi dapat diinstal pada. Hal ini dimungkinkan untuk menginstal GNU / Linux ke berbagai jenis sistem file. Tidak seperti sistem operasi lain, GNU / Linux dan UNIX membiarkan sistem berkas untuk digunakan terlepas dari media akan disimpan dalam, apakah itu hard drive, disk (CD, DVD ...), USB flash drive, atau bahkan terkandung dalam file yang terletak pada sistem file lain.

Device driver
Artikel utama: Device driver

Sebuah device driver adalah jenis tertentu dari perangkat lunak 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 hardware pada, memberikan perintah untuk dan / atau menerima data dari perangkat, dan di ujung lainnya, interface yang diperlukan untuk operasi sistem dan aplikasi perangkat lunak. Ini adalah hardware-dependent khusus program komputer yang juga beroperasi spesifik sistem yang memungkinkan program lain, biasanya sistem operasi atau aplikasi paket perangkat lunak atau program komputer yang berjalan dibawah kernel sistem operasi, untuk berinteraksi secara transparan dengan perangkat keras, dan biasanya menyediakan mengganggu penanganan yang diperlukan diperlukan untuk setiap waktu tergantung kebutuhan yang diperlukan asynchronous hardware interfacing.
Tujuan desain kunci dari device driver adalah abstraksi . Setiap model perangkat keras (bahkan dalam kelas yang sama perangkat) adalah berbeda. Model-model baru juga dirilis oleh produsen yang memberikan kinerja lebih handal atau lebih baik dan model-model yang lebih baru sering dikontrol berbeda. Komputer dan sistem operasi mereka tidak dapat diharapkan untuk mengetahui bagaimana mengontrol setiap perangkat, baik sekarang dan di masa depan. Untuk mengatasi masalah ini, sistem operasi dasarnya mendikte bagaimana setiap jenis perangkat harus dikontrol. Fungsi device driver ini kemudian menerjemahkan sistem operasi mandat fungsi panggilan menjadi panggilan perangkat tertentu. Secara teori perangkat baru, yang dikendalikan dengan cara yang baru, harus berfungsi dengan benar jika driver yang cocok tersedia. Driver baru ini akan memastikan bahwa perangkat muncul beroperasi seperti biasa dari sudut sistem operasi pandang.
Dalam versi Windows sebelum Vista dan versi Linux sebelum 2.6, semua eksekusi pengemudi adalah koperasi, yang berarti bahwa jika driver memasukkan infinite loop akan membekukan sistem. Revisi yang lebih baru dari sistem operasi ini menggabungkan kernel preemption, di mana menyela kernel driver untuk memberikan tugas, dan kemudian memisahkan diri dari proses sampai menerima respon dari device driver, atau memberi tugas yang harus dilakukan.

Jenis

Real-time
Sebuah sistem operasi real-time adalah sistem operasi multitasking yang bertujuan untuk menjalankan aplikasi real-time. Real-time sistem operasi sering menggunakan algoritma penjadwalan khusus sehingga mereka dapat mencapai sifat deterministik perilaku. Tujuan utama dari sistem real-time operasi adalah respon mereka cepat dan dapat diprediksi terhadap peristiwa. Mereka memiliki desain-event atau time-sharing dan sering aspek dari keduanya. Sebuah switch sistem-event antara tugas-tugas berdasarkan prioritas atau kejadian eksternal sedangkan time-sharing sistem operasi beralih tugas berdasarkan interupsi jam.

Multi-user
Sebuah sistem operasi multi-user memungkinkan beberapa pengguna untuk mengakses sistem komputer secara bersamaan. Time-sharing sistem dapat diklasifikasikan sebagai sistem multi-user karena mereka memungkinkan akses beberapa pengguna ke komputer melalui berbagi waktu. Sistem operasi single-user, karena bertentangan dengan sistem operasi multi-user, dapat digunakan oleh pengguna tunggal pada suatu waktu. Mampu menggunakan beberapa account pada sistem operasi Windows tidak membuatnya menjadi sistem multi-user. Sebaliknya, hanya administrator jaringan adalah pengguna nyata. Tapi untuk sistem operasi mirip Unix, adalah mungkin untuk dua pengguna untuk login pada satu waktu dan kemampuan ini dari OS membuatnya menjadi sistem operasi multi-user.

Multi-tasking vs Single-tasking
Ketika hanya satu program yang diperbolehkan untuk berjalan pada satu waktu, sistem ini dikelompokkan dalam sistem single-tasking. Namun, ketika sistem operasi memungkinkan pelaksanaan beberapa tugas pada satu waktu, itu diklasifikasikan sebagai sistem operasi multi-tasking. Multi-tasking dapat dari dua jenis: pre-emptive atau koperasi. Dalam pre-emptive multitasking, slot operasi irisan sistem waktu CPU dan mendedikasikan satu untuk setiap program. Unix seperti sistem operasi seperti Solaris dan dukungan Linux pre-emptive multitasking, seperti halnya AmigaOS . Koperasi multitasking dicapai dengan mengandalkan setiap proses untuk memberikan waktu ke proses lainnya dengan cara yang ditetapkan. 16-bit versi Microsoft Windows yang digunakan koperasi multi-tasking. 32-bit versi, Windows NT dan Win9x, digunakan pre-emptive multi- -tasking. Mac OS sebelum OS X digunakan untuk mendukung koperasi multitasking.

Terdistribusi
Sebuah sistem operasi didistribusikan mengelola sekelompok komputer independen dan membuat mereka tampaknya satu komputer. Perkembangan jaringan komputer yang dapat terhubung dan berkomunikasi satu sama lain memunculkan komputasi terdistribusi. Perhitungan terdistribusi dilakukan pada lebih dari satu mesin. Ketika komputer dalam kerja kelompok dalam kerja sama, mereka membuat sebuah sistem terdistribusi.

Tertanam
Tertanam sistem operasi yang dirancang untuk digunakan dalam sistem komputer embedded. Mereka dirancang untuk beroperasi pada mesin kecil seperti PDA dengan otonomi kurang. Mereka mampu beroperasi dengan jumlah terbatas sumber daya. Mereka sangat kompak dan sangat efisien dengan desain. Windows CE dan Minix 3 adalah beberapa contoh dari sistem operasi tertanam.

Kernel

Dalam sains komputer , kernel merupakan inti dari sistem operasi yang mengatur penggunaan memori / memori, perangkat masukan dan keluaran, proses-proses, penggunaan fail pada sistem file dan lain-lain. Kernel juga menyediakan sekumpulan layanan yang digunakan untuk mengakses kernel yang disebut system call. System call ini digunakan untuk mengimplementasikan berbagai layanan yang diberikan oleh sistem operasi. Program sistem dan semua program-program lainnya yang dijalankan di atas kernel disebut user mode. Kernel Linux terdiri dari beberapa bagian penting, seperti: manajemen proses, manajemen memori, driver hardware, driver sistem file, manajemen jaringan dan lain-lain. Namun bagian yang terpenting ialah manajemen proses dan manajemen memori . Manajemen memori meliputi penggunaan memori, daerah pertukaran, bagian-bagian kernel dan untuk cache penimbal (buffer cache). Manajemen proses menangani penggunaan proses-proses dan penjadwalan proses. Pada bagian dasar kernel ada driver perangkat keras untuk setiap jenis perangkat keras komputer yang didukung. Fungsi-fungsi kernel

1. Manajemen proses
Tugas utama sebuah system operasi kernel adalah memungkinkan aplikasi yang lain untuk berjalan dan mendukung mereka dengan fitur-fitur tambahan, seperti pengabstrakan perangkat keras, untuk menjalan proses, kernel harus mengunduh filenya ke memori, menyediakan stack untuk program dan pergi ke lokasi yang diberikan di dalam program, ini memulai perjalanan sebuah program, cara ini disebut scheduling. Dalam sistem beberapa kerja, kernel dasarnya akan memberikan setiap program sedikit waktu dan mengubah dari proses ke proses dengan cepat dengan itu ia akan muncul kepada pengguna jika proses ini dilakukan secara terus menerus. Kernel harus juga menyediakan proses ini untuk berkomunikasi, ini dikenal sebagai inter-process communication. Ini kemungkinan ada multipemprosesan yang mendukung kernel tersebut.

2. Manajemen memori
Kernel memiliki akses dalam memori sistem dan menyediakan cara-cara untuk mengizinkan Userland program untuk mengakses memori ini dengan selamat. Cara pertama untuk mengelola memori adalah virtual addressing, biasanya arsip dengan halaman atau segmentation. Virtual addressing memungkinkan kernel untuk memberikan alamat fisik yang muncul sebagai alamat yang lain yaitu virtual address, ini memungkinkan setiap program mempercayai ia hanya satu program (bagian dari kernel) yang berjalan , dan ini mencegah aplikasi dari bertabrakan satu sama lain.

3. Manajemen perangkat
Dalam petunjuk untuk melakukan sesuatu tugas, kernel perlu untuk mengakses berbagai perangkat yang bersambungan di dalam komputer, misalnya, dalam perintah untuk menampilkan pengguna apa-apa saja, driver monitor perlu untuk muncul, perangkat ini dapat dikontrol melalui driver, di mana ia harus dibuat oleh pengembang dan / atau disediakan oleh produsen sesuatu perangkat tersebut.

Manajer perangkat pertamanya akan melakukan revisi keatas bus perangkat keras yang berbeda (seperti USB, PCI), dalam arahan unruk mendeteksi semua perangkat yang telah dipasang dan kemudian menemukan driver yang sesuai, setelah ini, semuanya tergantung pada jenis kernel dan desain kernel.

4. Sistem panggilan
Dalam petunjuk untuk menyediakan kerja yang berguna, program Userland harus memiliki akses ke semua layanan yang disediakan oleh kernel. Ini dilakukan secaar berbeda oleh kernel yang berbeda, tetapi harus disediakan oleh C library, dimana ia mengubah kelemahan semua system panggilan, apakah diberikan atau melalui memori bersama.

5. Shell
Shell adalah perangkat lunak atau aplikasi yang menjadi alat untuk komunikasi antara pangguna untuk berhubungan dengan sistem operasi, shella akan membaca apa saja yang dimasukkan oleh pengguna dan memahaminya sebagai perintah untuk menjalankan perangkat lunak lain, memanipulasi file, dan memberikan output. Shell juga dikenal sebagai command line interface

Ada berbagai shell untuk Unix / Linux . Korn shell atau POSIX shell adalah shell yang biasa di kebanyakan jenis unix atau linux.

Peringkat kernel dalam sistem komputer

Kedudukkan kernel pada sistem komputer adalah pada root directory yang mengandung kedua boot program dan file yang mengandung kernel untuk sistem. Kernel biasanya menpunyai berbagai nama, berbeda dari produsen mesin antara satu sama lain, tetapi, biasanya memiliki kata nix agar pengguna dapat mencarinya dengan wildcard karakter.

Sebagai contoh:

ls / * nix *

-Rwxr - 1 root 1558734 Sep 24 1992 / vmunix

Kesimpulan
Kernel adalah inti OS (Operating System), berikut ini adalah bagan mengenai cara bekerjanya kernel didalam komputer:

0 komentar:

Posting Komentar