Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
ISAM
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Design considerations== IBM engineers designed the ISAM system to use a minimum amount of [[computer memory]]. The tradeoff was that the [[channel I/O|Input/Output channel]], control unit, and disk were kept busier. An ISAM file consists of a collection of data records and two or three levels of index. The ''track index'' contains the highest key for each [[Track (disk drive)|disk track]] on the [[Cylinder-head-sector#Cylinders|cylinder]] it indexes. The ''cylinder index'' stores the highest key on a cylinder, and the [[Cylinder-head-sector|disk address]] of the corresponding track index. An optional ''master index'', usually used only for large files, contains the highest key on a cylinder index track and the disk address of that cylinder index. Once a file is loaded data records are not moved; inserted records are placed into a separate ''overflow area''. To locate a record by key the indexes on disk are searched by a complex [[Self-modifying code#Channel programs|self-modifying]] [[Channel I/O#Channel program|channel program]].<ref name="LIOCS">{{cite book |last1=IBM Corporation |title=DOS/VS LIOCS Volume 3: DAM and ISAM Logic |date=1973 |pages=[https://archive.org/details/bitsavers_ibm370DOSVIOCSVolume3DAMandISAMLogicRel28Jun73_36886118/page/n62 63]β72 |url=https://archive.org/details/bitsavers_ibm370DOSVIOCSVolume3DAMandISAMLogicRel28Jun73_36886118 |access-date=Dec 30, 2018}}</ref> This increased the busy time of the channel, control unit, and disk. With increased physical and virtual memory sizes in later systems this was seen as inefficient, and [[VSAM]] was developed to alter the tradeoff between memory usage and disk activity. ISAM's use of self-modifying channel programs later caused difficulties for [[CP-67]] support of [[OS/360]], since CP-67 copied an entire channel program into fixed memory when the I/O operation was started and translated virtual addresses to real addresses.<ref>{{cite book |last1=IBM Corporation |title=IBM Virtual Machine Facility /370: Planning Guide |date=1972 |page=45 |url=http://www.bitsavers.org/pdf/ibm/370/VM_370/Release_1/GC20-1801-0_VM370_Planning_Guide_Aug72.pdf |access-date=Jan 8, 2018}}</ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)