Hi,

     I am trying to understand about OS in thin clients. I have this
particular question regarding keyboard / mouse input. How exactly does a
keyboard input is sent to the client's NIC (to be sent across to the
server)?



The following are the initial steps:



- User of a thin client presses a key. A key press / release triggers
IRQ 1. This is the output line which is connected to the input pins of a
hardware circuit called Interrupt Controller (IC).

- When a raised signal is on an IRQ line, the Interrupt controller
converts the raised signal into a corresponding vector. Stores the
vector in an interrupt controller I/O port and allowing the CPU to read
it via the data bus. Then, it sends a raised signal to the CPU INTR pin,
that is, it issues an interrupt. IC waits until the CPU acknowledges the
interrupt signal by writing into one of the Programmable Interrupt
Controllers (PIC) I/O ports and when this occurs, it clears the INTR
line.

- The CPU stops everything (finishes the current instruction), saves
certain parameters like program counter, flags etc to a stack and runs
ISR (Interrupt handler).

- ISR checks the keyboard using hardware commands and finds the key
pressed (gets the scan codes).

- Stores the ASCII translated key in the keyboard buffer, the ISR
completes the IRET.

- Control is returned to CPU.

- In a regular PC scenario, the CPU sends of the commands to the GPU
which will rasterize, and stores pixels (bitmaps) on the frame-buffer to
be later displayed by the monitor.



Question:

In the Thin-Client (or VNC) case, the keystroke should be sent across
the network.

- The keyboard input signal (or ASCII translated key) should be
transferred to the NIC from where it should be sent to the server. Once
the server receives it, it has to be processed and the proper key
display must be sent back to the thin-client for display. So, how does a
keyboard/mouse input in a thinclient is sent to its own NIC? What are
all the steps (interrupts, buffering etc) through which this data goes?



If anyone can explain / clarify, it would be very helpful.



Thanks,

S.Srivathsan



DISCLAIMER:
This email (including any attachments) is intended for the sole use of the
intended recipient/s and may contain material that is CONFIDENTIAL AND PRIVATE
COMPANY INFORMATION. Any review or reliance by others or copying or
distribution or forwarding of any or all of the contents in this message is
STRICTLY PROHIBITED. If you are not the intended recipient, please contact the
sender by email and delete all copies; your cooperation in this regard is
appreciated.
_______________________________________________
VNC-List mailing list
[email protected]
To remove yourself from the list visit:
http://www.realvnc.com/mailman/listinfo/vnc-list

Reply via email to