[c] tty-devices

Pagina: 1
Acties:

  • Harribo
  • Registratie: Augustus 2002
  • Laatst online: 22:18
Wie weet of een printer een tty-device is? Een tty-device is vernoemd naar de oude teletype-terminals waarbij de input gebeurt door een keyboard en de output door een console/window.
Ik zie zelf het zo dat een printer niet een tty-device is omdat de input niet altijd rechtstreeks van de keyboard komt. Dit is voor mij belangrijk omdat ik een printerdriver moet schrijven en de manier waarop nogal van deze kwestie afhangt.
Als je een idee hebt, geef dan ook motivatie erbij, dan heb ik er wat meer aan.
Alvast ev. bedankt!

:)

  • Torrac
  • Registratie: Juli 2001
  • Laatst online: 28-08-2025

Torrac

The Barbarian Wolverine

Vroeger was dat wel het geval, sommige unix versies kan dit nog. Maar in het algemeen is het niet meer zo, maar voor wlek OS moet je het scrijven???

I believe what I want to Believe


  • Harribo
  • Registratie: Augustus 2002
  • Laatst online: 22:18
voor een oud os genaamd xinu

  • Torrac
  • Registratie: Juli 2001
  • Laatst online: 28-08-2025

Torrac

The Barbarian Wolverine

Helaas, ken ik niet. dus kan niet oordelen.

I believe what I want to Believe


  • Harribo
  • Registratie: Augustus 2002
  • Laatst online: 22:18
is een zeer oud os , met sourcecode, met de eigenlijk core in dos en geschreven in asm en c
iik moet dit puur doen voor mijn opleiding (hts) ,het is wel goed om zo een inzicht erin te krijgen...enfin, ik hor wel anderen aan, thnx anyway

  • Cassettebandje
  • Registratie: Juli 2002
  • Laatst online: 10-08 16:30

Cassettebandje

SA-C90 TDK

Ik denk dat een printer wel een tty device is omdat je er wel output naar toe kunt sturen. Je mist alleen een keyboard.

  • Harribo
  • Registratie: Augustus 2002
  • Laatst online: 22:18
zo iets zal het wel zijn denk ik, maatr dan kan ik beter mijn eigen driver gaan schrijven want die ttyy-device controller bevat teveel informatie

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 09-01 11:25

D2k

/dev/lpt1 ?
note: geen *nix bak hier om te testen

Doet iets met Cloud (MS/IBM)


  • Harribo
  • Registratie: Augustus 2002
  • Laatst online: 22:18
het is geen unix maar xinu en die hefet geen dev/lpt1 en ik moet het zelf voor dat os programmeren

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 09-01 11:25

D2k

Harribo schreef op 07 augustus 2002 @ 13:26:
het is geen unix maar xinu en die hefet geen dev/lpt1 en ik moet het zelf voor dat os programmeren

auf so ein fahrrad
nee dan weet ik het zo 1-2-3 ook niet :)

Doet iets met Cloud (MS/IBM)


  • richardt
  • Registratie: Mei 2002
  • Laatst online: 08-03-2025
Volgens mij is een printer wel degelijk een tty device. Enkele eigenschappen van een tty-device

1. Input en output zijn verbonden op een 'character-by-character' basis. In linux heten ze dan ook character devices
2. Ze kennen geen random access. (in tegenstelling tot de block devices)

Dus naast de standaard terminal devices, waaronder de console, zijn dus ook de muis, de printer, de geluidskaart en /dev/null tty (of eigenlijk character)-devices.

edit:
typos...

  • Harribo
  • Registratie: Augustus 2002
  • Laatst online: 22:18
maar wat is dan de input van de printer? een tty-device heeft toch altijd een input-buffer?

  • Harribo
  • Registratie: Augustus 2002
  • Laatst online: 22:18
bij : input NAAR de pc, output VAN de pc

  • igmar
  • Registratie: April 2000
  • Laatst online: 29-06 18:56

igmar

ISO20022

Harribo schreef op 07 augustus 2002 @ 13:10:
Wie weet of een printer een tty-device is? Een tty-device is vernoemd naar de oude teletype-terminals waarbij de input gebeurt door een keyboard en de output door een console/window.
Nee, een printer is een lp device, wat staat voor Line Printer. Ouder printers waren uni-directioneel, en zijn dus geen TTY devices.
Ik zie zelf het zo dat een printer niet een tty-device is omdat de input niet altijd rechtstreeks van de keyboard komt. Dit is voor mij belangrijk omdat ik een printerdriver moet schrijven en de manier waarop nogal van deze kwestie afhangt.
Als je een idee hebt, geef dan ook motivatie erbij, dan heb ik er wat meer aan.
Alvast ev. bedankt!
Hoe je de driver moet schrijven is erg afhankelijk van de UNIX versie.. Linux gebruikt een PostScript -> PCL / PS / etc filter, en gooit de uitvoer daarvan naar een /dev/lp device.

  • richardt
  • Registratie: Mei 2002
  • Laatst online: 08-03-2025
Nee, een printer is een lp device, wat staat voor Line Printer.
Een lp device is een onderdeel van de veel grotere groep TTY (character) devices.
Kijk maar eens wat de output van /proc/devices zegt.
Ouder printers waren uni-directioneel, en zijn dus geen TTY devices.
Zelfs de oude matrix printers waren al bi-directioneel in die zin dat ze al konden signaleren wanneer er een PAPER_OUT of BUSY toestand op is getreden. Uit het al dan niet uni-directioneel zijn mag je volgens mij niet concluderen of het TTY device is.

  • igmar
  • Registratie: April 2000
  • Laatst online: 29-06 18:56

igmar

ISO20022

richardt schreef op 07 augustus 2002 @ 13:39:
Volgens mij is een printer wel degelijk een tty device. Enkele eigenschappen van een tty-device

1. Input en output zijn verbonden op een 'character-by-character' basis. In linux heten ze dan ook character devices
2. Ze kennen geen random access. (in tegenstelling tot de block devices)

Dus naast de standaard terminal devices, waaronder de console, zijn dus ook de muis, de printer, de geluidskaart en /dev/null tty (of eigenlijk character)-devices.

edit:
typos...
Een character device is GEEN tty device !!!

tty's zijn devices die zowel input als output kunnen doen, en wel op een intelligente manier. Je kan dus halla<backpace>o type, en je programma krijgt hallo door.

een tty device handeld dus intraline editing af, en dat kan zowel character als line based. Voor de rest handeld een tty device ook de eventuele beeldschermafhandeling, keymaps, codepages, etc af.

  • igmar
  • Registratie: April 2000
  • Laatst online: 29-06 18:56

igmar

ISO20022

richardt schreef op 07 augustus 2002 @ 18:45:
[...]

Een lp device is een onderdeel van de veel grotere groep TTY (character) devices.
Kijk maar eens wat de output van /proc/devices zegt.
/proc/devices bevat een opsomming van block en character devices, en een character device is niet per definitie een tty, maar een tty wel een character device. Een tty device snapt termios() aanroepen, een lp device dat zowiezo niet. Ook de aansturing gebeurd door een andere driver, waaruit je een conclusie kan trekken dat het geen tty device is.
Zelfs de oude matrix printers waren al bi-directioneel in die zin dat ze al konden signaleren wanneer er een PAPER_OUT of BUSY toestand op is getreden. Uit het al dan niet uni-directioneel zijn mag je volgens mij niet concluderen of het TTY device is.
De definitie van een tty device is dat het zowel invoer als uitvoer kan verwerken. Een printer is een lp device, geen tty. Een printer is nog steeds unidirectioneel, je kan er geen data vanaf lezen, en de statusse n die een printer teruggeeft vallen niet onder 'inlezen van data'.

Zie verder ook hoofdstuk 3.9 van 'Operating systems - Design and implementation', een tamelijk uitgebreid hoofdstuk wat een tty device nou eigenlijk is.

  • serkoon
  • Registratie: April 2000
  • Niet online

serkoon

mekker.

XINU is niet bepaald unix, ookal heeft het dingen als procesbeheer en geheugenbeheer. Het kan maar zo dat je je printer via 0x378 of 0x3bc aan moet spreken.

Mgoed, hier heb je wellicht wat meer aan: http://www.hio.ft.hanze.nl/mele/student/xinuboek.pdf.zip

  • Harribo
  • Registratie: Augustus 2002
  • Laatst online: 22:18
thnx serkoon, die heb ik al, daar studeer ik :)

  • Harribo
  • Registratie: Augustus 2002
  • Laatst online: 22:18
als ik het zo bekijk is nog steeds naar mijn mening een printer geen tty-device.
een tty-device, en zo staat het ook in het boek, verzorgd zowel input als output.
dit is afgeleid van de teletype terminal (tty). volgens mij heeft printer alleen output (v/d printer) en geen input , behalve status karakters.

  • igmar
  • Registratie: April 2000
  • Laatst online: 29-06 18:56

igmar

ISO20022

Harribo schreef op 07 augustus 2002 @ 20:59:
als ik het zo bekijk is nog steeds naar mijn mening een printer geen tty-device.
een tty-device, en zo staat het ook in het boek, verzorgd zowel input als output.
dit is afgeleid van de teletype terminal (tty). volgens mij heeft printer alleen output (v/d printer) en geen input , behalve status karakters.
Moet je alleen een device driver schrijven die outvoer + status doet ? Dit is het meest waarschijnlijke, aangezien de rest printer-afhankelijk is.

Anders gaarne wat meer details.

  • richardt
  • Registratie: Mei 2002
  • Laatst online: 08-03-2025
:? Hmm, verwarrend, dat TTY gedoe. De teletype terminals die ik heb gezien waren namelijk niet meer dan een toetsenbordje voor invoer en een printer (!) voor uitvoer. De eerste terminals hadden dan ook helemaal nog geen beeldscherm.

Per definitie bestaat een TTY dan ook uit 2 character devices: eentje voor invoer en eentje voor uitvoer.

  • Harribo
  • Registratie: Augustus 2002
  • Laatst online: 22:18
details heb ik niet, mag het allemaal zelf uitzoeken, heel fijntjes...maar ik denk dat het zo moet, er bestaat blijkbaar geen eenduidig of het nu een tty-device is en naar mijn mening is dat het ook niet. de term tty-device bestaat nu niet echt meer, het is volgens mij bedacht in de tijd dat terminals erg populair waren. ik heb inmiddels mijn eigen printerdriver maar geschreven niet op basis van een tty-device. vooral dat laatste berciht van richardt (bedankt bij deze!) heb ik veel aan gehad. Een tty-device werkt dus altijd met een (bijna altijd) keyboard als input en een device als output, als een pc zonder beeldscherm werkt, wordt de logica dan ook wel duidelijk, het hoeft dan niet meer worden afgebeeld op het beeldscherm zodat er maar 2 devies zijn: een voor input (keyboard), een voor output (printer of beeldscherm etc)....zo...weer wat wijzer...kom er dus achter dat de opdracht die ik moet doen uit de prehistorie afstamt.....net als xinu btw...

  • igmar
  • Registratie: April 2000
  • Laatst online: 29-06 18:56

igmar

ISO20022

Dat zeg ik al de hele tijd.. Maar ja, never mind.
Pagina: 1