operating-system


Purpose of sector and disk-block divisions [closed]


From the book:
The number of tracks on a disk ranges from a few hundred to a few thousand, and
the capacity of each track typically ranges from tens of Kbytes to 150 Kbytes.
Because a track usually contains a large amount of information, it is divided into
smaller blocks or sectors. The division of a track into sectors is hard-coded on the
disk surface and cannot be changed. One type of sector organization, as shown in
Figure 17.2(a), calls a portion of a track that subtends a fixed angle at the center a
sector. Several other sector organizations are possible, one of which is to have the
sectors subtend smaller angles at the center as one moves away, thus maintaining a
uniform density of recording, as shown in Figure 17.2(b). Not all disks have their tracks divided into sectors.
The division of a track into equal-sized disk blocks (or pages) is set by the operating system during disk formatting (or initialization). Block size is fixed during ini-
tialization and cannot be changed dynamically. Typical disk block sizes range from
512 to 8192 bytes.
I can't get some questions:
1) If there is a sector division according to "portions of a track that subtends a fixed angle at the center a sector" then can most outside sectors store more data than inside ones?
2) If an hard-disk has coded in a sector division can an OS perform an disk-block division?
3) If the answer to the previous question is affermative, what's the purpose of sector division if the OS always carries out a formatting to use the disk and it divides the tracks in disk-blocks and the OS works by disk-blocks?
1) Disk sectors always store the same amount of data each, so all tracks would store the same amount of data as each other since they would have the same number of sectors as each other. However, the tracks closer to the center would take up less physical space, making the data stored there more dense than on the outer tracks.
This is why the second approach, also known as zone bit recording, is more common: it allows the disk to store more data without being physically larger. It also means that data stored on the outer tracks of a disk can be accessed with higher bandwidth: since the angular velocity of the disk is generally fixed, more sectors can be read on the outer tracks as compared to the inner ones during a given length of time.
2) I think this book does a poor job of explaining disk blocks and sectors, and the information seems somewhat outdated. Disk sectors are the fundamental data unit that an OS can address on a disk. This is very similar to how RAM is generally addressed on a byte basis. So, an OS can request to read or write data in sector-sized chunks. In the past, almost all disks used 512 bytes as a sector size, but newer disks use 4KB sectors for variety of reasons.
The actual filesystem then tracks files on a block basis, i.e. which blocks compose a given file. The block size will usually be a multiple of the sector size, though it would be theoretically possible to divide sectors into multiple blocks. On larger disks, it can be useful to have a block size where each block is several sectors long because the overhead of managing smaller blocks can be very high. This is similar to the way virtual memory management works. Even though RAM can be addressed on a byte basis, virtual memory is managed in larger pages (frequently 4KB) to reduce the overhead.
3) I think I answered this one above.

Related Links

How does Virtualization works internally?
Software support multi-user in OS
MMU and Page Table
how virtual memory increases context switching overhead?
Which x64 Bit Host OS that can be equivalent to Bare Metal hypervisor and can run VirtualBox as well as VMWare software
Is the valid invalid bit a waste with respect to protection?
How many total number of processes are there?
Can Child Process and Parent Process run deterministically?
How to disable the sheet asking “Do you want to move the installer to the Trash?” after installation is complete
how to specify in test to use 'get file' from operating system library than ssh library in robotframework
What is Page fault service time?
grub-mkrescue generates corrupted iso
optimal time slice for timesharing operating system
A method of checking my cpu bit
How to refresh mapped driver before run our software?
Can every USB stick may be turned into a bootable USB?

Categories

HOME
opencart
clearcase
xcode8.1
exchange-server
concurrency
loopbackjs
dafny
whmcs
out-of-memory
twitter-fabric
yql
mathematical-optimization
liferay-7
header
qooxdoo
eddystone
roku
fireloop
documentum
dhcp
sonata
mahout-recommender
bnf
android-5.1.1-lollipop
cocos2d-android
angular2-highcharts
activeadmin
backtracking
pymongo
tortoisehg
ninject
jsonresult
audit
nic
xcrun
kendo-listview
winrm
orchardcms-1.8
keyboard-layout
forms-authentication
eclipse-gmf
elastica
gitolite
utf
icepdf
vesta
image-registration
nonlinear-functions
lightning-workbench
visual-format-language
degrees
d3v4
email-injection
oid
jsonix
ndk-build
mathjs
nvda
carmen
conan
maven-release-plugin
unsigned
adp
apple-configurator
facebook-ios-sdk
django-redis
mnesia
django-validation
wikimedia-commons
odesk
ibm-was
arbre
lowercase
chicagoboss
knife
mobilefirst-server
kefir.js
ampersand
web-api
sablecc
ssmtp
html-escape-characters
htmltidy
nesper
iplimage
webmethod
network-printers
stripe.net
webaii
gpu-programming
armv6
vlab
lru
indesign-server
microformats
multiple-dispatch
uipangesturerecognizer
navigationcontroller
n-queens
microblogging
firefly-mv
database-deadlocks
fork-join
bll
qcar-sdk
regression-testing
iphone-sdk-4.3
stretchblt

Resources

Database Users
RDBMS discuss
Database Dev&Adm
javascript
java
csharp
php
android
javascript
java
csharp
php
python
android
jquery
ruby
ios
html
Mobile App
Mobile App
Mobile App