QIO

QIO (Queue I/O) is a term used in several computer operating systems designed by the former Digital Equipment Corporation (DEC) of Maynard, Massachusetts.

I/O operations on these systems are initiated by issuing a QIO call to the kernel. There are two types of QIO - Queue I/O and Queue I/O with Wait.

For QIO without wait, the call returns immediately. If the request is successfully enqueued, the actual operation occurs asynchronously. On completion, status is returned in the QIO status doubleword. The QIO request may also specify that completion set an event flag or issue an Asynchronous System Trap (AST).

The call may also be issued as QIOW (Queue I/O and Wait for completion), allowing synchronous I/O. In this case, the wait-for-event-flag operation is combined so the call does not return until the I/O operation completes or fails.

The following operating systems implement QIO(W):

QIO arguments in VMS

Under VMS, the arguments to the QIO call are:

  • The event flag to set when the operation completes. It isn't possible to not specify an event flag; flag 0 is valid. It is perfectly permissible to have multiple simultaneous operations that set the same event flag on completion. It is then up to the application to sort out any confusion this might cause, or just ignore that event flag.
  • The channel, a small integer previously associated with the device. At this level, all operations on disk files and directories (filename parsing, directory lookup, file opening/closing) are done by appropriate QIO requests.
  • The function code to be performed. 6 bits are assigned to the basic code (such as read, write), with a further 10 bits for "modifiers" whose meaning depend on the basic code.
  • The optional I/O status block (IOSB), which is cleared by the QIO call, and filled in on completion of the I/O operation. The first two bytes hold the completion status (success, end of file reached, timeout, I/O error, etc.), while the next two bytes normally return the number of bytes read or written in the operation. The meaning, if any, of the last four bytes is operation-dependent.
  • The optional AST routine to invoke when the operation completes.
  • An additional parameter (whose meaning is up to the caller) to be passed to the AST routine.
  • A partially standardized list of up to six parameters known as P1 through P6. The first two parameters typically specify the I/O buffer starting address (P1), and the I/O byte count (P2). The remaining parameters vary with the operation, and the particular device. For example, for a computer terminal, P3 might be the time to allow for the read to complete whereas, for a disk drive, it might be the starting block number of the transfer.

QIO completion

There are three different ways to sense when the queued I/O operation has completed:

  1. When the event flag becomes set.
  2. When the first two bytes of the IOSB become nonzero.
  3. When the AST routine executes.

Unusual QIOs that require complex processing

Simple QIOs, such as read or write requests, are either serviced by the kernel itself or by device drivers. Certain more complicated requests, specifically those involving tape drives and file-level operations, were originally executed by an Ancillary Control Processor (ACP) (a special purpose task with its own address mapping).

The Files-11 ODS-1 file system on RSX-11 was implemented by a subroutine library that communicated with a task named F11ACP using a special set of QIOs called the "ACP QIOs." The equivalent functionality for controlling magnetic tape devices was provided by a task named MTAACP.

Originally, the Files-11 ODS-2 file system was provided by F11BACP on VMS, but the functionality of F11BACP was later incorporated into the VMS kernel to save the overhead of process context switches, and is now called an XQP (eXtended Qio Processor).

IO$_READPROMPT

Probably the most complex single QIO request possible is the VMS terminal driver's IO$_READPROMPT call with the IO$M_TIMED modifier; this QIO requires all six additional parameters:

P1
The address of the buffer into which the input characters are received
P2
The length of the buffer, limiting the maximum number of characters to read. If the buffer is filled, the read will complete successfully, even if the user does not type a line-terminator character. Zero is allowed, in which case the read will terminate successfully with zero characters read.
P3
The maximum number of seconds to wait for more input. This is only used if the IO$M_TIMED modifier is present, and a value of zero means zero seconds: the read will terminate immediately, so the only possible input will be whatever had been "typed ahead" by the user.
P4
The address of the optional "terminator mask", specifying which ASCII characters terminate the read. If omitted, this defaults to the usual VMS line delimiters including carriage-return (but not line-feed). It is possible to specify a mask with no line terminators, in which case the read will only complete when the buffer is full, or the timeout has elapsed.
P5
The address of a prompt string to be displayed to the user before accepting input. The advantage of providing this prompt, instead of as a prior write operation, is automatic redisplay in any situation requiring a refresh of the input line while the read is in progress (such as after an operator message has been broadcast to the terminal, or the user hits CTRL/R to redisplay the line).
P6
The length of the prompt string.

By appropriate choices of the above parameters, it is possible to do both terminal input and output with the one call, there is no need to use the regular IO$_WRITEVBLK call for terminal output at all.

References

Read other articles:

Een Kranz met Kölsch-bier Bier dat voldoet aan het reinheitsgebot Bier is veruit de populairste drank in Duitsland en onlosmakend verbonden met de Duitse cultuur. Duitsland is de grootste bierproducent en -consument van Europa en staat op de derde plaats in de wereld met een consumptie van 107 liter per inwoner per jaar. Geschiedenis In 736 was er al sprake van een gegiste drank op basis van gerst in Geisenfeld in Beieren en een document uit 766 handelt over een bierlevering van de abdij van...

 

عمر قتلتوا الرجلةمعلومات عامةالصنف الفني دراماتاريخ الصدور 1976مدة العرض 90 دقيقةاللغة الأصلية العربية والفرنسيةالبلد الجزائرالطاقمالمخرج مرزاق علواش[1] البطولة عبد القادر شاعو[2] بوعلام بناني تعديل - تعديل مصدري - تعديل ويكي بيانات عمر قتلتوا الرجلة (بالإنجليزية: Om...

 

Carlsbad Caverns Categoría UICN II (parque nacional) La caída de agua decoró las grutas creando espectaculares estalactitas y estalagmitas de caliza.SituaciónPaís  Estados UnidosEstado Nuevo MéxicoCondado EddyCiudad cercana CarlsbadCoordenadas 32°10′31″N 104°26′38″O / 32.175277777778, -104.44388888889Datos generalesAdministración National Park ServiceGrado de protección Patrimonio de la HumanidadFecha de creación 01930-05-14 14 ...

Gulbades Nacionalidade Império Sassânida Etnia Persa Ocupação Nobre Religião Zoroastrismo Gulbades (em persa médio: wrdpt; romaniz.:Wardbed; em parta: wrdpt; romaniz.:Wardbed; em grego clássico: Γουλβαδ(ης); romaniz.:Goulbad(es)) foi um oficial persa do século III, ativo durante o reinado do xá Sapor I (r. 240–270). É conhecido apenas a partir da inscrição Feitos do Divino Sapor segundo a qual era chefe dos serviços (paristagbed em persa, parištagbed em ...

 

This article does not cite any sources. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Ștefăniță Lupu – news · newspapers · books · scholar · JSTOR (December 2009) (Learn how and when to remove this template message) Ștefăniță LupuPrince of Moldavia(1st reign)Reign1 December 1659 – January 1661PredecessorConstantin ȘerbanSuccessorConstantin ȘerbanPrinc...

 

Carol KaneCarol Kane, Gene Wilder (1977)LahirCarolyn Laurie Kane18 Juni 1952 (umur 71)[1]Cleveland, Ohio, ASPekerjaanAktrisTahun aktif1971–sekarang Carolyn Laurie Carol Kane (kelahiran 18 Juni 1952)[1] adalah seorang aktris televisi, layar lebar dan panggung Amerika. Ia dikenal pada 1970an dalam film-film seperti Hester Street (yang membuatnya meraih nominasi Academy Award) dan Annie Hall. Ia tampil pada serial televisi Taxi pada awal 1980an, sebagai istri Latka, s...

Artikel ini perlu dikembangkan agar dapat memenuhi kriteria sebagai entri Wikipedia.Bantulah untuk mengembangkan artikel ini. Jika tidak dikembangkan, artikel ini akan dihapus pada Oktober 2022. Artikel ini bukan mengenai Perserikatan Bangsa-Bangsa. Negara Persemakmuran dan Negara-Negara Persemakmuran beralih ke halaman ini, yang bukan mengenai Persemakmuran Negara-Negara Merdeka. Persemakmuran Bangsa-BangsaNegara anggota PersemakmuranMarkas besarMarlborough House, London, InggrisBahasa k...

 

Scottish physician (1824–1887) The grave of Daniel Rutherford Haldane, Dean Cemetery Daniel Rutherford Haldane FRSE PRCPE LLD (27 March 1824 – 12 April 1887) was a prominent Scottish physician, who became president of the Royal College of Physicians of Edinburgh in 1881. Life His was born in Edinburgh the son of Rev James Haldane by his second wife Margaret Rutherford, a daughter of Professor Daniel Rutherford. He was educated at the High School in Edinburgh then studied medicine at the U...

 

This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages) This article's plot summary may be too long or excessively detailed. Please help improve it by removing unnecessary details and making it more concise. (September 2023) (Learn how and when to remove this template message) The topic of this article may not meet Wikipedia's general notability guideline. Please help to demonstrate the notabilit...

Type of votive offering in Christianity A votive candle rack at Grace Episcopal Cathedral, an Anglican Christian cathedral in Topeka A votive candle or prayer candle is a small candle, typically white or beeswax yellow, intended to be burnt as a votive offering in an act of Christian prayer, especially within the Anglican, Lutheran, and Roman Catholic Christian denominations, among others.[1][2][3][4] In Christianity, votive candles are commonplace in many chur...

 

Парк культури (станція метро) — термін, який має кілька значень. Ця сторінка значень містить посилання на статті про кожне з них.Якщо ви потрапили сюди за внутрішнім посиланням, будь ласка, поверніться та виправте його так, щоб воно вказувало безпосередньо на потрібну ста...

 

This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Itoshino Station – news · newspapers · books · scholar · JSTOR (November 2019) (Learn how and when to remove this template message) Railway station in Kitami, Hokkaido, Japan Itoshino Station愛し野駅Itoshino StationGeneral informationLocationTanno-machi, Ki...

American rap rock band Gym Class HeroesGym Class Heroes in Berlin, 2008Background informationOriginGeneva, New York, U.S.Genres Hip hop rock R&B funk Years active 1997–2012 2018–2019 2023‒present Labels Decaydance Fueled by Ramen Atlantic BatSquad Members Travie McCoy Matt McGinley Disashi Lumumba-Kasongo Ralfy Valencia Past members Ryan Geise Milo Bonacci Steve Decker Jason Amsel Eric Roberts Joey Guise Websitegymclassheroes.com Gym Class Heroes is an American rap rock band from Ge...

 

1977 studio album by John StewartFire in the WindStudio album by John StewartReleased1977GenreFolkLength32:02 (LP)LabelRSOProducerJohn Stewart, Mentor WilliamsJohn Stewart chronology Wingless Angels(1975) Fire in the Wind(1977) Bombs Away Dream Babies(1979) Professional ratingsReview scoresSourceRatingAllmusic [1] Fire in the Wind is the ninth studio album by the folk artist John Stewart, former member of the Kingston Trio. It was released in 1977 on RSO Records. The album was...

 

Indian Politician (1923–1987) Chaudhary Rahim Khanचौधरी रहीम खांOfficial portrait, 1984Member of Parliament, Lok SabhaIn office31 December 1984 – 18 December 1987Preceded byTayyab HusainSucceeded byKhurshid AhmedConstituencyFaridabadCabinet Minister,Government of HaryanaMinistryTermMinister of Power and Irrigation, Waqf, and Fisheries23 May 1982 – 31 December 1984Bhajan Lal ministryMinister of State for Technical Education, and Waqf24 March 1967 – 2 No...

Local government area in Queensland, AustraliaShire of MiraniQueenslandLocation within QueenslandPopulation5,406 (2006 census)[1] • Density1.64807/km2 (4.2685/sq mi)Established1913Area3,280.2 km2 (1,266.5 sq mi)Council seatMiraniRegionNorth Queensland LGAs around Shire of Mirani: Bowen Whitsunday Mackay Bowen Shire of Mirani Mackay Nebo Nebo Mackay The Shire of Mirani was a local government area located in the North Queensland region of Queensland, Aust...

 

United States National Heritage Area in Illinois This article relies largely or entirely on a single source. Relevant discussion may be found on the talk page. Please help improve this article by introducing citations to additional sources.Find sources: Abraham Lincoln National Heritage Area – news · newspapers · books · scholar · JSTOR (June 2016) Abraham Lincoln National Heritage AreaShow map of IllinoisShow map of the United StatesLocationCentral Il...

 

Borough in Pennsylvania, United StatesEddystone, PennsylvaniaBoroughEddystone United Methodist ChurchLocation in Delaware County and the U.S. state of Pennsylvania.EddystoneLocation of Eddystone in PennsylvaniaShow map of PennsylvaniaEddystoneEddystone (the United States)Show map of the United StatesCoordinates: 39°51′34″N 75°20′27″W / 39.85944°N 75.34083°W / 39.85944; -75.34083CountryUnited StatesStatePennsylvaniaCountyDelawareSettled1641Area[1]...

The 26th Legislative Assembly of British Columbia sat from 1961 to 1963. The members were elected in the British Columbia general election held in September 1960.[1] The Social Credit Party led by W. A. C. Bennett formed the government.[2] The Co-operative Commonwealth Federation (CCF) led by Robert Strachan formed the official opposition.[3] Lorne Shantz served as speaker for the assembly.[4] Members of the 26th General Assembly The following members were elec...

 

Aalterpoort De Aalterpoort staat aan de westzijde van Bredevoort en is de derde stadspoort op deze locatie. In het gebouw is een restant verwerkt van de 17e-eeuwse poort die deel heeft uitgemaakt van de vestingwerken van Bredevoort. Geschiedenis Restanten 17e-eeuwse poort Het is niet bekend wanneer hier de eerste poort werd gebouwd. Op rekeningen uit het jaar 1500 blijkt dat er dat jaar onderhoudswerkzaamheden aan de poorten werden uitgevoerd. Op een kaart van Jacob van Deventer uit 1560 is z...

 

Strategi Solo vs Squad di Free Fire: Cara Menang Mudah!