Senin, 21 Januari 2013

Misi SO


Cara Untuk Membuat Operating System

Cara Untuk Membuat Operating System - Tentukan OS yang ingin anda buat. Apakah itu adalah OS sepenuhnya mampu dengan GUI atau sesuatu yang lebih minimalis, Anda harus tahu kemana kamu akan memulai.

Targetkan apa platform prosesor sistem operasi akan mendukung. Jika Anda tidak yakin, yang terbaik adalah untuk target platform (32 bit) prosesor X86 sebagai kebanyakan komputer menggunakan prosesor platform yang X86. langkah kemudian Cara Untuk Membuat Operating System

Putuskan, apakah Anda lebih suka melakukan semuanya sendiri dari bawah ke atas, atau jika ada kernel lama Anda ingin membangun di atas. Linux dari Scratch adalah proyek bagi mereka yang ingin membangun sendiri distro Linux mereka.

Dan apakah anda ingin membuat dengan mengunakan terminal yang ada di sistem operasi linux yang anda punya . bila ingin membuat distro linux sendiri lewat terminal linux anda bisa mengunakan remastering.
langkah-langkah atau tutorialnya dapatkan di Remastering melalui terminal linux

Putuskan apakah Anda akan membuat boot loader Anda sendiri atau satu pra-dibuat seperti GRUB. Sementara coding boot loader Anda sendiri akan memberikan banyak pengetahuan tentang perangkat keras dan BIOS, mungkin membuat Anda kembali pada pemrograman dari kernel yang sebenarnya.

Meskipun dimungkinkan untuk membuat sebuah sistem operasi dalam bahasa seperti Pascal atau BASIC Anda akan lebih baik menggunakan C atau Majelis. Majelis mutlak diperlukan karena beberapa bagian penting dari sebuah sistem operasi memerlukannya. C + + berisi kata kunci yang perlu OS lain sepenuhnya dibangun untuk menjalankan. Jangan digunakan karena dapat mempengaruhi Cara Untuk Membuat Operating System

Mulai dari kecil. Mulailah dengan hal kecil seperti menampilkan teks dan menyela sebelum pindah ke hal-hal seperti manajemen memori dan multitasking.

Tentukan API Anda. Sementara ini jauh itu adalah ide yang baik untuk merencanakan ke depan. Sebuah API yang baik untuk memilih adalah POSIX, yang didokumentasikan dengan baik. Semua Unix memiliki minimal dukungan parsial untuk POSIX, sehingga akan menjadi sepele untuk program pelabuhan Unix untuk OS anda.

Langkah berikutnya dalam Cara Untuk Membuat Operating System Anda. Ada kernel monolitik dan micro kernels. Kernel monolitik menerapkan semua layanan di kernel, sedangkan micro kernels memiliki kernel kecil dikombinasikan dengan daemon pengguna mengimplementasikan layanan. Secara umum, kernel monolitik lebih cepat, tapi kernel mikro memiliki isolasi kesalahan lebih baik dan kehandalan.

Setelah pembangunan semua dilakukan, memutuskan apakah Anda ingin melepaskan kode sebagai Open source, atau kepemilikan

Jika Anda ingin cara yang mudah. Pertimbangkan Ubuntu remastersys, Fedora Revisor, X Lincah Custom, Puppy Remaster, PCLinuxOS mklivecd, SuSE Studio [1] dan KIWI SuSE. Namun, sistem operasi Anda membuat milik perusahaan yang memulai layanan tersebut terlebih dahulu. Meskipun Anda memiliki hak untuk mendistribusikannya secara bebas, mengubahnya dan menjalankannya pun yang Anda suka

POSIX

POSIX, singkatan dari Portable Operating System Interface for UNIX, adalah sebuah standar yang dicetuskan oleh Institute of Electical and Electronics Engineers (IEEE) yang mendefinisikan sekumpulan layanan dalam sistem operasi. Program-program yang mendukung standar POSIX dapat secara mudah di-port dari satu sistem ke sistem lainnya. POSIX menjadi basis dalam layanan sistem operasi UNIX. Meskipun demikian, POSIX juga dibuat demikian agar sistem operasi lainnya dapat mengimplementasikan layanan POSIX. Standardisasi ini dilakukan sejak tahun 1985. Nomor standar formalnya adalah IEEE 1003 dan kemudian menjadi standar internasional menjadi ISO/IEC 9945. Istilah POSIX sendiri diusulkan oleh Richard Stallman, sebagai respons dari permintaan IEEE untuk nama yang mudah diingat.
POSIX menentukan antarmuka pengguna dan antarmuka perangkat lunak terhadap sistem operasi dalam 15 dokumen yang berbeda. Antarmuka pengguna standar dalam POSIX adalah Korn shell yang digunakan untuk memasukkan perintah command-line dan pembuatan skrip. Program-program pengguna lainnya juga dimasukkan ke dalam standar, seperti awk, echo, ed, dan ratusan program lainnya. POSIX juga mendefinisikan pustaka API standar untuk thread (POSIX Thread) yang banyak diimplementasikan di sistem operasi modern. Sementara itu, layanan-layanan level program yang dimasukkan ke dalam standar adalah input/output dasar (file, terminal, dan jaringan). POSIX juga mendefinisikan bagaimana melakukan pengujian terhadap sebuah aplikasi apakah mendukung POSIX atau tidak, yang disebut dengan POSIX Confirmance Test Suite (PCTS).
Berikut merupakan beberapa standar POSIX
Standar Keterangan
POSIX.1 (IEEE 1003.1) Menentukan antarmuka sistem dasar untuk bahasa pemrograman C.
POSIX.2 Menentukan standar-standar untuk shell dan utilitas sistem operasi ditambah beberapa antarmuka tambahan dalam bahasa pemrograman C.
POSIX.3 Menentukan metode-metode untuk melakukan pengujian terhadap dukungan sebuah aplikasi terhadap POSIX.
POSIX.4 Real-time Extension: Menambahkan ekstensi terhadap standar POSIX.1 yang berkaitan dengan sistem operasi real-time.
POSIX.5 Ada Binding: Memperluas POSIX.1 dengan dukungan terhadap bahasa pemrograman Ada.
POSIX.6 POSIX Security: Mendefinisikan masalah keamanan sistem yang mendukung POSIX.
POSIX.7 System Administration: Mendefinisikan masalah administrasi sistem yang mendukung POSIX, termasuk untuk administrasi pengguna.
POSIX.8 Network Services: Mendefinisikan masalah layanan jaringan yang diimplementasikan sistem yang mendukung POSIX.
POSIX.9 Fortran Binding: Memperluas POSIX.1 dengan dukungan terhadap bahasa pemrograman FORTRAN77
POSIX.10
POSIX.11
POSIX.12
POSIX.13
POSIX.14
POSIX.15
Standar POSIX didukung oleh kebanyakan sistem operasi modern (utamanya keluarga sistem operasi UNIX), meski tidak semuanya diimplementasikan. Keluarga Windows NT juga mendukung standar POSIX, meski hanya beberapa standar, yakni POSIX.1 dan POSIX.4. Dukungan POSIX dalam sistem operasi itu juga dapat diperluas dengan menambahkan komponen tambahan, yang disebut dengan Windows Services for UNIX (SFU) dari Microsoft atau MKS Toolkit.


API (Application Programming Interface)

API (Application Programming Interface) adalah sekumpulan perintah, fungsi, komponen, dan protokol yang disediakan oleh sistem operasi ataupun bahasa pemrograman tertentu yang dapat digunakan oleh programmer saat membangun perangkat lunak.
Dalam API terdapat fungsi-fungsi atau perintah-perintah untuk menggantikan bahasa yang digunakan dalam system calls dengan bahasa yang lebih terstruktur dan mudah dimengerti oleh programmer.

Keuntungan menggunakan API:
  1. Probabilitas
    API dapat digunakan untuk bahasa pemrograman ataupun untuk sistem operasi mana saja asalkan paket-paket API sudah terpasang.
  2. Lebih Mudah Dimengerti
    API menggunakan bahasa yang lebih terstruktur dan mudah dimengerti daripada bahasa system call. Hal ini sangat penting dalam hal editing dan pengembangan.
  3. Mudah Dikembangkan
    Dengan adanya API, memudahkan programmer untuk mengembangkan suatu sistem.

API telah banyak disediakan oleh pemilik layanan, misalnya: Google, Facebook, Twiter, dan lain-lain.



Contoh terapan API:
Facebook API dimanfaatkan pada platform mobile



Bahasa pemrograman C

merupakan salah satu bahasa pemrograman komputer. Dibuat pada tahun 1972 oleh Dennis Ritchie untuk Sistem Operasi Unix di Bell Telephone Laboratories.
Meskipun C dibuat untuk memprogram sistem dan jaringan komputer namun bahasa ini juga sering digunakan dalam mengembangkan software aplikasi. C juga banyak dipakai oleh berbagai jenis platform sistem operasi dan arsitektur komputer, bahkan terdapat beberepa compiler yang sangat populer telah tersedia. C secara luar biasa memengaruhi bahasa populer lainnya, terutama C++ yang merupakan extensi dari C.


Filosofi

Versi Bahasa C

C K&R

Pada tahun 1978, Dennis Ritchie dan Brian Kernighan menerbitkan edisi pertama dari buku yang berjudul The C Programming Language. Buku ini hingga sekarang diakui sebagai kitab suci bahasa C dan merupakan referensi utama seorang pemrogram yang ingin mengetahui tentang bahasa C, terutama karena begitu lengkapnya cakupan buku ini tentang bahasa C dan mudahnya program yang dicontohkan dalam buku ini.
Versi bahasa C yang ditampilkan dalam buku ini kemudian dikenal dalam kalangan pemrogram sebagai C K&R. Pada buku The C Programming Language edisi kedua kemudian melingkupi ANSI C yang diperkenalkan belakangan.



ANSI C & ISO C
Pada perkembangannya, muncul versi-versi C lain yang pada akhirnya membuat kebingungan di kalangan pemrogram. Karena itu, pada tahun 1983, American National Standards Institute (ANSI) membuat sebuah komite untuk membuat sebuah versi standar dari bahasa C. Setelah melalui proses yang panjang dan sengit, pada tahun 1989, telah berhasil disahkan standar yang dinamakan ANSI X3.159-1989, versi ini seringkali dinamakan ANSI C, atau kadang-kadang C89.
Pada 1990, versi ANSI C diadopsi oleh Organization for Standardization (ISO) dengan sedikit perubahan dengan nama ISO/IEC 9899:1990. Versi ini seringkali dinamakan ISO C atau C90. Karena versi ANSI C dan ISO C hanya memiliki sedikit perbedaan, pemanggilan C90 dan C89 merujuk pada bahasa yang sama.

 C99

Versi C99 dibuat oleh ISO C pada tahun 1999. Versi ini dimaksudkan terutama untuk memperbanyak dukungan kepada pemrograman berorientasi objek, terutama setelah C++, yang dibuat berdasarkan bahasa ini mendapat tempat yang istimewa di kalangan pemrogram

Pustaka

Pustaka (seringkali dirujuk sebagai library), adalah kumpulan fungsi-fungsi yang terkandung dalam satu file, Setiap file pustaka mempunyai satu Header file yang menyimpan cetak biru dari fungsi-fungsi yang terkandung dalam file pustaka.
Bahasa C seringkali dipakai untuk membuat file-file pustaka yang menyimpan fungsi-fungsi tertentu, dikarenakan C dapat dikompile menjadi bahasa mesin yang sangat cepat dan kecil ukurannya, kemudian bahasa pemrograman lain seperti Python yang akan menciptakan antar-muka dari fungsi-fungsi yang dikandungnya.
Pustaka yang paling sering dipakai adalah Pustaka Standar C, yang berisi fungsi-fungsi standar yang berasal dari ANSI C. Pustaka standar ini sekarang telah terkandung dalam hampir setiap kompiler C yang dipakai.



Hello, World!
Berikut ini adalah contoh program sederhana yang akan mencetak kalimat "Hello, World!" dengan menggunakan pustaka stdio.h (ANSI C):
     #include <stdio.h>
     int main(void) {
         printf("Hello, World!\n");
         return 0;
     }

Perbandingan dengan C++

C++ pada awalnya disebut sebagai "C dengan Kelas" (C With Classes) dan diciptakan untuk memiliki fitur pemrograman berorientasi objek. Karena C++ berdasarkan dari C, maka kebanyakan kode C bisa dirakit di kompilator C++ dengan mudah. Perbedaan kecil contohnya kata "new" dan "delete" yang terdapat di kode C tidak bisa dirakit di C++ karena kata-kata ini adalah kata dipesan C++. Pustaka C biasanya bisa diimpor ke pustaka C++, tapi karena kompilator C dan C++ memiliki "name mangling" yang berbeda, maka perubahan kecil di kode C perlu dilakukan.[1]