Waktu-berbagi jadwal tugas sistem operasi untuk penggunaan yang efisien dari sistem dan juga dapat mencakup akuntansi untuk alokasi biaya waktu prosesor, penyimpanan massa, cetak, dan sumber daya lainnya.
Sistem Operasi secara umum terdiri dari beberapa bagian:
- Mekanisme Boot, yaitu meletakkan kernel ke dalam memory.
- Kernel, yaitu inti dari sebuah Sistem Operasi.
- Command Interpreter atau shell, yang bertugas membaca input dari pengguna.
- Pustaka-pustaka, yaitu yang menyediakan kumpulan fungsi dasar dan standar yang dapat dipanggil oleh aplikasi lain.
- Driver untuk berinteraksi dengan hardware eksternal, sekaligus untuk mengontrol mereka.
Sistem Operasi mempunyai beberapa Fungsi utama antara lain:
- Mengelola sumber daya terkait dengan pengendalian perangkat lunak sistem/perangkat lunak aplikasi yang sedang dijalankan. Sebagai contoh komponen perangkat keras pada komputer yaitu CPU, memori utama, alat input/output.
- Mempersiapkan agar program aplikasi dapat berinteraksi dengan perangkat keras secara konsisten dan stabil tanpa harus mengetahui secara detil perangkat keras.
- melakukan pengelolaan proses mencakup penyiapan, penjadwalan, dan pemantauan proses program yang sedang dijalankan.
- melakukan pengelolaan data pengendalian terhadap data masukan/keluaran.
Komponen Inti Sistem Operasi :
manajemen proses,
manajemen memori utama,
manajemen berkas,
manajemen sistem I/O,
manajemen penyimpanan sekunder,
sistem proteksi,
jaringan dan
Command-Interpreter System.
Berikut saya akan menjelaskan satu persatu komponen Inti Sistem Operasi. Diantaranya :
Manajemen Proses
Proses adalah keadaan ketika sebuah program sedang di eksekusi. Sebuah proses membutuhkan beberapa sumber daya untuk menyelesaikan tugasnya. sumber daya tersebut dapat berupa CPU time, memori, berkas-berkas, dan perangkat-perangkat I/O. Sistem operasi bertanggung jawab atas aktivitas-aktivitas yang berkaitan dengan manajemen proses seperti:
Pembuatan dan penghapusan proses pengguna dan sistem proses.
Menunda atau melanjutkan proses.
Menyediakan mekanisme untuk proses sinkronisasi.
Menyediakan mekanisme untuk proses komunikasi.
Menyediakan mekanisme untuk penanganan deadlock.
Manajemen Memori Utama
Memori utama atau lebih dikenal sebagai memori adalah sebuah array yang besar dari word atau byte, yang ukurannya mencapai ratusan, ribuan, atau bahkan jutaan. Setiap word atau byte mempunyai alamat tersendiri. Memori Utama berfungsi sebagai tempat penyimpanan yang akses datanya digunakan oleh CPU atau perangkat I/O. Memori utama termasuk tempat penyimpanan data yang sementara (volatile), artinya data dapat hilang begitu sistem dimatikan. Sistem operasi bertanggung jawab atas aktivitas-aktivitas yang berkaitan dengan manajemen
memori seperti:
Menjaga track dari memori yang sedang digunakan dan siapa yang menggunakannya.
Memilih program yang akan di-load ke memori.
Mengalokasikan dan meng-dealokasikan ruang memori sesuai kebutuhan.
Manajemen Penyimpanan Sekunder
Data yang disimpan dalam memori utama bersifat sementara dan jumlahnya sangat kecil. Oleh karena itu, untuk meyimpan keseluruhan data dan program komputer dibutuhkan secondarystorage yang bersifat permanen dan mampu menampung banyak data. Contoh dari secondarystorage adalah harddisk, disket, dll.
Sistem operasi bertanggung-jawab atas aktivitas-aktivitas yang berkaitan dengan diskmanagement seperti: free-space management, alokasi penyimpanan, penjadualan disk.
Manajemen Sistem I/O
Sering disebut device manager. Menyediakan "device driver" yang umum sehingga operasi I/O dapat seragam (membuka, membaca, menulis, menutup). Contoh: pengguna menggunakan operasi yang sama untuk membaca berkas pada hard-disk, CD-ROM dan floppy disk. Komponen Sistem Operasi untuk sistem I/O:
Buffer: menampung sementara data dari/ ke perangkat I/O.
Spooling: melakukan penjadualan pemakaian I/O sistem supaya lebih efisien (antrian dsb.).
Menyediakan driver untuk dapat melakukan operasi "rinci" untuk perangkat keras I/O tertentu.
Manajemen Berkas
Berkas adalah kumpulan informasi yang berhubungan sesuai dengan tujuan pembuat berkas tersebut. Berkas dapat mempunyai struktur yang bersifat hirarkis (direktori, volume, dll.). Sistem operasi bertanggung-jawab:
Pembuatan dan penghapusan berkas.
Pembuatan dan penghapusan direktori.
Mendukung manipulasi berkas dan direktori.
Memetakan berkas ke secondary storage.
Mem-backup berkas ke media penyimpanan yang permanen (non-volatile).
Sistem Proteksi
Proteksi mengacu pada mekanisme untuk mengontrol akses yang dilakukan oleh program, prosesor, atau pengguna ke sistem sumber daya. Mekanisme proteksi harus:
membedakan antara penggunaan yang sudah diberi izin dan yang belum.
specify the controls to be imposed.
provide a means of enforcement.
Jaringan
Sistem terdistribusi adalah sekumpulan prosesor yang tidak berbagi memori atau clock. Tiap prosesor mempunyai memori sendiri. Prosesor-prosesor tersebut terhubung melalui jaringan komunikasi Sistem terdistribusi menyediakan akses pengguna ke bermacam sumber-daya sistem.
Increased data availability.
Enhanced reliability.
Computation speed-up.
Increased data availability.
Enhanced reliability.
Command-Interpreter System
Sistem Operasi menunggu instruksi dari pengguna (command driven). Program yang membaca instruksi dan mengartikan control statements umumnya disebut: control-card interpreter, commandline interpreter, dan UNIX shell. Command-Interpreter System sangat bervariasi dari satu sistem operasi ke sistem operasi yang lain dan disesuaikan dengan tujuan dan teknologi I/O devices yang ada. Contohnya: CLI, Windows, Pen-based (touch), dan lain-lain.
Kernel
Kernel merupakan inti dari sistem operasi yang terdiri dari device driver, data table, dan program yang memungkinkan user berinteraksi dengan perangkat keras. Kernel merupakan program yang berjalan setiap waktu dan mengatur layanan-layanan yang diberikan ke user. yang penting yang berada di kernel sedangkan fungsi yang lain ada dalam middleware, sehingga membuat kernel sangat ringkas dan arsitekturnya menjadi lebih modular. Dari awalnya Symbian OS merupakan sistem operasi 32-bit yang mendukung multitasking dan multithreading. Ukuran microkernel sekitar 5% dari keseluruhan sistem operasi, yang berkisar antara 500kB sampai 15MB tergantung pada ada tidaknya dukungan java dan aplikasi-aplikasi lain yang ikut diinstal. Pemisahan inti dan komponen lain membuat sistem sangat modular, yang akan meningkatkan portabilitas platform dan membuat proses upgrade dan perubahan platform lebih mudah dilakukan.
Ada 4 kategori kernel:
1. Monolithic kernel. Kernel yang menyediakan abstraksi perangkat keras yang kaya dan tangguh.
2. Microkernel. Kernel yang menyediakan hanya sekumpulan kecil abstraksi perangkat keras sederhana, dan menggunakan aplikasi-aplikasi yang disebut sebagai server untuk menyediakan fungsi-fungsi lainnya.
3. Hybrid (modifikasi dari microkernel). Kernel yang mirip microkernel, tetapi ia juga memasukkan beberapa kode tambahan di kernel agar ia menjadi lebih cepat.
4. Exokernel. Kernel yang tidak menyediakan sama sekali abstraksi hardware, tapi ia menyediakan sekumpulan pustaka yang menyediakan fungsi-fungsi akses ke perangkat keras secara langsung atau hampir-hampir langsung.
Fungsi kernel :
1. melayani bermacam program aplikasi untuk mengakses perangkat keras komputer secara aman.
2. Karena akses terhadap perangkat keras terbatas, sedangkan ada lebih dari satu program yang harus dilayani dalam waktu yang bersamaan, maka kernel juga bertugas untuk mengatur kapan dan berapa lama suatu program dapat menggunakan satu bagian perangkat keras tersebut. Hal tersebut dinamakan sebagai multiplexing.
3. membantu eksekusi aplikasi dan mendukungnya dengan fitur abstraksi hardware.
Suatu proses mendefinisikan seberapa porsi memory yang dapat di akses oleh suatu aplikasi. Pengaturan proses kernel harus memperhitungkan perangkat yang dibawa oleh hardware untuk perlindungan memory.
Untuk menjalankan aplikasi suatu kernel pertama kali harus menyediakan space address untuk aplikasi lalu men-load file yang berisi kode aplikasi ke dalam memory, mempersiapkan stack untuk program dan percabangan ke lokasi lain untuk program, dan kemudian baru memulai eksekusi program. Tanggung jawab Kernel termasuk mengelola sumber daya sistem (komunikasi antara hardware dan komponen software). Biasanya sebagai komponen dasar dari suatu sistem operasi, kernel dapat menyediakan lapisan abstraksi terendah-level untuk sumber daya (terutama prosesor dan perangkat Input Output) bahwa perangkat lunak aplikasi harus terkontrol untuk melakukan fungsinya. Kernel biasanya membuat fasilitas tersebut tersedia untuk proses aplikasi melalui inter-process communication mechanisms dan system calls.