Kamis, 28 November 2019

Distro Linux

Distro Linux


Apa itu Linux ?
                  Linux adalah perangkat lunak atau software sistem operasi yang sifatnya open source dan gratis untuk di dapatkan maupun di sebarluaskan dengan lisensi GNU. OS Linux merupakan turunan dari unix dan dapat digunakan pada bermacam-macam komputer. Dengan Linux maka pengguna dapat memperoleh softawer yang lengkap dengan source code-nya. Bahkan pengguna dapat mengubah atau memodifikasi source code-nya, dan semua itu legal tentunya di bawah lisensi GNU.


Distro Linux 

                  Distribusi Linux atau disingkat dengan “Distro Linux” merupakan sebutan untuk sistem operasi linux yang dipaketkan dengan software tertentu sedemikian rupa sehingga memiliki antarmuka dan fitur-fitur sesuai dengan keinginan pembuatnya, tentu saja dalam membuatnya menggunakan kernel Linux. Ada banyak sekali distro Linux, dan seiring berjalannya waktu akan semakin berkembang. 
                Beberapa contoh Distro Linux yang dikenal saat ini misalnya seperti SuSE, Red Hat, Debian, Fedora, dan sebagainya.


Macam – Macam Distro Linux

1. RedHat
      Red Hat ini merupakan salah satu Distro Linux yang dikembangkan oleh salah satu perusahaan bernama Red Hat Inc dan seringkali juga disebut Red Hat Linux namun pada tahun 2003 diganti menjadi Red Hat Enterprise Linux khusus untuk lingkungan perusahaan. Sistem operasi yang satu ini juga yang pertama kali mempopulerkan penggunaan sistem RPM Package Manager.




2.CentOS
         CentOS merupakan singkatan dari Community Enterprise Operating System dan merupakan salah satu contoh Distro Linux yang dikembangkan oleh The CentOS Project. Sistem operasi ini dibuat menggunakan kode sumber yang berasal dari Red Hat. Oleh karena itu, dalam hal produk CentOs ini sangatlah mirip dengan Red Hat Enterprise Linux.





3. Fedora


          Fedora ini merupakan salah satu Distro Linux yang dkembangkan karena disponsori dan didukung oleh Red Hat namun dibuat oleh tim khusus bernama Fedora Project. Bahkan nama Fedora ini diambil dari salah satu karakter dalam logo Red Hat itu sendiri. Sama halnya dengan Red Hat, sistem operasi Fedora juga menggunakan sistem RPM Package Manager.





4. openSUSE     



           openSUSE ini juga termasuk salah satu sistem operasi yang didirikan diatas kernel Linux atau biasa disebut Distro Linux. openSUSE Project selaku pihak pengembang menciptakan sistem operasi ini dengan tujuan agar penggunaan Linux dapat lebih maju dengan kinerjanya yang stabil dan ramah pengguna. openSUSE ini lebih sering digunakan sebagai sistem operasi desktop/ server.



5. Mandrake (Mandriva)


        Sistem operasi Mandrake atau yang juga bisa disebut Mandriva Linux merupakan salah satu jenis Distro Linux yang kali ini dikembangkan oleh suatu perusahaan bernama Mandriva. Sama halnya dengan Fedora, sistem operasi Mandrake ini juga menggunakan sistem RPM Package Manager.




6. Debian


              Proses penamaan dari salah satu Distro Linux ini bisa dibilang cukup unik. Sang pencetus pertama kali yakni Ian Murdock memberi nama Debian karena merupakan kombinasi dari namanya dan mantan kekasihnya. Salah satu alasan mengapa Debian ini termasuk Distro Linux yang paling banyak digunakan adalah karena security-nya yang bagus 




7. Ubuntu



               Ubuntu merupakan suatu sistem operasi yang berbasiskan pada Debian dan dikembangkan oleh suatu perusahaan dari Afrika Selatan yang bernama Canonical ltd. Asal penamaan dari Ubuntu ini juga berasal dari bahasa Afrika Selatan yang berarti kemanusiaan. Dengan sifatnya sebagai OS open source, Ubuntu sengaja diprioritaskan untuk kepentingan umum atau server.



Direktori pada sistem operasi linux




KATEGORI LINUX 
Banyaknya distro yang ada dikategorikan menurut:
1.SISTEM MANAJEMEN PAKET 
Berbasis RPM,
Adalah singkatan dari Redhat Packet Manager.
– RPM sampai saat ini dipakai sebagai standard industri yang menggunakan OS linux.
– Pertama kali diperkenalkan oleh Red Hat corp.
– Cara instalasi dapat menggunakan program yang dinamakan YUM (YellowDog Update Manager), atau RPM.
– Distro–distro yang menggunakan basis ini contohnya adalah Fedora Core, OpenSuse, Mandriva, IGOS Nusantara, dan CentOS.
Berbasis deb, 
Debian salah satu paket manager yang memiliki basis komunitas yang sangat kuat, hal ini dapat dilihat ketika akhirnya para programmer debian memutuskan membuang mozilla firefox dalam distribusi nya dan mengganti dengan IceWeasel.
– Distro–distro dibawah debian berkembang lebih cepat dibanding distribusi lainnya.
– Cara instalasi nya dapat menggunakan program apt (advanced package tools).
– Distro yang menggunakan paket ini adalah debian, ubuntu, freespire, Simply MEPIS, Knoppix, Linux Mint.
Berbasis tgz,   
Slackware adalah distribusi bersejarah, karena sangat susah untuk dipelajari.
– Karena untuk menginstall suatu program anda harus mulai dari nol mulai dari mengekstract, kemudian mengcompile, dan mengetes apakah bisa berjalan atau tidak.
– Sebenarnya juga ada tools nya yaitu dpkg-tools.
– Distro yang berada dibawah ini adalah Slackware, zenwalk, vector 5.8, LiGOS
2. CARA PENGGUNAANNYA
Live CD,                                                                                                                                   Live CD sangat menarik, karena pada intinya dengan live cd user dapat menjalankan sistem operasi yang lengkap tanpa menginstall ke dalam hardisk. Prinsip kerjanya adalah sistem operasi akan membentuk suatu “image” kedalam hardisk kemudian apabila anda men-shutdown OS tersebut maka “image” yang terbentuk akan dihapus. Dengan live cd user tidak perlu kawatir. Live CD ini sangat bermanfaat untuk Demo Linux dan pembelajaran bagi para newbie. Namun kelemahannya adalah live cd terkadang membutuhkan resources yang cukup besar kehilangan OS lama.
–  Contoh live CD yang adalah: Ubuntu 6.10, Simply MEPIS 6.0, Freespire 1.13, Knoppix 5.1.1, Xubuntu 6.10, Damn Small Linux, dan masih banyak lagi


Install CD
Distro linux tersebut harus diinstall terlebih dahulu baru
kemudian anda dapat menggunakan distro tersebut. Distro-distro yang termasuk install CD dibagi lagi menjadi dua bagian yang besar. Terdiri dari 1 CD Instalasi, dan lebih dari 1 CD Instalasi. Contoh > 1 CD : Fedora Core 6 (6 CD), Open Suse (6 CD), Mandriva 2007 (4 CD), Slackware (3 CD) Debian Etch (22 CD).
3.TUJUAN PEMBUATAN
  • Untuk menjadikannya sistem operasi terbaik yang ada dengan membuatnya mudah bagi orang untuk mampu menggunakan teknologi maju, bukan dengan menyederhanakannya (dan dengan demikian mengurangi kemampuannya), bukan pula dengan meniru pendekatan yang diambil para pengembang lain.
  • Untuk mengembangkan gagasan sendiri mengenai desktop yang ideal

Jumat, 22 November 2019

Manajemen Memory




MANAJEMEN MEMORI

Definisi Manajemen Memori
Manjemen memori (Memory Manager) adalah salah satu bagian sistem operasi yang mempengaruhi dalam menentukan proses mana yang diletakkan pada antrian. Manajemen memori DOS merupakan mekanisme pengaturan memori pada sistem operasi DOS. Sistem operasi berjalan dalam modus real dengan arsitektur berbasis prosesor intel x86. Dalam modus real, hanya 20-bit pertama dari bus alamat yang akan digunakan oleh sistem operasi untuk mengakses memori, sehingga menjadikan jumlah memori yang dapat diakses hanya mencapai 220=1048576 bytes (1 MB) saja, dari yang seharusnya 32-bit/40-bit pada prosesor-prosesor modern. Ada beberapa macam jenis memori diantaranya :

- Memori Kerja
• ROM/PROM/EPROM/EEPROM
• RAM
• Cache memory
- Memori Dukung
· Floppy, harddisk, CD, dll.
 Manajemen Memori
Terdapat 2 (dua) manajemen memori yaitu :
a. Manajeman memori statis
Dengan pemartisian statis, jumlah, lokasi dan ukuran proses dimemori tidak beragam sepanjang waktu secara tetap.
b. Manajemen memori dinamis
Dengan pemartisian dinamis , jumlah, lokasi dan ukuran proses dimemori dapat beragam sepanjang waktu secara dinamis.

Manajemen Memori Berdasarkan Alokasi memori Terdapat 2 (dua) cara menempatkan informasi ke dalam memori kerja, yaitu:
a. Alokasi Memori Berurutan (Contiguous Allocation)
Pada alokasi memori berurutan, setiap proses menempati satu blok tunggal lokasi memori yang berurutan.
Kelebihan : sederhana, tidak ada rongga memory bersebaran, proses berurutan dapat dieksekusi secara cepat.
Kekurangan : memori boros, tidak dapat disisip apabila tidak ada satu blok memori yang mencukupi

b. Alokasi Memori Tak Berurutan (Non Contiguous Allocation)
Program/proses ditempatkan pada beberapa segmen berserakan, tidak perlu saling berdekatan atau berurutan. Biasanya digunakan untuk lokasi memori maya sebagai lokasi page-page.
Kelebihan : sistem dapat memanfaatkan _ memori utama secara lebih efesien, dan sistem opersi masih dapat menyisip proses bila jumlah lubang-lubang memori cukup untuk memuat proses yang akan dieksekusi.
Kekurangan : memerlukan pengendalian yang lebih rumit dan memori jadi banyak yang berserakan tidak terpakai.

c. Penggunaan memori
Pencocokan ukuran informasi ke penggalan memori kerja disebut sebagai fit. Bagian dari memori kerja yang tidak terpakai dan letaknya tersebar di banyak wilayah memori kerja disebut sebagai fragmen. Peristiwa terjadinya fragmen disebut fragmentasi

d. Pencocokan (fit) dan fragmentasi

Beberapa jenis strategi pencocokan antara lain:
1. Cocok pertama (first fit)
Pencocokan terjadi menurut antrian informasi
2. Cocok pertama berdaur (cyclical first fit)
Pencocokan tidak harus dimulai dari urutan penggalan memori yang pertama, tetapi dapat dilakukan setelah terjadi pencocokan sebelumnya.
3. Cocok terbaik (best fit)
Pencocokan dilakukan sesuai dengan penggalan memori yang ukurannya pas.
4. Cocok terburuk (Worst fit)
Informasi akan menempati penggalan yang ukurannya terbesar.

e. Fragmentasi
Menurut prosesnya terdapat dua macam fragmentasi :
a. Fragmentasi internal
Kelebihan memori pada penggalan memori ketika penggalan memori itu menerima penggalan informasi yang berukuran kurang dari ukuran penggalan memori.
b. Fragmentasi Ekternal
Penggalan memori bebas yang ukurannya terlalu kecil untuk dapat menampung penggalan informasi yang akan dimuat ke penggalan memori itu.
Contoh : Proses

Fungsi manajemen memori :
Manajemen memori sangat penting untuk memproses dan fasilitas masukan/keluaran secara efisien, sehingga memori dapat menampung sebanyak mungkin proses dan sebagai upaya agar pemrogram atau proses tidak dibatasi kapasitas memori fisik di sistem komputer.  Berikut ini kami sebutkan fungsi manajemen memori diantaranya :
1.Mengelola informasi memori yang dipakai dan tidak dipakai.
2.Mengalokasikan memori ke proses yang memerlukan.
3.Mendealokasikan memori dari proses yang telah selesai.
4.Mengelola swapping antara memori utama dan disk.

Manajemen Memori pada Windows 
Windows memiliki memori fisik dan virtual yang dibutuhkan oleh proses sebuah program atau lebih (multitasking). Singkatnya, Virtual Memory selalu dimiliki oleh sebuah sistem operasi untuk mencegah terjadinya deadlock antar aplikasi maupun sistem itu sendiri.
 Kita dapat memanggil task manager melalui beberapa cara :
1. Melalui Ctrl + Shift + Esc
2. Melalui Ctrl + Alt + Del dan pilih Start Task Manager
3. Melalui Klik kanan pada task bar dan pilih Start Task Manager
Manajemen Memori pada Linux
Manajemen Memori Fisik
Bagian ini menjelaskan bagaimana linux menangani memori dalam sistem. Memori manajemen 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 dil
      Manajemen memori membuat pembagian yang adil dalam pengalokasian memori antara proses-proses.

3.     Perlindungan
     Memori manajemen 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 bersama
      Memori 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 pagePage 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.
Linux menggunakan tehnik page aging agar adil dalam memilih page yang akan dihapus dari sistem. Ini berarti 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.

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 manajemen memori di linux:

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
      Linux membuat tabel-tabel fungsi untuk loading program, memberikan kesempatan kepada setiap fungsi untuk meload file yang diberikan saat sistem call exec dijalankan. 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.