Jumat, 15 Juni 2012

MacOS

MacOS



A. SEJARAH MacOS

            MacOS ditemukan pada tahun 1984 oleh peneliti Xerox PARC. Tetapi Applelah yang mempopulerkan dan kemudian diikuti oleh Microsoft. Apple lebih maju karena hardware dan sistem operasi yang berasal dari produsen yang sama. Dalam versi awal-awalnya, MacOS telah memiliki fungsi yang setara dengan Windows '95, baru pihak Microsoft mengikutinya dengan dikeluarkan Windows '95 yang menyerupai MacOS namun tidak sama. Tetapi dalam tahun-tahun terakhir ini sistem operasi Apple secara teknis agak tertinggal. Walaupun selama 15 tahun MacOS juga mengalami perkembangan yang cukup pesat, tapi beberapa hal pada MacOS tampak agak kuno dibandingkan dengan pesaing pada platform lainnya. Versi terakhir yaitu MacOS 8.5.1 memiliki preemptives multithreading, pengaman memori, sistem file modern (HFS+) dan TCP/IP-Stack yang matang. MacOS 8.5 juga dilengkapi dengan program "sherlock". Detektif ini tidak hanya mencari file pada harddisk dan dalam jaringan lokal, tapi juga dapat beraksi di Internet dan mencari berdasarkan keyword.

·         24 Januari 1984

Mac OS pertama dirilis, dengan nama System 1. Apple membuat OS ini sebagai satu-satunya OS di masa itu sepenuhnya GUI. Sejak saat itu, GUI menjadi pionir akan perkembangan OS lain.



·         Januari 1986

System 3 dirilis, dan di OS ini, file system ala hirarki (seperti di Mac OS dan Linux saat ini) diperkenalkan.



·         13 Mei 1991

System 7 dirilis. System 7 ini adalah salah satu OS dari Apple yang memiliki masa pakai cukup lama, dari 1991 sampai 1997.



·         Januari 1997

Mac OS 7.6 dirilis. OS ini adalah Mac pertama yang menggunakan nama Mac di depannya setelah sebelumnya hanya “System” dan angka rilis.



·         22 Juli 1997

Mac OS 8 dirilis, cukup singkat antara versi 7.6 dan 8 ini. Di versi ini juga sebagai penanda akan kembalinya Steve Jobs di Apple setelah sebelumnya dia dipecat. Mac OS 8 terjual sebanyak 3 juta kopi dalam enam bulan saja.



·         23 Oktober 1999

Mac OS 9 dirilis. Mac ini dipandang oleh Apple sebagai OS transisi dari versi 8 ke versi OS X.







·         24 Maret 2000

Versi terpopuler Mac diluncurkan. Mac kali ini bernama Mac OS X. Mac versi ini membawa perubahan desain besar, utamanya adalah apa yang dikenal dengan Aqua, tampilan khas Mac yang membuat Mac terlihat semakin elegan dan modern. Versi ini juga debut dari aplikasi terpopuler Mac, yaitu Dock. Kode nama Mac OS X ini adalah Cheetah.



·         23 Agustus 2002.

Mac OS X 10.2 dirilis. Kode nama kali ini adalah Jaguar.



·         29 April 2005

Mac OS X 10.4 atau dengan kode nama Tiger dirilis. Tiger adalah versi Mac yang sangat ditunggu kedatangannya dan populer. Buktinya adalah terjualnya sebanyak 2 juta kopi dalam jangka enam minggu saja. Tiger juga menjadi Mac pertama dengan menggunakan Intel setelah sebelumnya menggunakan PowerPC.



·         26 Oktober 2007

Mac OS X 10.5 atau versi Leopard dirilis. Selain itu ada beberapa perubahan di Leopard ini, yaitu Cover Flow di Finder, dan fitur yang menjadi jualan utama, yaitu Time Machine.



·         20 Juni 2011

Mac OS X 10.7 dirilis. Kode nama untuk Mac ini adalah Lion. Selain itu ada integrasi yang lebih baik antara iOS dan Mac. Selain itu, Lion menjadi Mac pertama yang bisa diunduh di App Store seharga $29. Fitur yang ada di Lion ada sekitar 250 fitur baru dan diperbarui.



·         16 Februari 2012

Mac OS X 10.8 diumumkan. Kode nama kali ini adalah Mountain Lion. Beberapa fitur yang ada di sini adalah adanya iMessage, lalu integrasi dengan Twitter dan dukungan lebih baik terhadap iCloud.





B. PENANGANAN PROSES

            Mac OS X dibangun pada arsitektur mikro-kernel Mach  yang telah teruji dan terbukti.micro-kernel Mach mengatur penggunaan CPU dan memory, menangani penjadwalan, memberikan perlindungan memory, dan menyediakan infrastruktur pesan ke seluruh sistem operasi. Di atas micro-kernel Mach bertengger yang menjadi dasarnya ialah FreeBSD. Lapisan BSD ini menyediakan  sistem manajemen file, jaringan, kebijakan keamanan, model proses  standar BSD dengan prosesID dan sinyal. Ia uga menyediakan implementasi standar POSIX yang menjadi benang banyak aplikasi (seperti MySQL). Untuk fitur standar UNIX, Apple telah menambahkan beberapa perbaikan. Perangkat tambahan telah ditambahkan ke sistem file buffer cache dan file I / O clustering. Peningkatan ini termasuk adaptif dan spekulatif membaca depan, proses pengguna dikendalikan membaca ke depan, dan waktu umur sistem file buffer cache.



0 – Running. CPU saat ini sedang mengeksekusi proses ini.

1 – Runnable from main memory, disimpan dalam memory utama dan siap untuk dijalankan.

2 – Runnable, disimpan di swap, sipa untuk dijalankan namun telah dipindahkan ke memori sekunder dalam ruang swap.

3 – Sleeping in primary storage, menunggu untuk sebuah interupsi IO atau interupsi lain untuk membangkitkannya.

4 – Sleeping in swap space, menunggu untuk sebuah interupsi IO atau interupsi lain untuk membangkitkannya dan menukarnya kembali ke memory utama untuk dieksekusi.



·         Suatu proses yang aktif biasanya di salah satu dari lima bagian di diagram. Panah menunjukkan bagaimana perubahan bagian.

·         Sebuah proses berjalan jika ditugaskan ke CPU. Sebuah proses adalah mendahului – yaitu, dihapus dari bagian yg running  - oleh scheduler jika suatu proses dengan prioritas yang lebih tinggi menjadi runnable. Sebuah proses juga mendahului jika mengkonsumsi bagian  seluruh waktu dan proses dengan  prioritas yang sama adalah runnable.

·         Suatu proses runnable dalam memori jika berada dalam memori utama dan siap untuk dijalankan, tetapi tidak ditugaskan untuk CPU.

·         Sebuah proses sedang sleeping in memory jika berada dalam memori utama tetapi menunggu untuk spesifik event sebelum dapat melanjutkan eksekusi.

·         Suatu proses adalah runnable dan swapped jika tidak menunggu spesifik event  tetapi memiliki ruang alamat keseluruhannya ditulis ke memori sekunder untuk membuat ruang di memori utama untuk proses lainnya.

·         Sebuah proses adalah sleeping dan swapped  jika keduanya menunggu spesifik event dan memiliki ruang alamat keseluruhannya ditulis ke memori sekunder untuk membuat ruang di memori utama untuk proses lainnya.

·         Jika mesin tidak memiliki cukup memori utama untuk menampung semua proses yang aktif, ia harus menukar beberapa halaman atau ruang alamat ke memori sekunder:

·         Ketika sistem sedang kekurangan memori dari memori utama, maka akan menulis halaman individual dari beberapa proses ke memori sekunder, tetapi masih meninggalkan proses-proses runnable. Ketika sebuah proses berjalan, jika ia mengakses halaman tersebut, ia harus tidur ketika membaca kembali halaman ke dalam memori utama.

·         Ketika  mendapatkan sistem menjadi masalah yang lebih serius pada kekurangan memori utama, ia  menulis semua halaman dari beberapa proses ke memori sekunder dan menandai proses tersebut sebagai swap. proses tersebut kembali ke keadaan di mana mereka dapat dijadwalkan hanya dengan menjadi dipilih oleh scheduler proses sistem daemon, kemudian dibaca kembali ke dalam memori.

·         Baik itu paging dan swapping menyebabkan delay  saat proses siap dijalankan lagi. Untuk proses yang memiliki persyaratan waktu yang ketat, penundaan ini dapat diterima.Untuk menghindari keterlambatan swapping, real-time proses tidak pernah ditukar, meskipun sebagian dari mereka dapat dipanggil. Suatu program dapat mencegah paging dan swapping dengan mengunci teks dan data ke dalam memori primer. Berapa banyak memori dapat dikunci dibatasi oleh berapa banyak memori yang dikonfigurasi. Juga, penguncian terlalu banyak dapat menyebabkan keterlambatan ditolerir untuk proses yang tidak memiliki teks dan data terkunci ke dalam memori.

·         Trade-off antara kinerja proses real-time dan kinerja proses lain tergantung pada kebutuhan lokal. Pada beberapa sistem, proses penguncian mungkin dibutuhkan untuk menjamin keperluan real-time response.







C.  PENANGANAN MEMORY/PENYIMPANAN DATA MacOs

Free memori

Adalah Jumlah Memori Ram yang tidak digunakan



Wired memori

Informasi dalam memori ini tidak dapat dipindahkan ke dalam harddisk,sehingga harus tetap di RAM.Jumlah wired memori tergantung pada aplikasi yang digunakan / dijalankan



Active memory

Informasi ini sedang dalam memori, dan telah baru saja digunakan



inActive Memory

Informasi ini berisi memori yang tidak aktif digunakan , namun baru saja digunakan Misalnya, jika Anda telah menggunakan Mail dan kemudian berhenti itu, RAM yang menggunakan Mail adalah ditandai sebagai memori aktif. Memori ini aktif tersedia untuk digunakan oleh aplikasi lain, seperti free memory. Namun, jika Anda membuka Mail sebelum memori aktif yang digunakan oleh aplikasi yang berbeda, Mail akan membuka lebih cepat karena memori tidak aktif adalah dikonversi ke memori aktif, bukannya memuat Mail dari hard disk lebih lambat.



Used Memory

Ini adalah jumlah total memori yang digunakan.



VM SIZE        

Ini adalah jumlah total dari Memori Virtual untuk semua proses pada Mac Anda.



Page in / Page out

Hal ini mengacu pada jumlah informasi dipindahkan antara RAM dan hard disk. Nomor ini adalah jumlah kumulatif data bahwa Mac OS X telah pindah antara RAM dan ruang disk.

Tip: Halaman out terjadi ketika Mac Anda harus menulis informasi dari RAM ke hard drive (karena RAM sudah penuh). Menambahkan RAM lebih dapat mengurangi out halaman

Swap Used

Ini adalah jumlah informasi yang disalin ke file swap pada hard drive Anda.





 ARSITEKTUR DAN ORGANISASI MEMORY DI MAC OS



            Pada umumnya mikrokernel mendukung proses dan menajemen memori yang minimal, sebagai tambahan untuk fasilitas komunikasi. Memori managemen merupakan salah satu bagian terpenting dalam sistem operasi. Karena adanya keterbatasan memori, diperlukan suatu strategi dalam menangani masalah ini. Jalan keluarnya adalah dengan menggunakan memori virtual. Dengan memori virtual, memori tampak lebih besar daripada ukuran yang sebenarnya.



Dengan memori virtual kita dapat:



1.      Ruang alamat yang besar Sistem operasi membuat memori terlihat lebih besar daripada ukuran memori sebenarnya. Memori virtual bisa beberapa kali lebih besar daripada memori fisiknya.

2.      Pembagian memori fisik yang adil Managemen memori membuat pembagian yang adil dalam pengalokasian memori antara proses-proses.

3.      Perlindungan
Memori managemen menjamin setiap proses dalam sistem terlindung dari proses-proses lainnya. Dengan demikian, program yang crash tidak akan mempengaruhi proses lain dalam sistem tersebut.

4.      Penggunaan memori virtual bersamaMemori virtual mengizinkan dua buah proses berbagi memori diantara keduanya, contohnya dalam shared library. Kode library dapat berada di satu tempat, dan tidak dikopi pada dua program yang berbeda.Memori Virtual Memori fisik dan memori virtual dibagi menjadi bagian-bagian yang disebut page. Page ini memiliki ukuran yang sama besar. Tiap page ini punya nomor yang unik, yaitu Page Frame Number (PFN). Untuk setiap instruksi dalam program, CPU melakukan mapping dari alamat virtual ke memori fisik yang sebenarnya.


            Penerjemahan alamat di antara virtual dan memori fisik dilakukan oleh CPU menggunakan tabel page untuk proses x dan proses y. Ini menunjukkan virtial PFN 0 dari proses x dimap ke memori fisik PFN 1.

Setiap anggota tabel page mengandung informasi berikut ini:



1.      Virtual PFN

2.      PFN fisik

3.      Informasi akses page dari page tersebut


            Untuk menerjemahkan alamat virtual ke alamat fisik, pertama-tama CPU harus menangani alamat virtual PFN dan offsetnya di virtual page. CPU mencari tabel page proses dan mancari anggota yang sesuai degan virtual PFN. Ini memberikan PFN fisik yang dicari. CPU kemudian mengambil PFN fisik dan mengalikannya dengan besar page untuk mendapat alamat basis page tersebut di dalam memori fisik. Terakhir, CPU menambahkan offset ke instruksi atau data yang dibutuhkan. Dengan cara ini, memori virtual dapat dimap ke page fisik dengan urutan yang teracak.


Demand Paging.


            Cara untuk menghemat memori fisik adalah dengan hanya meload page virtual yang sedang digunakan oleh program yang sedang dieksekusi. Tehnik dimana hanya meload page virtual ke memori hanya ketika program dijalankan disebut demand paging.


            Ketika proses mencoba mengakses alamat virtual yang tidak ada di dalam memori, CPU tidak dapat menemukan anggota tabel page. Contohnya, dalam gambar, tidak ada anggota tabel page untuk proses x untuk virtual PFN 2 dan jika proses x ingin membaca alamat dari virtual PFN 2, CPU tidak dapat menterjemahkan alamat ke alamat fisik. Saat ini CPU bergantung pada sistem operasi untuk menangani masalah ini. CPU menginformasikan kepada sistem operasi bahwa page fault telah terjadi, dan sistem operasi membuat proses menunggu selama sistem operasi menagani masalah ini.


            CPU harus membawa page yang benar ke memori dari image di disk. Akses disk membutuhkan waktu yang sangat lama dan proses harus menunggu sampai page selesai diambil. Jika ada proses lain yang dapat dijalankan, maka sistem operai akan memilihnya untuk kemudian dijalankan. Page yang diambil kemudian dituliskan di dalam page fisik yang masih kosong dan anggota dari virtual PFN ditambahkan dalam tabel page proses. Proses kemudian dimulai lagi pada tempat dimana page fault terjadi. Saat ini terjadi pengaksesan memori virtual, CPU membuat penerjemahan dan kemudian proses dijalankan kembali.


            Demand paging terjadi saat sistem sedang sibuk atau saat image pertama kali diload ke memori. Mekanisme ini berarti sebuah proses dapat mengeksekusi image dimana hanya sebagian dari image tersebut terdapat dalam memori fisik.


Swaping


            Jika memori fisik tiba-tiba habis dan proses ingin memindahkan sebuah page ke memori, sistem operasi harus memutuskan apa yang harus dilakukan. Sistem operasi harus adil dalam mambagi page fisik dalam sistem diantara proses yang ada, bisa juga sistem operasi menghapus satu atau lebih page dari memori untuk membuat ruang untuk page baru yang dibawa ke memori. Cara page virtual dipilih dari memori fisik berpengaruh pada efisiensi sistem.


setiap page memiliki usia sesuai dengan berapa sering page itu diakses. Semakin sering sebuah page diakses, semakin muda page tersebut. Page yang tua adalah kandidat untuk diswap.


Pengaksesan Memori Virtual Bersama


            Memori virtual mempermudah proses untuk berbagi memori saat semua akses ke memori menggunakan tabel page. Proses yang akan berbagi memori virtual yang sama, page fisik yang sama direference oleh banyak proses. Tabel page untuk setiap proses mengandung anggota page table yang mempunyai PFN fisik yang sama.


Efisiensi
            Desainer dari CPU dan sistem operasi berusaha meningkatkan kinerja dari sistem. Disamping membuat prosesor, memori semakin cepat, jalan terbaik adalah manggunakan cache. Berikut ini adalah beberapa cache dalam managemen memori :


1.Page Cache


Digunakan untuk meningkatkan akses ke image dan data dalam disk. Saat dibaca dari disk, page dicache di page cache. Jika page ini tidak dibutuhkan lagi pada suatu saat, tetapi dibutuhkan lagi pada saat yang lain, page ini dapat segera diambil dari page cache.


2. Buffer Cache


Page mungkin mengandung buffer data yang sedang digunakan oleh kernel, device driver dan lain-lain. Buffer cache tampak seperti daftar buffer. Contohnya, device driver membutuhkan buffer 256 bytes, adalah lebih cepat untuk mengambil buffer dari buffer cache daripada mengalokasikan page fisik lalu kemudian memecahnya menjadi 256 bytes buffer-buffer.


3. Swap Cache


            Hanya page yang telah ditulis ditempatkan dalam swap file. Selama page ini tidak mengalami perubahan setelah ditulis ke dalam swap file, maka saat berikutnya page di swap out tidak perlu menuliskan kembali jika page telah ada di swap file. Di sistem yang sering mengalami swap, ini dapat menghemat akses disk yang tidak perlu.


Salah satu implementasi yang umum dari hardware cache adalah di CPU, cache dari anggota tabel page. Dalam hal ini, CPU tidak secara langsung membaca tabel page, tetap mencache terjemahan page yang dibutuhkan.


Load dan Eksekusi Program

1.      Penempatan program dalam memori

Pertama-tama file binari dari page ditempatkan pada memori virtual. Hanya pada saat program mencoba mengakses page yang telah diberikan terjadi page fault, maka page akan diload ke memori fisik.

2.      Linking statis dan linking dinamis

a.       Linking statis:

            Librari-librari yang digunakan oleh program ditaruh secara langsung dalam file binari yang dapat dieksekusi. Kerugian dari linking statis adalah setiap program harus mengandung kopi library sistem yang umum.

b.      Linking dinamis:

Hanya sekali meload librari sistem menuju memori. Linking dinamis lebih efisien dalam hal memori fisik dan ruang disk.



D. PENANGANAN FILE

            Mac OS X menggunakan sistem berkas yang diwariskan dari Mac OS lama disebut HFS Plus, yang terkadang disebut Mac OS Extended. Karena akar Unix dari Mac OS X, perijinan UNIX ditambahkan ke HFS Plus. Kemudian versi HFS Plus ditambahkan journal untuk mencegah korupsi dari struktur sistem berkas dan memperkenalkan sejumlah optimasi dengan algoritma alokasi dalam upaya untuk defragment file secara otomatis tanpa membutuhkan sebuah Defragmenter eksternal.



            Nama file bisa mencapai 255 karakter. HFS Plus menggunakan Unicode untuk menyimpan nama file. Pada Mac OS X, filetype bisa datang dari type code, disimpan dalam metadata file, atau nama file.



            HFS Plus memiliki tiga jenis link yaitu Unix-style hard links , Unix-style symbolic links and aliases. Alias dirancang untuk mempertahankan link ke file asli mereka bahkan jika pindah atau berganti nama, mereka tidak diinterpretasikan oleh sistem berkas sendiri, tetapi oleh File Manager code di userland .



            Mac OS X juga mendukung sistem berkasUFS, berasal dari BSD Unix Fast Sistem berkas melalui NeXTSTEP. Tapi pada Mac OS X 10.5 (Leopard), dan Mac OS X tidak dapat diinstal lagi pada volume UFS. Versi yang lebih baru Mac OS X mampu membaca dan menulis dengan sistem berkas FAT (16 & 32). Mereka mampu membaca, tapi tidak menulis ke sistem berkas NTFS. Perangkat lunak pihak ketiga masih diperlukan untuk menulis ke sistem berkas NTFS di Snow Leopard 10.6.4.







Referensi

http://forum.kompas.com/internet/68141-sejarah-mac-os-dari-masa-ke-masa.html

kusukaitu.wordpress.com/2011/03/29/manajemen-proses-mac-os-x/

http://jevrie-brothers.blogspot.com/2011/04/sistem-berkas-di-berbagai-os.html