Up-cakera

  • May 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Up-cakera as PDF for free.

More details

  • Words: 1,262
  • Pages: 9
TCWan

Page 1/9

08/31/09

1. Cakera Liut, Cakera Keras dan Fail (Mazidi 19) 1.1.Organisasi Cakera Cakera merupakan peranti storan sekunder (secondary storage device) yang menyimpankan data secara kekal. Ruang cakera dibahagikan menjadi runut (track) dan sektor (sector). Setiap sektor merupakan unit storan data yang asas untuk cakera tersebut. (Fig. 19-1, pg. 571)

Bilangan runut dan bilangan sektor untuk setiap runut adalah berbeza, dan ditetapkan oleh jenis cakera yang digunakan. Setiap sektor bersaiz 256 bait untuk ketumpatan tunggal (single density) ataupun 512 bait untuk ketumpatan berganda (double density). Semua cakera terkini menggunakan sektor bersaiz 512 bait. Saiz muatan (capacity) sesuatu cakera diberi oleh: Muatan = no. runut x no. sektor x saiz sektor Sektor-sektor cakera dikumpulkan menjadi suatu gugusan (cluster) untuk memudahkan pencapaian data pada cakera. Bilangan sektor dalam setiap gugusan berbeza berdasarkan format dan saiz cakera. Gugusan merupakan saiz peruntukan (allocation size) yang paling kecil untuk cakera tersebut. 1.1.1.Cakera Liut (Floppy Disk) (Table 19-1, pg. 572)

Biasanya gugusan 2 sektor digunakan untuk cakera liut. Saiz cakera liut terkini ialah 1.44 MB yang terdiri daripada 80 runut dengan 18 Version 1.0

TCWan

Page 2/9

08/31/09

sektor setiap runut. Peruntukan saiz fail terkecil ialah 1K, disebabkan oleh gugusan bersaiz 2 sektor tersebut. 1.1.2.Cakera Keras (Hard Disk) Cakera keras mempunyai beberapa piring dan kepala baca-tulis (read-write heads) yang dimuat bersama-sama. Semua runut pada radius yang sama dirujuk sebagai satu silinder (cylinder). Bilangan runut yang terdapat pada satu silinder bergantung kepada jumlah kepala baca-tulis yang dibekalkan. Muatan cakera keras terkini adalah lebih daripada 10 GB. Sesuatu cakera keras boleh dipemetakan (partitioned) menjadi beberapa cakera logikal. Setiap cakera logikal itu dicapai sebagai cakera berasingan melalui DOS. Terdapat berbagai cara menyimpan data pada cakera keras, iaitu Modulasi Frekuensi (FM), Modulasi Frekuensi Berubahsuaian (MFM), serta Panjangan Jalanan Terhad (RLL). (Fig. 19-4, pg. 587)

Perantaramukaan antara cakera keras dengan PC dilakukan melalui piawaian seperti ST506, ESDI, IDE dan SCSI. Prestasi sesuatu cakera keras adalah berdasarkan cara perantaramukaan, lebar jalur (bandwidth), cache dalaman, masa jagkau (seek time) dan juga masa capaian (access time). (Table 19-8, pg. 589)

Saiz gugusan untuk cakera keras berbeza berdasarkan muatannya. Gugusan yang besar saiznya diguna supaya mengurangkan saiz jadual peruntukan fail (FAT) yang diperlukan. Version 1.0

TCWan

Page 3/9

08/31/09

1.2.Format Cakera DOS Setiap cakera mestilah diformat sebelum ia boleh digunakan. Proses memformatkan cakera menetapkan saiz gugusan cakera, struktur data mengenai cakera, serta rekod but (boot record) cakera tersebut. (Fig. 19-2, pg. 573)

1.2.1.Format Rekod But (Boot Record) Rekod but menetapkan jenis cakera, kepadatan sektor, jumlah sektor dalam cakera, dan saiz struktur data seperti jadual perunutukan fail (FAT) dan direktori fail. Terdapat ruang dalam rekod but yang boleh digunakan untuk rutin pengikat but (bootstrap routine) supaya cakera tersebut boleh digunakan sebagai cakera but (boot disk). (Table 19-2, pg. 574)

Di samping rutin pengikat but, cakera but juga mempunyai beberapa fail pemacu (driver files) yang diperlukan untuk memuatkan DOS ke dalam ruang ingatan, dan pentafsir suruhan (command interpreter) DOS. 1.2.2.Struktur Direktori (Directory Sturcture) Direktori fail digunakan untuk menyimpan maklumat fail seperti nama fail, saiz fail, dan nombor gugusan permulaan (starting cluster number) yang digunakan oleh fail tersebut. Setiap unsur struktur direktori memerlukan 32 bait. (Fig. 19-3, pg. 579)

Version 1.0

TCWan

Page 4/9

08/31/09

1.2.3.Format Jadual Peruntukan Fail (FAT) Jadual peruntukan fail (FAT) digunakan untuk menyimpan maklumat mengenai kegunaan gugusan cakera oleh setiap fail yang tersimpan dalam cakera tersebut. Struktur FAT amat penting, dan pencapaian fail terjejas sekiranya maklumat FAT rosak. Dua salinan FAT disimpan dalam cakera supaya salinan kedua boleh digunakan untuk memulihkan (recover) cakera yang terkandas (crashed). Maklumat tidak dapat dipulihkan sekiranya kedua-dua salinan FAT rosak. Unsur struktur FAT 12 bit biasa digunakan untuk cakera muatan rendah, manakala unsur strktur FAT 16 bit digunakan untuk cakera muatan tinggi. Unsur FAT 12 bit disimpan dalam ruang 1.5 bait, manakala unsur FAT 16 bit disimpan dalam ruang 2 bait. Ruang unsur struktur FAT pertama dan kedua digunakan untuk menyimpankan bait pemerihal media (media descriptor byte), diikuti digit perenambelasan 'F' yang memenuhi baki ruang tersebut. Unsur struktur FAT kedua hingga yang terakhir mewakili gugusan data yang terdapat pada cakera tersebut. Gugusan cakera yang digunakan oleh sesuatu fail disimpan secara peruntukan senarai berpaut dalam DOS. Setiap unsur struktur FAT menyimpankan penunding gugusan cakera seterusnya untuk fail tersebut. Pencapaian fail oleh DOS akan mengikuti penunding gugusan cakera yang disimpan dalam unsur struktur FAT sehingga kod akhiran fail (FFFH) dijumpai. (Table 19-3, pg. 576, Table 19-4, pg. 580)

Contoh: Version 1.0

TCWan

Page 5/9

08/31/09

Unsur Struktur FAT (12 bit): 0

1

2

3

4

5

6

7

8

9

F9F

FFF

003

006

000

001

FFF

FF7

000

000

Jujukan bait sebenar: 0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F9

FF

FF

03

60

00

00

10

00

FF

7F

FF

00

00

00

Unsur FAT 12 bit dicapai secara membaca nilai 16 bit dan nibel tertentu akan dibuangkan. Ofset bait untuk unsur FAT yang diingini didapati melalui pendaraban nombor gugusan dengan 1.5. Bahagian integernya akan digunakan untuk merujuk kepada nilai 16 bit yang disimpan secara endian kecil. Sekiranya nombor gugusan genap, maka nibel paling bererti (most significant nibble) digugurkan. Sebaliknya, nombor gugusan ganjil akan menyebabkan nibel kurang bererti (least significant nibble) digugurkan. 1.2.4.Kesimpulan Ciri-ciri berbagai jenis cakera yang boleh digunakan oleh DOS terdapat dalam jadual berikut: (Table 19-5, pg. 581, Table 19-6, pg. 582) (E.g. 19-5, pg. 582)

Version 1.0

TCWan

Page 6/9

08/31/09

1.3.Sampukan DOS untuk Pengendalian Cakera (Table 19-9, pg. 593)

1.3.1.Cipta Fail (Create File) Fungsi (AH) = 3CH Contoh: FNAM_ASCIIZ

DB

'test.txt',0

HANDLE_A

DW ?

MOV

AH,3CH

; cipta fail

MOV

CX, 0H

; atribut fail biasa

MOV

DX,OFFSET FNAM_ASCIIZ ; nama fail

INT

21H

; sampukan DOS

JC

ERROR

; masalah

MOV

HANDLE_A,AX

; rujukan fail (handle)

Parameter kembali: CF = 0 jika berjaya. Rujukan fail akan dipulangkan melalui AX dan unsur direktori dicipta untuk fail tersebut. CF = 1 jika gagal. AX = kod ralat (error code).

Version 1.0

TCWan

Page 7/9

08/31/09

1.3.2.Tulis Fail (Write File) Fungsi (AH) = 40H Contoh: OUTBUF

DB

HANDLE_A

'Hello' DW ?

MOV

AH,40H

; tulis fail

MOV

CX, 5H

; bilangan bait output

MOV

BX,HANDLE_A

; rujukan fail (handle)

MOV

DX,OFFSET OUTBUF

; penunding data

INT

21H

; sampukan DOS

Parameter kembali: CF = 0 jika berjaya. AX = bilangan bait ditulis CF = 1 jika gagal. AX = kod ralat (error code). 1.3.3.Tutup Fail (Close File) Fungsi (AH) = 3EH Contoh: HANDLE_A

DW ?

MOV

AH,3EH

; tutup fail

MOV

BX,HANDLE_A

; rujukan fail (handle)

INT

21H

; sampukan DOS

Version 1.0

TCWan

Page 8/9

08/31/09

Nota: Semua fail terbuka harus ditutup sebelum aturcara ditamatkan. Unsur direktori dan FAT akan dikemas kini semasa fail ditutup. 1.3.4.Baca Fail (Read File) Fungsi (AH) = 3FH Contoh: INBUF

DB

HANDLE_A

80 DUP (?) DW ?

MOV

AH,3FH

; baca fail

MOV

CX, 80H

; bilangan bait input

MOV

BX,HANDLE_A

; rujukan fail (handle)

MOV

DX,OFFSET INBUF

; penunding data

INT

21H

; sampukan DOS

Parameter kembali: CF = 0 jika berjaya. AX = bilangan bait dibaca CF = 1 jika gagal. AX = kod ralat (error code).

Version 1.0

TCWan

Page 9/9

08/31/09

1.3.5.Buka Fail (Open File) Fungsi (AH) = 3DH Contoh: FNAM_ASCIIZ

DB

'test.txt',0

HANDLE_A

DW ?

MOV

AH,3DH

; buka fail

MOV

AL, 0H

; mod fail (read)

MOV

DX,OFFSET FNAM_ASCIIZ ; nama fail

INT

21H

; sampukan DOS

JC

ERROR

; masalah

MOV

HANDLE_A,AX

; rujukan fail (handle)

Parameter kembali: CF = 0 jika berjaya. Rujukan fail akan dipulangkan melalui AX. CF = 1 jika gagal. AX = kod ralat (error code). (Prog. 19-1, pg. 595,596)

Version 1.0