Showing posts with label pengetahuan. Show all posts
Showing posts with label pengetahuan. Show all posts

Friday, June 17, 2011

prinsip kerja komputer

Sinyal listrik maupun sinyal dalam bentuk gelombang elektromagnetik pada suatu jaringan komputer merambat/memancar dengan prinsip kerja sistem jaringan komputer. Agar suatu jaringan dapat saling bertukar informasi data, diperlukan suatu alat yang disebut Modem (Modulator Demodulator) yang berfungsi untuk mengubah sinyal analog menjadi sinyal digital maupun sebaliknya.

Ada 4 komponen utama yang terdapat pada suatu jaringan, yaitu sender (pengirim data informasi), protokol (yang meng-encode dan men-decode data informasi), media transmisi (medium transfer data), dan receiver (penerima data informasi).

Prinsip kerjanya, pertama-tama sender mengirim sinyal informasi menuju receiver melalui protokol encode yang mengubah sinyal digital menjadi sinyal analog kemudian sinyal melalui media transmisi dan melalui protokol kedua di decode kembali menjadi sinyal digital sebelum masuk ke receiver.

Prinsip kerja diatas dapat di analogikan saat orang jepang dan orang inggris sedang chatting melalui internet. Saat orang jepang mengetikkan suatu pesan dalam bahasa jepang maka pesan tersebut akan diubah terlebih dahulu oleh protokol ke dalam bahasa inggris sehingga orang inggris dapat menerima pesan tersebut dalam bahasa inggris dan sebaliknya saat orang inggris membalas pesan orang jepang tersebut maka pesan bahasa inggris akan diubah oleh protokol terlebih dahulu menjadi bahasa jepang sebelum sampai ke orang jepang. Jadi dalam hal ini protokol dapat di istilahkan seperti penerjemah informasi data.

Diposting oleh Alfandra Tiaputra di 19:33 0 komentar Link ke posting ini

Selasa, 2007 September 25

Pengenalan Dasar Tentang Jaringan Komputer

Berdasarkan kriterianya, jaringan komputer dibedakan menjadi 4 yaitu:

1. Berdasarkan distribusi sumber informasi/data
- Jaringan terpusat
Jaringan ini terdiri dari komputer klient dan server yang mana komputer klient yang berfungsi sebagai perantara untuk mengakses sumber informasi/data yang berasal dari satu komputer server

- Jaringan terdistribusi
Merupakan perpaduan beberapa jaringan terpusat sehingga terdapat beberapa komputer server yang saling berhubungan dengan klient membentuk sistem jaringan tertentu.

2. Berdasarkan jangkauan geografis dibedakan menjadi:
- Jaringan LAN
merupakan jaringan yang menghubungkan 2 komputer atau lebih dalam cakupan seperti laboratorium, kantor, serta dalam 1 warnet.

- Jaringan MAN
Merupakan jaringan yang mencakup satu kota besar beserta daerah setempat. Contohnya jaringan telepon lokal, sistem telepon seluler, serta jaringan relay beberapa ISP internet.

- Jaringan WAN
Merupakan jaringan dengan cakupan seluruh dunia. Contohnya jaringan PT. Telkom, PT. Indosat, serta jaringan GSM Seluler seperti Satelindo, Telkomsel, dan masih banyak lagi.

3. Berdasarkan peranan dan hubungan tiap komputer dalam memproses data.
- Jaringan Client-Server
Pada jaringan ini terdapat 1 atau beberapa komputer server dan komputer client. Komputer yang akan menjadi komputer server maupun menjadi komputer client dan diubah-ubah melalui software jaringan pada protokolnya. Komputer client sebagai perantara untuk dapat mengakses data pada komputer server sedangkan komputer server menyediakan informasi yang diperlukan oleh komputer client.

-Jaringan Peer-to-peer
Pada jaringan ini tidak ada komputer client maupun komputer server karena semua komputer dapat melakukan pengiriman maupun penerimaan informasi sehingga semua komputer berfungsi sebagai client sekaligus sebagai server.

4. Berdasarkan media transmisi data
- Jaringan Berkabel (Wired Network)
Pada jaringan ini, untuk menghubungkan satu komputer dengan komputer lain diperlukan penghubung berupa kabel jaringan. Kabel jaringan berfungsi dalam mengirim informasi dalam bentuk sinyal listrik antar komputer jaringan.

- Jaringan Nirkabel (Wireless Network)
Merupakan jaringan dengan medium berupa gelombang elektromagnetik. Pada jaringan ini tidak diperlukan kabel untuk menghubungkan antar komputer karena menggunakan gelombang elektromagnetik yang akan mengirimkan sinyal informasi antar komputer jaringan.

Untuk penjelasan selanjutnya tentang jaringan komputer akan diposting pada tulisan saya berikutnya.
Diposting oleh Alfandra Tiaputra di 21:55 0 komentar Link ke posting ini

Kamis, 2007 September 13

Internet sebagai ladang promosi bisnis
Pemanfaatan internet ternyata tidak hanya sebagai sumber informasi, tetapi juga memiliki berbagai manfaat lainnya yang mungkin belum banyak orang yang mengetahuinya. Rata-rata kebanyakan orang di Indonesia menggunakan internet hanya untuk sekedar mencari informasi dan berkomunikasi dengan email atau chatting.

Internet juga memiliki manfaat besar sebagai peluang bisnis dan usaha, sebagai contoh anda yang memiliki sebuah toko buku dapat menjual buku-buku anda tersebut di internet, keuntungan yang dapatkan bahkan bisa 2 bahkan 10 kali lipat dibanding jika anda menjual produk secara offline karena produk yang akan anda jual mencakup seluruh dunia dan bisa dilakukan dengan mudah dan cepat.

Memasarkan produk melalui internet juga tidak membutuhkan modal yang besar bahkan jauh lebih kecil dibanding jika anda membangun sebuah toko atau gedung. Sudah banyak orang-orang yang beralih menjual produk mereka melalui internet karena menurut mereka keuntungan yang diperoleh akan jauh lebih besar.

Di internet juga banyak terdapat berbagai jenis peluang investasi yang cukup menjanjikan. Rata-rata keuntungan yang kita peroleh dengan berinvestasi di suatu perusahaan melalui internet adalah 25% - 40% setiap bulannya dengan masa kontrak bervariasi. Berinvestasi melalui internet tentu memiliki resiko yang sangat besar karena suatu saat suatu perusahaan tempat kita berinvestasi dapat saja bangkrut.

Dengan melakukan pemasaran atau promosi melalui internet, produk kita bisa dilihat oleh puluhan ribu bahkan ratusan ribu orang setiap bulannya yang berasal dari berbagai kota dan negara berbeda.

Diposting oleh Alfandra Tiaputra di 16:53 0 komentar Link ke posting ini

Selasa, 2007 September 04

Hacker VS Cracker ??
Mungkin anda sudah sering mendengar istilah Hacker & Cracker. Namun, apa yang dimaksud Hacker & Cracker ? Lalu apa perbedaannya ?

Perkembangan teknologi yang semakin pesat semakin meningkatnya tingkat kriminalitas yang dilakukan oleh penjahat lewat internet. Seorang penjahat internet tidak tanggung-tanggung menguras habis uang suatu perusahaan hanya dalam hitungan menit melalui internet.

Lalu, Siapa Penjahat Internet Tersebut ?
Penjahat tersebut disebut dengan istilah "Cracker". Cracker adalah musuh besar bagi Hacker karena mereka memiliki tujuan yang berkebalikan. Cracker memiliki tujuan untuk merusak komputer korban melalui internet sedangkan hacker memiliki tujuan untuk mengamankan atau memproteksi sistem pertahanan komputer. Banyak orang yang menganggap bahwa hacker sama saja dengan cracker padahal keduanya sangatlah berbeda, hanya mereka sama-sama seorang programmer yang mana bisa menyusup sistem keamanan komputer.

Sudah banyak perusahaan-perusahaan besar yang telah meminta bantuan para hacker untuk memproteksi sistem keamanan komputer perusahaan, beberapa perusahaan besar tersebut adalah Google, Yahoo, Microsoft, dan berbagai perusahaan lainnya.

semoga bermanfaat * Maju terus indonesia dan tetap berhati-hati dalam hidup ini,semoga bermanfaat dan sukses semoga ALLAH slalu memberikan yang terbaik selamanya kepada galihrezah dan kekasihnya,,,amin hehehe makasih bentar ane mikir dulu buat postingan besok,,hehe hehehe jadi malu kabur ah..hahaha waduh kurang cepet ne balik lagi ah hehehe.. eh ga jadi kabur hihihi maaf-maaf kalau ane ada salah..hehe minum dulu gan salam kenal yah hehehe thanks for visiting this blog and CMIIW (Correct Me If I am Wrong).

Tuesday, June 14, 2011

penjelasan dalam modding se




  1. Firmware : Software / perangkat lunak yang dibuat oleh vendor (perusahaan pembuat ponsel) untuk mengoperasikan fitur-fitur ponsel, yang terdiri dari beberapa bagian yang lebih kecil.
  2. Flashing : Proses memasukkan firmware ke ponsel.
  3. Patching : Proses memodifikasi sebagian dari firmware dengan mengganti byte-byte data yang sudah ada dengan nilai yang baru, dengan tujuan memanipulasi sistem ponsel untuk mendapatkan hasil yang diinginkan. Misal: fitur baru, menon-aktifkan suatu fitur yang dianggap mengganggu, dan lain sebagainya.
  4. FS (File System) : Bagian dari firmware yang berfungsi untuk menyimpan file-file settingan / konfigurasi agar ponsel dapat digunakan sebagaimana mestinya, yang sekaligus berfungsi sebagai tempat internal memory / phone memory ponsel.
  5. MAIN / FLASH : Bagian utama firmware yang berfungsi sebagai Operating System (OS) ponsel yang mengoperasikan fungsi-fungsi ponsel itu sendiri.
  6. Backup : Membuat salinan / copy-an dari data-data / file-file penting, sebelum melakukan modifikasi terhadap ponsel, agar jika hasilnya tidak sesuai keinginan / tidak memuaskan, maka file-file yang sudah dibackup tadi dapat dikembalikan / di-restore lagi ke ponsel.
  7. Restore : Mengembalikan file-file / data-data yang sudah di-backup dengan tujuan mengembalikan keadaan seperti sebelumnya.
  8. Upload : Mengcopy file dari komputer ke FS (File System) ponsel.
  9. Download : Mengcopy file dari FS (File System) ponsel ke komputer untuk dimodifikasi atau di-backup.
  10. Finalize / Finalizing : Tahap terakhir dalam proses full flashing, yaitu proses mengcopy file-file konfigurasi / settingan ponsel yang paling utama, beserta file-file sertifikat Java ke FS (File System) ponsel, agar ponsel dapat digunakan kembali setelah mengalami full flashing.
  11. Full flashing : Proses flashing yang dilakukan pada bagian MAIN dan FS ponsel.
  12. Partial flashing : Proses flashing yang dilakukan hanya pada bagian MAIN saja, atau hanya pada bagian FS saja.
  13. Cross flash : Flashing suatu tipe ponsel dengan menggunakan firmware tipe ponsel lain yang memiliki spesifikasi sama dengan ponsel tersebut. Misal : Cross flash K750i dengan firmware W800i.
  14. Update firmware : Proses meng-update firmware ponsel dengan firmware yang versinya lebih baru / aktual, dengan tujuan menghilangkan bugs-bugs pada versi firmware sebelumnya.
  15. Bugs : masalah masalah yang tidak terdeteksi (tidak diketahui) sebelumnya. biasanya pihak vendor baru mengetahui terjadinya bugs pada saat ponsel telah diluncurkan di pasaran.masalah ini dikarenakan oleh kesalahan firmware ponsel. Sehingga semua ponsel dengan tipe yang sama yang menggunakan versi firmware yang sama, akan mengalami masalah yang sama. Misal: baterai yang tidak dapat di-charge sampai 100% penuh.
  16. Customize / Customizing : Modding yang dilakukan pada FS (File System) ponsel dengan tujuan mengkostumisasi tampilan ponsel. Biasanya dilakukan untuk mengganti tampilan icon-icon menu ponsel yang standar dengan tampilan baru yang lebih menarik.
  17. db20xx : Jenis chipset yang digunakan pada ponsel.
    • db2000 (disebut juga marita full) : Z1010, V800, Z800, W900
    • db2010 (disebut juga marita compact) : J300, K300, K310, K500, K510, K600, K608, K700, S700, K750, W550, W800, W810
    • db2020 : K800, K610, V630, K790, W850
    • db2012 : (db2010 dgn cid diatas cid49)w810 cid50,K320
    • db2001 + PDA Part : M600, M608, W950, W958, P990
    • 1. SEMC ODM
      A. Calypso, ada pada ponsel J110, J120, K200, K220
      B. Arima, cth. ponsel: J220, J230, Z300
      C. Locosto, cth: T250, Z250, T280, T303
    • SEMC PNX5230, cth: W350, W380, Z310
  18. CID : Nomor CID menentukan jenis proteksi ponsel yang digunakan oleh Sony Ericsson. CID baru terus dikembangkan dari waktu ke waktu, dengan tujuan untuk mencegah ponsel-ponsel SE di-unlock, di-flash, atau di-utak-atik dengan program-program selain program service resmi SE. CID yang ada sekarang ini adalah : 16, 29, 36, 49, 51, 52.
  19. COLOR BLUE / BROWN / RED : Warna-warna ini menentukan jenis ponsel.
    • BLUE : ponsel diproduksi di pabrik dan tidak pernah diprogram dengan software / GDFS / IMEI
    • BROWN : ponsel yang digunakan untuk tujuan pengembangan / testing. Bisa dianggap sebagai prototype / beta.
    • RED : ponsel yang beredar bebas di pasaran.
  20. OTP : One Time Programming Memory, yaitu suatu bagian di memory yang dapat diprogram secara permanen (sekali diprogram tidak dapat diubah / dimodifikasi lagi).
  21. GDFS : Global Data Flash Storage, yaitu non volatile area yang menyimpan parameter-parameter, settingan-settingan dan kalibrasi data (termasuk simlock)
  22. CDA : Nomor CDA menentukan varian firmware mana yang harus seharusnya digunakan untuk ponsel tersebut. Nomor CDA ini yang menentukan language pack, branding, bandlock yang mana yang akan diflashkan ke dalam ponsel oleh SEUS (Sony Ericsson Update Service). Contoh: sebuah K750i Generic di Scandinavia menggunakan CDA102337/12, sedangkan K750i yang branded (hanya bisa menggunakan provider Telenor) menggunakan CDA102338/62. Keduanya akan diflash dengan paket bahasa yang sama, akan tetapi yang terakhir hanya bisa menggunakan sim card dari provider Telenor saja (branded).
  23. SEUS : Sony Ericsson Update Service. Program resmi buatan Sony Ericsson untuk para pengguna HP Sony Ericsson yang ingin mengupdate firmware nya sendiri via internet tanpa harus membawa ke SESC.
  24. SESC : Sony Ericsson Service Center. Gerai service resmi Sony Ericsson.
  25. IMEI : imei ialah, International Mobile Equipment Identity/Perangkat lunak Identitas Ponsel Internasional yang berupa 15 digit angka numerik, dimana imei tersebut juga tersimpan 2 tempat yang satu OTP dan terakhir GDFS, penggantian IMEI adalah illegal so jangan sampai kena ama aparat aja.
  26. EMMA: emma berupa alat & perangkat lunak software yang biasa digunakan oleh pihak sonyericsson servis center versi emma perangkat lunak tersebut saat ini adalah versi emma3, kegunaan alat & perangkat lunak dari emma tersebut ialah: ” anda dapat memprogram ulang, mengunci operator gsm, dan tidak dapat membuka operator gsm”. EMMA & kunci CSCA dapat digandengkan maka kita dapat membuka operator gsm untuk semua versi cid.
  27. A2: A2 ialah sekuriti baru sonyericsson mobile phone, ponsel yang mempunyai sekuriti baru memiliki sekuriti tanda tangan digital dari pihak sonyericsson itu sendiri, maka kedepannya ponsel yang telah support A2 makin sulit di buka baik itu program ulang, unlock patch (patch artinya tidak permanen buka operator) (tolong dikoreksi kalau salah ). Sedangkan ponsel2 yang ber CID52 yang akan datang telah support patch unlock dengan kata lain udah gratis tidak memerlukan login ke setool, gti dll.Cerita sebenarnya tentang platform A2
  28. WSOD: White Screen Of Death, Layar ngeblank, kedip-kedip putih
  29. BROD: Blue Ring Of Death, gue belum tau detil permasalahan, tetapi masalah ini ditemukan di K850
  30. Branded: Ponsel yang dikunci oleh provider tertentu. Jadi ponsel yang branded tidak dapat menggunakan chip (SIM) dari provider lain.
  31. Unbranded: Proses pengembalian setting ke kondisi original Sony Ericsson.
  32. EROM atau Extended ROM, merupakan bagian dari software yang tidak dapat diflashing dengan cara normal. Bagian ini mengatur interface flashing, boot loader dll. Pada EROM inilah sertifikat primer tertanam
  33. FYI:
    F305, S302 dan W302 tergolong SEMC-ODM dgn chipset terbaru: Neptune. Ketiga varian ini memiliki 3 bagian firmware seperti varian ponsel non ODM lainnya yang terdiri dari Main Firmware, FS dan CustPack (sebelumnya SEMC ODM based phone hanya memiliki 2 (SEMC ODM Locosto Arima) atau 4 (SEMC ODM Locosto Foxconn) bagian firmware saja).
Checking IMEI number from phone: *#06#
Lockstatus: <- * * <-
Ganti ke default language: <-0000->
Ganti ke Automatic Language: <-8888->
service menu : ->*<-<-*<-*

update
kalau tulisan di atas kurang jelas

coba yang ini



Firmware : Software / perangkat lunak yang dibuat oleh vendor (perusahaan pembuat ponsel) untuk mengoperasikan fitur-fitur ponsel, yang terdiri dari beberapa bagian yang lebih kecil.
Flashing : Proses memasukkan firmware ke ponsel.
Patching : Proses memodifikasi sebagian dari firmware dengan mengganti byte-byte data yang sudah ada dengan nilai yang baru, dengan tujuan memanipulasi sistem ponsel untuk mendapatkan hasil yang diinginkan. Misal: fitur baru, menon-aktifkan suatu fitur yang dianggap mengganggu, dan lain sebagainya.
FS (File System) : Bagian dari firmware yang berfungsi untuk menyimpan file-file settingan / konfigurasi agar ponsel dapat digunakan sebagaimana mestinya, yang sekaligus berfungsi sebagai tempat internal memory / phone memory ponsel.
MAIN / FLASH : Bagian utama firmware yang berfungsi sebagai Operating System (OS) ponsel yang mengoperasikan fungsi-fungsi ponsel itu sendiri.
Backup : Membuat salinan / copy-an dari data-data / file-file penting, sebelum melakukan modifikasi terhadap ponsel, agar jika hasilnya tidak sesuai keinginan / tidak memuaskan, maka file-file yang sudah dibackup tadi dapat dikembalikan / di-restore lagi ke ponsel.
Restore : Mengembalikan file-file / data-data yang sudah di-backup dengan tujuan mengembalikan keadaan seperti sebelumnya.
Upload : Mengcopy file dari komputer ke FS (File System) ponsel.
Download : Mengcopy file dari FS (File System) ponsel ke komputer untuk dimodifikasi atau di-backup.
Finalize / Finalizing : Tahap terakhir dalam proses full flashing, yaitu proses mengcopy file-file konfigurasi / settingan ponsel yang paling utama, beserta file-file sertifikat Java ke FS (File System) ponsel, agar ponsel dapat digunakan kembali setelah mengalami full flashing.
Full flashing : Proses flashing yang dilakukan pada bagian MAIN dan FS ponsel.
Partial flashing : Proses flashing yang dilakukan hanya pada bagian MAIN saja, atau hanya pada bagian FS saja.
Cross flash : Flashing suatu tipe ponsel dengan menggunakan firmware tipe ponsel lain yang memiliki spesifikasi sama dengan ponsel tersebut. Misal : Cross flash K750i dengan firmware W800i.
Update firmware : Proses meng-update firmware ponsel dengan firmware yang versinya lebih baru / aktual, dengan tujuan menghilangkan bugs-bugs pada versi firmware sebelumnya.
Bugs : masalah masalah yang tidak terdeteksi (tidak diketahui) sebelumnya. biasanya pihak vendor baru mengetahui terjadinya bugs pada saat ponsel telah diluncurkan di pasaran.masalah ini dikarenakan oleh kesalahan firmware ponsel. Sehingga semua ponsel dengan tipe yang sama yang menggunakan versi firmware yang sama, akan mengalami masalah yang sama. Misal: baterai yang tidak dapat di-charge sampai 100% penuh.
Customize / Customizing : Modding yang dilakukan pada FS (File System) ponsel dengan tujuan mengkostumisasi tampilan ponsel. Biasanya dilakukan untuk mengganti tampilan icon-icon menu ponsel yang standar dengan tampilan baru yang lebih menarik.
db20xx : Jenis chipset yang digunakan pada ponsel.
db2000 (disebut juga marita full) : Z1010, V800, Z800, W900
db2010 (disebut juga marita compact) : J300, K300, K310, K500, K510, K600, K608, K700, S700, K750, W550, W800, W810
db2020 : K800, K610, V630, K790, W850,k810
db2012 : (db2010 dgn cid diatas cid49)w810 cid50,K320
db2001 + PDA Part : M600, M608, W950, W958, P990,w960
1. SEMC ODM
A. Calypso, ada pada ponsel J110, J120, K200, K220
B. Arima, cth. ponsel: J220, J230, Z300
C. Locosto, cth: T250, Z250, T280, T303
SEMC PNX5230, cth: W350, W380, Z310
CID : Nomor CID menentukan jenis proteksi ponsel yang digunakan oleh Sony Ericsson. CID baru terus dikembangkan dari waktu ke waktu, dengan tujuan untuk mencegah ponsel-ponsel SE di-unlock, di-flash, atau di-utak-atik dengan program-program selain program service resmi SE. CID yang ada sekarang ini adalah : 16, 29, 36, 49, 51, 52.
COLOR BLUE / BROWN / RED : Warna-warna ini menentukan jenis ponsel.
BLUE : ponsel diproduksi di pabrik dan tidak pernah diprogram dengan software / GDFS / IMEI
BROWN : ponsel yang digunakan untuk tujuan pengembangan / testing. Bisa dianggap sebagai prototype / beta.
RED : ponsel yang beredar bebas di pasaran.
OTP : One Time Programming Memory, yaitu suatu bagian di memory yang dapat diprogram secara permanen (sekali diprogram tidak dapat diubah / dimodifikasi lagi).
GDFS : Global Data Flash Storage, yaitu non volatile area yang menyimpan parameter-parameter, settingan-settingan dan kalibrasi data (termasuk simlock)
CDA : Nomor CDA menentukan varian firmware mana yang harus seharusnya digunakan untuk ponsel tersebut. Nomor CDA ini yang menentukan language pack, branding, bandlock yang mana yang akan diflashkan ke dalam ponsel oleh SEUS (Sony Ericsson Update Service). Contoh: sebuah K750i Generic di Scandinavia menggunakan CDA102337/12, sedangkan K750i yang branded (hanya bisa menggunakan provider Telenor) menggunakan CDA102338/62. Keduanya akan diflash dengan paket bahasa yang sama, akan tetapi yang terakhir hanya bisa menggunakan sim card dari provider Telenor saja (branded).
SEUS : Sony Ericsson Update Service. Program resmi buatan Sony Ericsson untuk para pengguna HP Sony Ericsson yang ingin mengupdate firmware nya sendiri via internet tanpa harus membawa ke SESC.
SESC : Sony Ericsson Service Center. Gerai service resmi Sony Ericsson.
IMEI : imei ialah, International Mobile Equipment Identity/Perangkat lunak Identitas Ponsel Internasional yang berupa 15 digit angka numerik, dimana imei tersebut juga tersimpan 2 tempat yang satu OTP dan terakhir GDFS, penggantian IMEI adalah illegal so jangan sampai kena ama aparat aja.
EMMA: emma berupa alat & perangkat lunak software yang biasa digunakan oleh pihak sonyericsson servis center versi emma perangkat lunak tersebut saat ini adalah versi emma3, kegunaan alat & perangkat lunak dari emma tersebut ialah: ” anda dapat memprogram ulang, mengunci operator gsm, dan tidak dapat membuka operator gsm”. EMMA & kunci CSCA dapat digandengkan maka kita dapat membuka operator gsm untuk semua versi cid.
A2: A2 ialah sekuriti baru sonyericsson mobile phone, ponsel yang mempunyai sekuriti baru memiliki sekuriti tanda tangan digital dari pihak sonyericsson itu sendiri, maka kedepannya ponsel yang telah support A2 makin sulit di buka baik itu program ulang, unlock patch (patch artinya tidak permanen buka operator) (tolong dikoreksi kalau salah ). Sedangkan ponsel2 yang ber CID52 yang akan datang telah support patch unlock dengan kata lain udah gratis tidak memerlukan login ke setool, gti dll.Cerita sebenarnya tentang platform A2
WSOD: White Screen Of Death, Layar ngeblank, kedip-kedip putih
BROD: Blue Ring Of Death, gue belum tau detil permasalahan, tetapi masalah ini ditemukan di K850
Branded: Ponsel yang dikunci oleh provider tertentu. Jadi ponsel yang branded tidak dapat menggunakan chip (SIM) dari provider lain.
Unbranded: Proses pengembalian setting ke kondisi original Sony Ericsson.
EROM atau Extended ROM, merupakan bagian dari software yang tidak dapat diflashing dengan cara normal. Bagian ini mengatur interface flashing, boot loader dll. Pada EROM inilah sertifikat primer tertanam
FYI:
F305, S302 dan W302 tergolong SEMC-ODM dgn chipset terbaru: Neptune. Ketiga varian ini memiliki 3 bagian firmware seperti varian ponsel non ODM lainnya yang terdiri dari Main Firmware, FS dan CustPack (sebelumnya SEMC ODM based phone hanya memiliki 2 (SEMC ODM Locosto Arima) atau 4 (SEMC ODM Locosto Foxconn) bagian firmware saja).
Checking IMEI number from phone: *#06#
Lockstatus: <- * * <-Ganti ke default language: <-0000->
Ganti ke Automatic Language: <-8888->
service menu : ->*<-<-*<-*semoga bermanfaat * Maju terus indonesia dan tetap berhati-hati dalam hidup ini,semoga bermanfaat dan sukses semoga ALLAH slalu memberikan yang terbaik selamanya kepada galihrezah dan kekasihnya,,,amin hehehe makasih bentar ane mikir dulu buat postingan besok,,hehe hehehe jadi malu kabur ah..hahaha waduh kurang cepet ne balik lagi ah hehehe.. eh ga jadi kabur hihihi maaf-maaf kalau ane ada salah..hehe minum dulu gan salam kenal yah hehehe thanks for visiting this blog and CMIIW (Correct Me If I am Wrong).

Friday, June 3, 2011

membahas tentang manajemen memory



LINUX MANAGEMENT MEMORY



PENDAHULUAN

Manajemen memori merupakan salah satu bagian terpenting dalam sistem operasi. Memori perlu dikelola sebaik-baiknya agar :

1. Utilitas CPU meningkat.

2. Data dan instruksi dapat diakses dengan cepat oleh CPU.

3. Tercapai efisiensi dalam pemakaian memori yang terbatas.

4. Transfer data dari/ke memori utama ke/dari CPU dapat lebih efisien.

Manajemen memori di Linux melingkupi bahasan – bahasan :

a. Pengalamatan memori.

b. Pengalokasian memori dinamis secara kontigu dan non kontigu.

c. Proses address space.

MEMORY ADDRESSING

Dalam mengakses isi dari sel memori programmer biasanya mengacu pada alamat memori (memory addresses). Pada microprocessor Intel 80×86 memory addresses dibedakan menjadi tiga jenis address :

1. Logical Address

Terdapat pada instruksi bahasa mesin untuk menspesifikkan alamat dari sebuah operan atau instruksi. Setiap logical address terdiri dari sebuah segment dan sebuah offset (displacement) yang menyatakan jarak dari awal segment ke alamat aktual.

2. Linear Address

Merupakan sebuah 32-bit unsigned integer tunggal yang bisa digunakan untuk pengalamatan hingga 4 GB. Biasanya direpresentasikan dalam notasi heksadesimal.

3. Physical Address

Digunakan untuk pengalamatan sel memori, terdapat pada chip memori.

CPU control unit mengubah logical address ke linear address dengan menggunakan perangkat hardware yang disebut segmentation unit, dan kemudian circuit hardware kedua yang disebut paging unit mengubah linear address ke physical address.

Gambar 1 : Jenis Address

Segmentation



Segmentation pada hardware

Dimulai dengan model 80386, microprocessor Intel menampilkan translasi alamat dengan 2 cara berbeda, yang disebut real mode dan protected mode. Real mode untuk memelihara kompatibilitas prosesor dengan model yang lebih lama dan untuk OS agar dapat melakukan bootstrap.

Segmentation Registers

Logical address terdiri atas dua bagian : segment identifier dan sebuah offset yang menunjukkan alamat yang bersangkutan pada segment. Segment identifier adalah sebuah 16-bit field yang disebut segment selector. Untuk mempermudah memperoleh segment selectors dengan cepat, prosesor menyediakan segmentation register yang tujuannya hanya untuk memegang segment selectors. Ada enam segmentation register : cs, ss, ds, es, fs, dan gs.

Segment Descriptor

Setiap segment direpresentasikan dengan 8-byte segment descriptor yang menggambarkan karakteristik segment. Segment descriptor disimpan pada Global Descriptor Table(GDT) atau pada Local Descriptor Table(LDT).

Segment Selectors

Untuk mempercepat pengubahan dari logical address ke linear address, Intel menyediakan nonprogrammable register tambahan untuk setiap dari 6 programmable segmentation register. Setiap segment selector di-load pada sebuah segmentation register, segment descriptor yang bersangkutan di-load dari memori ke nonprogrammable CPU register yang bersesuaian. Jadi, pengubahan dari logical address ke linear address dilakukan tanpa mengakses GDT atau LDT yang berada pada memori utama. Akses ke GDT atau LDT hanya diperlukan bila isi dari segmentation register berubah. Setiap segment selector mengandung hal-hal berikut :

- Sebuah index 13-bit yang menunjukkan masukan segment descriptor yang berhubungan yang terdapat pada GDT atau LDT.

- Sebuah TI (tabe indicator) flag yang menunjukkan apakah segment descriptor terdapat pada GDt (Ti = 0) atau pada LDT (TI = 1).

- Sebuah RPl (requestor privilege level) 2-bit field, yang membuat current privilege level cPu tepat saat segment selector yang berhubungan di-load ke register cs.

Segmentation Unit

Segmentatipn Unit melakukan operasi-operasi berikut :

Ø Memeriksa TI dari segment selector, untuk memutuskan apakah descriptor table berada pada segment descriptor.

Ø Menghitung alamat dari segment descriptor dari index filed segment selector.

Ø Menambahkan ke Base field dari segment descriptor, offset dari logical address, sehingga diperoleh linear address.

Segmentation pada Linux

Linux menggunakan segmentasi secara sangat terbatas. Kenyataannya, segmentasi dan paging merupakan hal yang redundan karena keduanya digunakan untuk memisahkan ruang physical address padai proses. Segmentasi bisa menugaskan sebuah ruang linear address yang berbeda, sementara paging bisa memetakan ruang linear address yang sama ke ruang physical address yang berbeda. Linux lebih menyukai paging karena alasan berikut :

Manajemen memori lebih sederhana bila semua proses menggunakan nilai segment register yang sama, yaitu, pada saat saling berbagi linear addressess yang sama.
Salah satu tujuan desain Linux adalah portabilitas untuk sebagian besar arsitektur populer; sementara beberapa prosesor RISC hanya mendukung segmentasi secara terbatas.

Paging

Paging pada hardware

Paging unit mengubah linear addresses ke physical adresses. Paging unit mengecek tipe permintaan akses yang melanggar hak akses dari linear address. Jika akses memori tidak valid, maka akan menghasilkan eksepsi page fault.

Untuk efisiensi, linear address dikelompokkan dalam interval fixed-length yang disebut pages; linear addressess kontigu pada sebuah page dipetakan ke physical addresses kontigu. Paging unit menganggap semua RAM terpartisi menjadi fixed-length page frames. Setiap page frame mengandung sebuah page. Struktur data yang memetakan linear ke physical addressses disebut page tables, tersimpan dalam memori utama dan harus diinisialisasi secara tepay oleh kernel sebelum memfungsikan paging unit.

Regular Paging

Linear address 32 bit dibagi menjadi 3 :

Ø Direktori, 10 bit most significant

Ø Tabel, 10 bit intermediet

Ø Offset, 12 bit least significant

Pengubahan linear address terjadi 2 dalam 2 tahap, masing-masing berdasar pada tipe tabel translasi. Tabel translasi yang pertama disebut page directory dan yang kedua disebut page table.

Extended Paging

Dimulai pada model Pentium, mikroprosesor Intel 80×86 memperkenalkan extended paging, yang memungkinkan page frames berukuran 4KB atau 4 MB. Extended paging dimungkinkan dengan men-set Page Size flag dari sebuah entri Page Directory. Pada kasus ini, paging unit membagi 32 bit linear address menjadi 2 bagian:

Ø Direktori, 10 bit most significant

Ø Offset, 22 bit sisanya

Entri page directory untuk extended paging sama dengan untuk paging biasa, kecuali :

Ø Page Size flag harus diset.

Ø Hanya 10 bit most signifcant pertama dari 10 bit physical address field yang signifikan

Transaction Lookaside Buffers (TLB)

Selain cache general purpose hardware, Intel 80×86 menyediakan juga cache yang lain, disebut translation lookaside buffers (TLB) untuk meningkatkan kecepatan translasi linear address.

Paging pada Linux

Linux mengadopsi model three-level paging sehingga paging memungkinkan pada arsitektur 64 bit. Tiga tipe paging tables :

Ø Page Global Directory

Ø Page Middle Directory

Ø Page Table

Page Global Directory mengandung alamat dari beberapa Page Middle Directory, yang mengandung beberapa alamat dari beberapa Page Tables. Setiap entri page table menunjuk ke sebuah page frame. Linear address kemudian terbagi menjadi 4 bagian.

Linear Address Fields

Makro berikut ini menyederhanakan page table handling :

Ø PAGE_SHIFT, menentukan panjang offset field dalam bit.

Ø PMD_SHIFT, menentukan logaritma dari ukuran area Page Middle Directory entry yang dapat dipetakan.

Ø PGDIR_SHIFT, menentukan logaritma dari ukuran area Page Global Directory entry yang dapat dipetakan.

Ø PTRS_PER_PTE, PTRS_PER_PMD, dan PTRS_PER_PGD; menghitung jumlah entri di Page table, Page Middle Directory, dan Page Global Directory, bernilai 1024, 1 dan 1024.

Page Table Handling

pte_t, pmd_t, dan pgd_t merupakan tipe data 32 bit yang menggambarkan entri Page Table Table, Page Middle Directory, dan Page Global Directory. pgprot_t merupakan tipe data 32-bit yang lain yang merepresentasikan protection flags dihubungkan dengan entri tunggal.

Empat tipe makro konversi tipe (_ _pte(), _ _pmd(), dan _ _pgprot()) meng-casting unsigned integer 32-bit ke tipe yang sesuai. Kernel juga menyediakan beberapa makro dan fungsi untuk membaca atau memodifikasi entri page table : pte_none(), pmd_none(), pgd_none(), pte_presents(), pmd_present(), pgd_present(), pte_clear(), pmd_clear(), dan pgd_clear. Makro pmd_bad() dan pgd_bad()digunakan oleh fungsi untuk mengecek entri Page Global Directory dan Page Middle Directory sebagai parameter. Tidak ada makro pte_bad()karena legal bagi sebuah entri Page Table untuk mengacu pada sebuah page yang tidak berada di memori utama, tidak bisa ditulis, atau tidak bisa diakses sama sekali. Beberapa fungsi yang berhubungan dengan flag yang terkandung dalam entri Page Table :

pte_read(),pte_write(),pte_exect(),pte_dirty(),pte_young(),pte_wrprotect(),pte_rdprotect(),pte_exprotec(),pte_mkwrite(),pte_mkread(),pte_mkexec(), pte_mkdirty, pte_mkclean(),pte_mkyoung(), pte_mkold(), pte_modify(p,v), set_pte.

Kemudian makro yang mengkombinasikan sebuah alamat page dan sebuah grup protection flags menjadi sebuah page entry 32 bit : mk_pte(), mk_pte_phys(), pte_page(),pmd_page(), pgd_offset(p, a), pmd_offset(p, a).

Fungsi dan makro yang lain :

pte_quicklist, pgd_quicklist,check_pgt_cache(), pgd_alloc(), pmd_alloc(p, a), pte_alloc(p, a), pte_free(), pte_free_kernel(), pgd_free(), free_one_pmd(), free_one_pgd(), SET_PAGE_DIR, new_page_tables(), clear_page_tables(), free_page_tables().

Reserved Page Frames

Kode kernel dan struktur data disimpan dalam sebuah kelompok dari reserved page frames. Arsitektur PC memempunyai beberapa kelakuan yang tidak biasa :

Ø Page frame 0 digunakan oleh BIOS untuk menyimpan konfigurasi hardware sistem yang terderteksi selama Power On-Self Test (POST).

Ø Physical addressess dari 0x000a0000 hingga 0x000fffff dipesan untk rutin BIOS dan untuk pemetaan internal memori dari ISA graphic cards.

Ø Page frames tambahan pada megabyte pertama mungkin dipesan oleh model komputer model tertentu. Contohnya, Ibm ThinkPad memetakan 0xa0 page frame ke 0x9f.

Proses Page Tables

Ruang linear address dibagi menjadi dua bagian :

Ø Linear address dari 0×00000000 ke PAGE_OFFSET -1 bisa dialamatkan saat proses berada pada user atau kernel mode.

Ø Linear address dari 0×00000000 ke PAGE_OFFSET -1 bisa dialamatkan hanya saat proses berada pada kernel mode.

Kernel Page Tables

Kernel menginisialisai page table dirinya dalam dua fase. Sesaat sesudah kernel di-load ke memori, CPU masih bekerja dalam real mode; sehingga paging masih belum berfungsi. Pada fase pertama, kernel membuat sebuah ruang alamat terbatas 4 MB, yang cukup untuk menginstal dirinya pada RAM. Pada fase kedua, kernel memanfaatkan semua Ram yang ada dan men-set paging tables dengan tepat.





MEMORY MANAGEMENT

Beberapa bagian dari RAM digunakan oleh kernel untuk menyimpan kode kernel dan struktur data statis kernel. Sisa dari bagian yang digunakan oleh kernel tersebut disebut dynamic memory. Dynamic memory ini tidak hanya digunakan oleh proses, tetapi juga oleh kernel senidri. Kualitas performansi dari keseluruhan sistem tergantung pada seberapa efisien manajemen dynaimc memory. Manajemen memori yang akan dibahas berikut menggambarkan bagaimana kernel mengalokasikan memori untuk keperluannya. Macam teknik manajemen memori :

1. Physically contigous memory areas

a. Page Frame Management

b. Memory Area Management

Physically noncontigous memory areas

a. Noncontigous Memory Area Management

Contiguous Memory Area Management



Page Frame Management



Linux menggunakan ukuran page frame 4KB sebagai standar untuk memory alocation unit, alasannya :

1. Kernel bisa langsung mengetahui memory allocation unit di mana page fault terjadi.

2. Ukuran 4KB merupakan kelipatan terkecil dari hampir seluruh ukuran blok disk.

Page frame descriptor diinisialisasi oleh fungsi free_area_init(), yang mempunyai 2 parameter : start_mem dan end_mem.

Kemudian fungsi mem_init() mengosongkan flag PG_reserved , dan flag PG_DMA dari semua page frame yang mempunyai alamat fisik sama dengan atau lebih besar dari 0×1000000.

Gambar 2 : Layout Memori

Requesting & Releasing Page Frame

Page frame bisa direquest dengan fungsi dan makro berikut :

• _ _get_free_pages(gfp_mask, order), untuk merequest 2order page frame kontigu.

• _ _get_dma_pages(gfp_mask, order), makro untuk mendapatkan page frame yang cocok untuk DMA; berkembang menjadi : _ _get_free_pages(gfp_mask | GFP_DMA, order).

• _ _get_free_page(gfp_mask), makro untuk mendapatkan page frame tunggal, berkembang ke : _ _get_free_pages(gfp_mask, 0).

• get_free_page(gfp_mask), fungsi yang memanggil _ _get_free_page(gfp_mask) dan kemudian mengisi page frame yang didapatkan dengan 0

Page frame bisa dibebaskan (direlease) melalui fungsi dan makro berikut :

• free_pages(addr, order), fungsi yang mengecek page descriptor dari page frame yang mempunyai alamat fisik addr.

• _ _free_page(p), membebaskan page frame yang descriptornya ditunjuk oleh parameter p.

• free_page(addr), makro untuk membebaskan page frame dengan alamat fisik addr, berkembang ke free_pages(addr, 0).

Parameter gfp_mask menspesifikasikan bagaimana mencari page frame yang bebas. Terdiri atas flag – flag :

_ _GFP_WAIT , diset apabila kernel diijinkan untuk membuang isi page frame untuk membebaskan memori sebelum memenuhi request.
_ _GFP_IO, diset apabila kernel diijinkan untuk menulis page ke disk dengan tujuan membebaskan page frame yang bersangkutan.
_ _GFP_DMA, diset apabila page frame yang diminta harus sesuai untuk DMA.
_ _GFP_HIGH, _ _GFP_MED, _ _GFP_LOW, menspesifikasikan prioritas request. _ _GFP_LOW biasanya diasosiasikan dengan request dynamic memory oleh proses User Mode, dan prioritas yang lain diasosiasikan dengan request dari kernel.

Buddy System Algorithm

Teknik yang digunakan linux untuk mengatasi fragmentasi eksternal adalah algoritma sistem buddy.

Sistem Buddy merupakan cara mengelola memori utama dengan memanfaatkan kelebihan penggunaan bilangan biner.

Semua page frame dibagi menjadi 10 list blok yang terdiri dari group 1, 2, 4, 8, 16, 32, 64, 128, 256, dan 512 page frame yang kontigu, secara berurutan : alamat page frame pertama dari blok merupakan kelipatan dari ukuran group, misalnya, blok frame 16 merupakan kelipatan dari 16 × 212

Misalnya suatu memori utama pada awalnya memiliki satu lubang besar berukuran 1 Mbyte. Jika suatu proses A berukuran 90Kbyte memasuki memori, maka permintaan 90 Kbyte akan dialokasikan ke lokasi terdekat yang dapat memuatnya yaitu 128 Kbyte. Karena tidak tersedia blok ukuran 128, maka blok 1 Mbyte dipecah menjadi 2 blok masing-masing berukuran 512 Kbyte. Blok ini dibagi lagi menjadi blok-blok berukuran 256 Kbyte, selanjutnya masih dibagi menjadi blok-blok 128 Kbyte. Kemudian Proses B yang berukuran 50 Kbyte akan menempati lubang 64 Kbyte berikutnya dengan cara membagi blok 64 Kbyte. Jika tidak ada blok yang dapat dialokasikan maka akan melaporkan error.

Dengan menggunakan sistem buddy ini akan mudah melakukan dealokasi proses. Jika suatu proses dibebaskan, kernel akan melakukan penggabungan dari pasangan blok buddy yang bebas dengan ukuran b ke dalam blok tunggal dengan ukuran 2b. Dua blok dapat digabung jika kedua buddy mempunyai ukuran yang sama, dialokasikan pada alamat fisik yang kontigu, dan alamat fisik dari page pertama dari blok pertama merupaka kelipatan dari 2b x 212. Penggabungan ini dilakukan secara iteratif.

a. Struktur Data

Linux menggnakan 2 sistem buddy yang berbeda. Satu sistem untuk meng-handle page frame yang sesuai untuk ISA DMA, sementara yang lainya meng-handle page frame yang tersisa. Masing-masing sistem buddy ini menggunkan struktur data :

array mem_map (array yang mengandung page frame descriptor).
array yang mempunyai 10 elemen dengan tipe free_area_struct, satu elemen untuk tiap ukuran group. Variabel free_area[0] menunjuk pada array yang digunakan sistem buddy untuk page frame yang tidak sesuai untuk ISA DMA, sementara free_area[1] menunjuk pada array yang digunakan sistem buddy untuk page frames yang sesuai untuk ISA DMA.
10 array biner yang dinamakan bitmaps, 1 untuk tiap ukuran group. Tiap-tiap sistem buddy mempunyai himpunan bitmapsnya sendiri yang digunakan untuk menjaga track dari blok yang dialokasikan.

b. Allocation

Untuk mengalokasikan suatu page frame, sistem buddy menggunakan function __get_free_pages().

Algoritma : Pertama mengecek apakah ada ruang yang cukup, yaitu jika nr_free_pages lebih besar daripada freepages.min. Jika tidak, maka perlu mendapatkan kembali page frame, atau tetap mengalokasikan dengan mengeksekusi kode yang terkandung di macro RMQUEUE_TYPE. Jika page frame telah dialokasikan, kode di macro RMQUEUE_TYPE mengeksekusi return statement, lalu menterminasi function __get_free_pages(). Kemudian jika kode pada RMQUEUE_TYPE dieksekusi lagi dengan parameter kedua = 1, maka request untuk alokasi memori dipenuhi dengan menggunakan page frame yang sesuai dengan DMA.

Macro kemudian melakukan pencarian blok yang tersedia pada list. Jika loop while (untuk search) selesai, jika tidak ada blok yang cocok yang ditemukan, maka __get_free_pages() mengembalikan nilai NULL, jika blok yang sesuai ditemukan, maka descriptor dari page frame pertama dihapus dari list, kemudian bitmap yang sesuai di update, dan melakukan decreament pada nilai nr_free_pages. Jika blok yang ditemukan berasal dari list mempunyai ukuran new_order lebih besar daripada ukurang yang direquest, loop while di eksekusi. Akhirnya, RMQUEUE_TYPE meng-update counter untuk page descriptor yang diasosiasikan dengan blok yang dipilih dan mengeksekusi instruksi hasil. Sebagai hasilnya, function __get_free_pages() mengembalikan nilai alamat dari blok yang ditemukan

c. Deallocation

Sistem buddy menggunakan function free_pages_ok() untuk membebaskan page frame dengan menggunakan 3 parameter input.

map_nr, yaitu nomor page dari salah satu page frame yang terkandung dari blok yang akan dibebaskan.
order, yaitu ukuran logik blok
type, biner, 1 jika page frame sesuai untuk DMA dan 0 jika tidak

Algoritma : Fungsi ini dimulai dengan men-declare dan menginisialisasi local variable.

struct page *next, *prev;

struct free_area_struct *area =&free_area[type][order];

unsigned long index = map_nr >> (1 + order);

unsigned long mask = (~0UL) << order;unsigned long flags;variabel mask mengandung komplemen dua dari 2order yang digunakan untuk mengubah map_nr ke dalam nomor dari page frame pertama blok yang dibebaskan dan untuk melakukan increament nr_free_pages.Kemudian fungsi mulai mengeksekusi cycle paling banyak (9-order), satu kali untuk tiap kemungkinan untuk menggabungkan blok dengan buddynya. Di dalam body loop dilakukan pengecekan apakah buddy dari blok yang mempunyai map_nr bebas atau tidak. Pada akir iterasi, fungsi melakukan update terhadap mask, area, index, dan map_nr. Kemudian fungsi ini melanjutkan pada iterasi selanjutnya, mencoba untuk menggabungkan blok-blok bebas untuk yang kedua kalinya menjadi satu blok bebas dengan ukuran yang lebih besar.Memory Area Managemet Manajemen memory area ini digunakan untuk mengatasi request untu memory area dengan ukuran kecil. Dengan adanya manajemen memory area maka internal fragmentation yang terjadi akibat adanya sistem buddy dapat dikurangi. Untuk iu digunakan algoritma slab allocator.The Slab AllocatorAlgoritma ini menggambarkan memory area sebagai objek-objek yang terdiri dari struktur data dan pasangan metode, yaitu constructor yang berfungsi untuk menginisialisasi memory area, dan destructor yang berfungsi untuk meng-deinisialisasi memory area. Objek-objek yang ada dikelompokkan ke dalam caches. Area dari main memory terdiri dari suatu cache yang dibagi menjadi slab-slab yang terdiri dari satu atau lebih page frame yang kontigu yang juga terdiri dari dari objek yang sudah dialokasikan dan yang masih bebas.Gambar 3 : Keterhubungan Cache, Slab dan ObjekSlab allocator tidak pernah membuang objek yang telah dialokasikan, namun membebaskannya tetapi tetap menyimpannya di dalam memory. Hal ini dilakukan agar ketika ada request untuk objek baru maka dapat diambil dari memori tanpa melakukan inisialisasi ulang. Jadi secara umum, tujuan dari penggunaan slab allocator ini adalah untuk mengurangi pemanggilan buddy sistem allocator.Kernel function cenderung untuk me-request memory area dengan tipe yang sama secara berulang-ulang sehingga tidak perlu melakukan alokasi dan dealokasi page frame yang mengandung memory area yang sama secara berulang-ulang, tetapi cukup dengan menyimpannya dalam cache dan menggunakan ulang ketika diperlukan. Cache DescriptorTiap cache descriptor terdiri dari tabel dengan struktur data : c_name, menunjuk nama dari cache c_firstp, c_lastp, menunjuk first dan last slab descriptor dari cache. c_freep, menunjuk slab descriptor pertama yang setidaknya mengandung satu objek bebas. c_num, merupakan jumlah objek dalam satu slab tunggal. Semua slab dari suatu cache mempunyai ukuran yang sama. c_offset, merupakan ukuran dari objek yang terkandung dalam suatu cache. c_gfporder, angka logaritma dari jumlah page frame kontigu yang terdapat pada suatu slab tunggal. c_ctor, c_dtor, menunjuk pada constructor dan destructor c_nextp, menunjuk next cache descriptor c_flags, suatu array flag yang mendeskripsikan beberapa permanent dari cache. c_magic, mengandung magic number yang digunakan untuk mengecek keadaan suatu cache pada saat ini dan konsistensinya. Slab DescriptorTiap slab pada cache mempunyai deskriptornya masing-masing dengan type struct kmem_slab_s. Field-field yang penting pada suatu slab descriptor antara lain : s_inuse, merupakan jumlah objek pada slab yang sedang dialokasikan. s_mem, menunjuk pada objek pertama pada slab, baik yang sudah dialokasikan ataupun yang masih bebas. s_freep, menunjuk objek bebas pertama pada slab jika ada. s_nextp, s_prevp, menunjuk next dan previous slab descriptor. s_dma, diset oleh flag untuk menunjukkan bahwa objek pada slab dapat digunakan oleh DMA. s_magic, mengandung magic number yang digunakan untuk mengecek keadaan suatu slab pada saat ini dan konsistensinya.Slab descriptor disimpan dengan dua kemungkinan tergantung pada ukuran objek pada slab. Jika ukuran objek kurang dari 512 bytes, slab descriptor disimpan diakhir slab; dan sebaliknya jika ukuran objek dalam slab itu lebih dari 512 bytes maka slab descriptor disimpan di luar slab. General And Specific CachesCache dibedakan menjadi dua jenis, yaitu general dan spesifik. General caches hanya digunakan oleh slab allocator untuk tujuannya, sementara cache spesifik digunakan oleh bagian lain dari kernel.General caches terdiri dari : Cache pertama yang terdiri dari cache deskriptor yang digunakan oleh kernel. Cache kedua terdiri dari slab descriptor yang tidak disimpan dalam slab. Tiga belas cache tambahan terdiri dari memori area yang terdistribusi secara geometri. Tabel dengan nama cache_sizes yang elemen-elemennya merupakan type cache_sizes_t yang menunjuk pada 13 cache descriptor yang diasosiasikan dalam memory area dengan ukuran : 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, dan 131072 bytes.Specific caches dibuat oleh fungsi kmem_cache_sizes_init(). Berdasarkan parameter, fungsi ini pertama kali menentukan cara paling baik untuk meng-handle cache baru. Kemudian membuat cache descriptor untuk cache baru itu dan memasukkan descriptor ke dalam general cache cache_cache. Sekali cache sudah dibuat maka tidak dapat dihilangkan. Allocating A Slab to A CacheCache yang baru dibuat tidak mengandung slab, oleh karena itu tidak mengandung objek bebas. Slab baru dapat di-assign ke dalam cache dengan syarat : Request telah dikeluarkan untuk mengalokasikan objek baru. Cache tidak mengandung objek bebas.Ketika kedua syarat tersebut dipenuhi maka slab baru di-assign ke dalam cache dengan memanggil fungsi kmem_cache_grow(). Fungsi ini memanggil fungsi kmem_getpages() untuk mendapatkan kumpulan page frame dari buddy sistem, kemudian memanggil fungsi kmem_cache_slabmgmt() untuk mendapatkan slab descriptor baru. Kemudian memanggil fungsi kmem_cache_init_objs() yang menggunakan metode constructor kepada semua objek yang dikandung pada slab baru. Kemudian memanggil fungsi kmem_slab_link_end() yang memasukkan slab descriptor pada akhir list slab pada cache (insert last). Releasing a Slab from a CacheSlab allocator tidak pernah membebaskan page frame dari slab yang kosong, namun slab dapat dibebaskan hanya jika : Buddy system tidak mampu memenuhi request page frame. Slab kosong, dan semua objek yang dikandungnya bebas.Ketika kernel mencari page frame bebas tambahan, maka kernel memanggil fungsi try_to_free_pages(). Fungsi ini mungkin memanggil fungsi kmem_cache_reap() yang memilih cache yang sedikitnya mengandung satu slab kosong. Kemudian fungsi kmem_slab_unlink() menghapus slab dari list. Kemudian dihilangkan sama sekali dengan menggunakan fungsi kmem_slab_destroy(). Object DescriptorSeperti halnya slab descriptor, objek descriptor juga dapat disimpan dalam dua cara, yaitu: External object descriptorObjek descriptor disimpan di luar slab. Internal object descriptorObjek descriptor disimpan di dalam slab, ditempatkan sesudah objek yang dideskripsikannya.Slab allocator akan menggunakan cara pertama (External object descriptor) jika ukuran objek kelipatan dari 512, 1024, 2048, atau 4096 karena jika untuk ukuran tersebut objek disimpan di dalam slab maka kemungkinan adanya internal fragmentation semakin besar. Jika ukuran objek kurang dari 512 bytes atau bukan merupakan kelipatan dari 512, 1024, 2048, atau 4096, maka objek tersebut disimpan di dalam slab.Struktur data dari objek descriptor :typedef struct kmem_bufctl_s {union {struct kmem_bufctl_s * buf_nextp;kmem_slab_t * buf_slabp;void * buf_objp;} u;} kmem_bufctl_t;#define buf_nextp u.buf_nextp#define buf_slabp u.buf_slabp#define buf_objp u.buf_objpbuf_nextp, menunjuk objek bebas selanjutnya pada slab jika objek bebas.buf_objp, menunjuk pada objek jika objek sudah dialokasikan dan objek descriptornya disimpan di luar slab.buf_slabp, menunjuk pada slab descriptor dari slab dimana objek disimpan jika objek yang dialokasikan dan objek descriptornya disimpan di dalam slab. Noncontiguous Memory Area Management Pemetaan Memory area ke Page Frame yang kontigu lebih banyak digunakan karena penggunaan cache yang lebih maksimal dan waktu akses memori yang lebih rendah. Namun jika permintaan akses akan memori area jarang, maka alokasi berdasarkan page frame yang non kontigu melalui linier address yang kontigu dapat digunakan.Keuntungan dari skema tersebut adalah menghindari external fragmentation. Hal ini dikarenakan penggunaan list yang besarnya telah ditentukan sebelum akan dialokasikan. Sedangkan kerugiannya adalah kita harus banyak berurusan dengan Page Table Kernel. Ukuran dari noncontiguous memory area merupakan kelipatan dari 4096. Linux menggunakan noncontiguous memory area untuk mengalokasikan struktur data untuk swap area aktif, alokasi space utnuk modul atau alokasi buffer untuk perangkat I/O. Linier Address untuk Memori Area NonkontiguUntuk mencari interval linier address kita dapat memulai dari PAGE_OFFSET. PAG_OFFSET merupakan gigabyte keempat dari total 4 GB linier address yang bisa digunakan. Kita tahu bahwa Kernel menggunakan bagian awal dari memory dimulai dari PAGE_OFFSET ini. Namun itu hanya sebagian kecil saja. Semua linier address setelah bagian tersebut dapat bebas digunakan untuk memetakan noncontiguous memory area. Antara memory area yang satu dengan yang lain dipisahkan oleh interval 4-8 KB ( noncontiguous ).Gambar 4 : Linier Address Gigabyte keempatDeskriptor Memori Area NonkontiguNoncontiguous memory area dideskripsikan dengan struktur data vm_struct :struct vm_struct {unsigned long flags;void *addr;unsigned long size;struct vm_struct *next; };Deskriptor ini memiliki next yang mendefinisikan area selanjutnya. Address dari first element disimpan di variabel vmlist. Sedangkan addr menyimpan linier address untuk memory cell area yang pertama dan size menyimpan ukuran + 4096.Fungsi get_vm_area () digunakan untuk membuat deskriptor baru dari tipe vm_struct tadi. Parameternya adalah size yang menspesifikasikan ukuran dari memory area yang diinginkan.Fungsi get_vm_area () pertama kali memanggil kmalloc () untuk memperoleh memory area dari deskriptor yang baru. Fungsi tersebut mencari range linier yang memungkinkan untuk dialokasi dengan ukuran size + 4096. Jika range tersebut ada, maka fungsi tersebut akan mengembalikan initial address dari noncontiguous memory area dan jika gagal akan mengembalikan NULL.Alokasi Memori Area NonkontiguFungsi vmalloc () digunakan untuk mengalokasikan sebuah noncontiguous memory area pada kernel. Parameter yang digunakan adalah size yang menyatakan ukuran. Jika fungsi ini berhasil maka akan mengembalikan initial linier address dari area yang baru atau mengembalikan NULL jika gagal.Pertama kali fungsi vmalloc () akan didekatkan ke kelipatan dari 4096. Selain itu akan diperiksa apakah size tadi > 0 dan <= jumlah page frame yang tersedia. Jika syarat tersebut dipenuhi maka vmalloc () akan memanggil fungsi get_vm_area () yang menciptakan deskriptor dan mengembalikan linier address yang diassign ke memory area. Lalu vmalloc () akan memanggil vmalloc_area_ pages () untuk merequest noncontiguous page frame dan diterminasi dengan mengembalikan initial linier address dari noncontiguous memory area.Fungsi vmalloc_area_ pages () menggunakan 2 parameter : address, sebagai initial linier address dari area dan size sebagai ukuran. Akhir dari linier address merupakan penjumlahan dari address dengan size.Fungsi vmalloc_area_ pages () menggunakan makro pgd_offset_k untuk menurunkan entry di Page Global Direktory yang berhubungan dengan initial address dari area yang dialokasi. Lalu fungis vmalloc_area_pages () tersebut dalam setiap siklusnya memanggil pmd_alloc_kernel () untuk membuat Page Middle Directory untuk area yang baru lalu memanggil alloc_area_pmd () untuk mengalokasikan semua Page Table yang berhubungan dengan Page Middle Directory baru tadi. Selanjutnya set_pgdir () dipanggil untuk mengupdate entry yang berkorespondensi dengan Page Middle Directory yang baru di semua Page Global Directories yang ada. Siklus ini berlangsung hingga semua Page Table entries yang merujuk ke noncontiguous memory area baru berhasil diset.Dalam alloc_area_pmd () dipanggil pte_alloc_kernel () yang mengalokasikan Page Table yang baru dan mengupdate entry yang berkorespondensi dalam Page Middle Directory. Selanjutnya alloc_area_pte () mengalokasikan semua page frame yang berkorespondensi dengan entry di Page Table.Setiap page frame dialokasikan melalui fungsi __get_free_page () yang dipanggil dalam alloc_area_pte (). Alamat fisik dari page frame yang baru ditulis ke dalam Page Table dengan macro set_pte dan mk_pte. Releasing Memori Area NonkontiguUntuk membebaskan noncontiguous memory area digunakan fungsi vfree (). Parameter yang digunakan adalah addr yang berisi initial linier address area yang akan dibebaskan.Pertama kali vfree () akan mencari area deskriptor yang berasosiasi dengan area yang akan dibebaskan. Size dari deskriptor mendefinisikan ukuran dari area yang akan dibebaskan. Area itu sendiri dibebaskan dengan fungsi vmfree_area_pages () sedangkan deskriptornya dengan fungsi kfree ().Fungsi vmfree_area_pages () menggunakan 2 parameter : initial linier address dan size area. Di dalamnya akan memanggil free_area_pmd () yang merupakan kebalikan aksi dari alloc_area_pmd () dan free_area_pte () yang merupakan kebalikan aksi dari alloc_area_pte ().Tiap page frame yang dialokasikan ke noncontiguous memory area dibebaskan dengan fungsi free_page () dan entry yang berkorespondensi di Page Table diset 0 dengan makro pte_clear. PROSES ADDRESS SPACE Ketika user mode process meminta alokasi memori, maka proses tersebut bagi kernel : Dianggap nonurgent sehingga proses tersebut tidak dengan segera mendapat alokasi memori. Tidak bersih dari error sehingga kernel harus berusaha menangguli error yang ada.Karena kernel berusaha sebisa mungkin untuk menunda permintaan alokasi memory maka user mode process menggunakan sebuah interval linier address yang baru yang merupakan bagian dari address space yang disebut memory region.Address space sebuah proses terdiri dari semua linier address yang proses tersebut dapat gunakan. Interval linier address tersebut disebut memory region. Memory region dikarakterisasi dengan initial address, length (panjang) dan hak akses. Untuk alasan efisiensi, maka initial address dan panjang dari memory region harus merupakan kelipatan dari 4096.1. Memory descriptorSegala informasi yang berhubungan dengan process address space terdapat dalam tabel referensi mm field dari process descriptor. Struktur data mm_struct :struct mm_struct {struct vm_area_struct *mmap, *mmap_avl, *mmap_cache;pgd_t *pgd;atomic_t count;int map_count;struct semaphore mmap_sem;unsigned long context;unsigned long start_code, end_code, start_data,end_data;unsigned long start_brk, brk, start_stack;unsigned long arg_start, arg_end, env_start, env_end;unsigned long rss, total_vm, locked_vm;unsigned long def_flags;unsigned long cpu_vm_mask;unsigned long swap_cnt;unsigned long swap_address;void *segments;};Field yang penting : pgd dan segments : menunjuk Page Global Directory dan Local Descriptor Table dari proses. rss : menspesifikasikan jumlah page frame yang dialokasikan untuk proses. total_vm : melambangkan ukuran proses dalam jumlah pages. locked_vm : menghitung jumlah “locked” pages, yaitu pages yang tidak bisa diswap. count : merupakan jumlah prses yang menggunakan mm_struct deskriptor yang sama.Fungsi mm_alloc () digunakan untuk mendapatkan memori deskriptor yang baru. Karena deskriptor ini terletak dalam slab allocator cache, maka mm_alloc () memanggil kmem_cache_alloc () untuk menginisialisasi memori deskriptor baru dengan menduplikasi isi dari memori deskriptor yang ada dan countnya diset 1.2. Memory RegionsMemory region dideskripsikan degna vm_area struct :struct vm_area_struct {struct mm_struct *vm_mm;unsigned long vm_start;unsigned long vm_end;struct vm_area_struct *vm_next;pgprot_t vm_page_prot;unsigned short vm_flags;short vm_avl_height;struct vm_area_struct *vm_avl_left, *vm_avl_right;struct vm_area_struct *vm_next_share,**vm_pprev_share;struct vm_operations_struct *vm_ops;unsigned long vm_offset;struct file *vm_file;unsigned long vm_pte;};Tiap memory region deskriptor mengindentifikasi sebuah interval linier address tertentu. vm_start berisi linier address dalam interval yang pertama sementara vm_end berisi linier address pertama diluar interval sehingga vm_end – vm_start merupakan panjang dari memory region.Memory region tiap proses tidak pernah overlap. Jika ada 2 memory region yang bersinggungan maka kernel akan berusaha untuk menggabungkannya. Jika tidak bisa maka akan dibuat saling bersebelahan saja. Pada proses dialokasi, jika yang didisalokasi ada ditengah-tengah sebuah memory region maka memory region tersebut akan terbagi 2.3. Page Fault HandlerLinux Page Fault exception handler harus membedakan eksepsi yang disebabkan oleh kesalahan programming dari eksepsi yang disebabkan oleh pengacuan ke sebuah page yang berada pada process address space , tetapi belum dialokasi. Fungsi do_page_fault()yang merupakan rutin servis interup Page Fault membandingkan linear address yang menyebabkan page fault dengan memori region dari proses current hal ini merupakan hal yang tepat untuk meng-handle exception.Jenis page fault handler antara lain : copy on write, demand paging, send SIGSEGV, kill process and kernel “Oops”, dan “fixup code”.4. Copy on WriteSistem Unix generasi pertama mengimplementasikan pembuatan proses dengan cara yang ceroboh : saat fork()dipanggil, kernel menduplikasi seluruh process address space parentdan meng-assign salinan proses ke child process. Kernel Unix modern memperkenalkan pendekatan yang lebih efisien yang disebut Copy OnWrite (COW). Idenya adalah daripada menduplikasi page frames, maka terjadi pembagian antara parent process dan child process.5. Managing the HeapSetiap proses Unix mempunyai memory region spesifik yang disebut heap yang digunakan untuk memenuhi permintaan proses dinamik memori. Field memory descriptor start_brk dan brk membatasi alamat awal dan akhir pada region tersebut.Fungsi libary C berikut bisa digunakan oleh proses untuk meminta dan membebaskan dynamic memory : malloc (size), meminta ukuran byte dynamic memory calloc(n, size), meminta sebuah array yang terdiri atas n elemen dari size, jika alokasi suskses maka akan menginisialisasi komponen array dengan 0 dan mengembalikan linear address dari elemen pertama. free(addr), membebaskan memory region yang dialokasikan oleh malloc() atau calloc() yang mempunyai alamat inisial addr. brk(addr), memodifikasi ukuran heap secara langsung, parameter addr menentukan nilai baru dari current->mm->brk, dan return value-nya adalah alamat akhir yang baru dari memory region.

semoga bermanfaat * Maju terus indonesia dan tetap berhati-hati dalam hidup ini,semoga bermanfaat dan sukses semoga ALLAH slalu memberikan yang terbaik selamanya kepada galihrezah dan kekasihnya,,,amin hehehe makasih bentar ane mikir dulu buat postingan besok,,hehe hehehe jadi malu kabur ah..hahaha waduh kurang cepet ne balik lagi ah hehehe.. eh ga jadi kabur hihihi maaf-maaf kalau ane ada salah..hehe minum dulu gan salam kenal yah hehehe thanks for visiting this blog and CMIIW (Correct Me If I am Wrong).

Sunday, February 20, 2011

Software untuk Latihan Mengetik Cepat



Rapid Typing

Rapid Typing
Software ini sangat mudah, pada layout gambar keyboard ditampilkan gambar tangan yang sedang mengetik, bila kita menekan sebuah tombol keyboard sesuai dengan materi yang di berikan maka jari tangan pada keyboard yang di tampilkan akan terlihat menekan tombol keyboard, tapi bila huruf yang kita tekan salah maka pada keyboard akan tampil tanda X

Program ini tidak perlu di install, setelah anda download cukup
diekstrak filenya kedalam satu folder, kemudian klik “Rapidtyping.exe” maka program akan bekerja.

Pada software ini anda bisa memilih bahasa yang di pergunakan, dan pada program ini tersedia Bahasa Indonesia.

File Name : RapidTyping_Portable_2.9.6
Size : 3,3 Mb
Lisensi : Freeware
Download
* Maju terus indonesia dan tetap berhati-hati dalam hidup ini,semoga bermanfaat dan sukses semoga ALLAH slalu memberikan yang terbaik selamanya kepada galihrezah dan kekasihnya,,,amin hehehe makasih bentar ane mikir dulu buat postingan besok,,hehe hehehe jadi malu kabur ah..hahaha waduh kurang cepet ne balik lagi ah hehehe.. eh ga jadi kabur hihihi maaf-maaf kalau ane ada salah..hehe minum dulu gan salam kenal yah hehehe kunjungi http://bloggertouch.appspot.com/galihrezah untuk versi mobile agar lebih mudah untuk memposting komentar thx for visiting this blog and CMIIW (Correct Me If I am Wrong).

Electronics dan Mechanics 10


Aplikasi ini sangat berguna untuk para Insiniur elektronik dan mekanik, adapun beberapa fitur yang terdapat pada aplikasi ini ataralain :

Electronics :
Pengukuran arus DC, Dasar Electronics , Test ukuran Resistor ,Simple DC Circuits, Tipe-tipe Switching, Variable Voltages, Hukum Ohm’s, DC Voltage , DC Current, Series/Parallel Resistors, AC Measurements, AC Voltage and Current, Teori AC, RCL Series Circuits, RCL Parallel Circuits, Capacitance , Capacitors, Inductance, Inductors, Impedance, Radio dan komunikasi

Mecanics

Attenuators, Passive Filters, Active Filters, Oscillators, Circuit Theorems , Complex Numbers, Electrical, DC Power, AC Power, Silicon Controlled Rectifier, Power Supplies, Voltage Regulation, Magnetism, Transformers , Three Phase Systems, Energy Transfer and Cost, SemiConductors, Atomic Structures, Diode Theory, Diode Applications, Transistor Theory, Bipolar Transistor, Transistor Configurations, Active Transistor Circuits, Field Effect Transistors, Basic Operational Amplifier, Op-Amp Theory , Op-Amp Applications, Sum and Difference Amp, Testing, Analogue Multi-Meter , Measurement -Mathematics, Number Systems, Number Conversion, Number Types, Roots, Angles and Parallels, Triangle Ratios, Triangle Angles, Percentages, Ratios, Fractions, Vectors, Circle Angles, Algebra Rules, Algebra, Mathematical Rules, Powers and Indices, Simplifying Equations, Graphing, Slope and Translation, dll

Dan software ini Gratis

Nama File : Mechatronics.exe
File Size : 7,53 Mb
Download
* Maju terus indonesia dan tetap berhati-hati dalam hidup ini,semoga bermanfaat dan sukses semoga ALLAH slalu memberikan yang terbaik selamanya kepada galihrezah dan kekasihnya,,,amin hehehe makasih bentar ane mikir dulu buat postingan besok,,hehe hehehe jadi malu kabur ah..hahaha waduh kurang cepet ne balik lagi ah hehehe.. eh ga jadi kabur hihihi maaf-maaf kalau ane ada salah..hehe minum dulu gan salam kenal yah hehehe kunjungi http://bloggertouch.appspot.com/galihrezah untuk versi mobile agar lebih mudah untuk memposting komentar thx for visiting this blog and CMIIW (Correct Me If I am Wrong).