Bored again ;D
OS - Operating System
IRQ - Interrupt Request
IRQ handler - The code that is called when an IRQ is received
Thread - Also known as a lightweight process. Threads are associated with a specific process. They share the code and (Sometimes) static data sections of the process, but have their own stack for variable data. A single process can have many hundreds of threads running within it, all running in different areas of the code section. Using threads reduces the memory overhead that running different processes would incurr. An example might be a thread HTTP server. Instead of each request for a page waiting for the server process to be available, or spawning a brand new process (Thereby replicating code/data unnescessarily), a new thread can be created (Or assigned from a pool of threads) instead. Using threads however increases the complexity of your code with respect to access of global variables which should be isolated so that no two threads can be writing to the same global at the same time. It also increases IPC complexity.
Waiter Thread - A thread that is sleeping waiting for some external event to wake it up. For example one might have a thread that sends commands to the floppy disk drive. Whilst a read/write is taking place there is nothing for the thread to do, so it should sleep until the drive announces the operation has been completed.
Sleep - A state occupied by a process or thread in which it is not scheduled to run and therefore does not take up any processor time.
Buffer - An area to store data whilst it awaits use. This is to allow data to continue to be received even though the receiving process is currently unable (Usually by being busy processing something else) to use it.
8042 - The standard keyboard controller chip used on x86 PC systems.
Scancode - A PC keyboard produces a unique number for each key on the keyboard. One for the key being pressed and one for the key being released. Depending on the keyboard one of 3 different scancode sets may be used. It is up to the OS to translate these scancodes into useful values.
ASCII - American Standard Code for Information Interchange. This is a character code definition that uses 7 bits to describe one of 128 characters.
ISO - From the greek word isos, meaning equal. This is an international body that produces standards for many different areas including computing. ISO-8859 is a series of standard multilingual 8 bit character sets for alphabetic languages. Eg ISO-8859-1 is the standard for the West European Latin 1 character set.
I/O - Input/Output.
IPC - Inter-process communication. The means by which one process can pass information to another process for control/data passing purposes. There are different flavours of IPC, such as mailboxes, pipes, shared data areas, and many more.
API - Application Programming Interface. Quite simply the method a programmer can use to access functionality of the OS (Or an application) within their own code.
imvho - In my very humble opinion
Vanilla - In programming terms means unmodified from the original or current standard.
Don't think I missed any
.
***
Some folks might not like my definition of a thread. Quite frankly I don't care, feel free to post your own
.