I am an entry level programmer with no formal training in computer science. I am trying to enhance my conceptual knowledge about operating systems in general.
I have been using the C programming language on Linux systems for some time and have used the traditional unix stream I/O APIs. The introductory material in books and on the web, typically introduce the unix stream I/O model as "basic unix I/O model is a stream of bytes which can be accessed sequentially or randomly". I understand this part, but I am unable to visualize how else would one access the data. Were the I/O models different before the I/O stream model came in to existence? Are there models in current computing paradigm which are different from the stream I/O. I will appreciate if some can help me visualize both the stream I/O model vs other models (if they exist or existed). Pros-Cons will be a great addition too.
In addition, I came across the following statement on the web (
I/O System)
"The basic model of the UNIX I/O system is a sequence of bytes that can be accessed either randomly or sequentially. There are no
access methods and no
control blocks in a typical UNIX user process."
I do not understand the last statement - what are access methods and control blocks in the context of I/O?
Thanks
Kay