UNIX Primer

Home | Primer Home

APIApplication Programming Interface - In the context of the Java programming language, this refers to the set of pre-programmed tools that are made available through various packages which are standard to the Java distribution. These are accessed in java by using the 'import' directive. See also: Java APIs (java.sun.com).
architectureSee: the beginning of the definition of bytecode
BSDBerkeley Software Distribution - One of the major offshoots of the original UNIX operating system.
BSODBlue Screen of Death - Refers to the blue screen that appears when the Windows operating system encounters a big error.
  1. Operating on two pieces of data, eg. addition is a binary operation because it adds the number on the left side of the '+' to the number on the right, whereas the negation operation (eg. (-10) ) is unary, as it operates on a single number.
  2. A system of counting based on powers of the number 2, as opposed to our number system, which is based on powers of 10.

    eg. In base 10, 172 means (from left to right)
    1 hundred (1 * 102) + 7 tens (7 * 101) + 2 ones (2 * 100)

    In binary, 172 is represented as 10101100, or
    1 one hundred twenty-eight (1 * 27) + 1 thirty-two (1 * 25) + 1 eight (1 * 23) + 1 four (1 * 22)
boolean Named after George Boole, 19th century mathematician and father of digital logic.
  1. A system of logic dealing with what is known to be 'true' and 'false.' Modern digital computers are founded on these principles of logic, as digital systems are, at the lowest level, comprised of simple 'logic gates' which perform simple boolean algebra (AND, OR, NOT, XOR, etc).
  2. Refers to the java data type consisting of the possible values 'true' and 'false'
See also: boolean algebra, AND, OR, NOT, XOR (not found in this glossary)
bytecodeThe processor in a computer is designed to recognize certain instructions. However, different processor manufacturers disagree about the ideal set of instructions that should be recognized, and how these instructions are represented. Each different set of instructions can be referred to as a different 'architecture.' For instance, Intel x86 processors (like many of you use at home) recognize one set of instructions, while Sun Microsystems' SPARC processors recognize a different one. (Note that there are many more types of architecture than mentioned here.)

Java works by creating what we call a 'virtual machine,' which is a piece of software that recognizes a special architecture that only Java uses.

When we compile a java program, it is compiled into instructions that this machine understands. We call this 'bytecode.' Bytecode can later be interpreted into machine language and executed. Since it needs to be interpreted Java bytecode cannot be run on a machine where Java is not available. However, since there are java interpreters available for most types of architecture, a java program should run basically the same way on any computer on which it is interpreted. This is called 'platform independence.'
compilerA program that converts human-readable code (eg. java code, or code in any programming language) into machine-readable code (eg. machine language [native], java bytecode, etc) or an executable file
EOFEnd of File -
  1. The state of being at the end of reading a file
  2. A special character signifying the end of a file or the end of user input. This can be fed to an interactive program by typing CTRL-D.
FTPFile Transfer Protocol - Refers to both a specification which says how files should be transmitted between two computers and the program that implements that specification. The use of FTP by itself is discouraged since information sent via FTP is unencrypted and therefore insecure.
GUIGraphical User Interface - All the pretty colors, windows and buttons (among other things) that appear on your screen, as opposed to plain text.
IDEIntegrated Development Environment - As opposed to a simple compiler, an IDE is a set of tools which contains, among other things, a specialized editor and a debugger. These tools are packaged together, and usually complement one another and can be used from within one another (ie. they are integrated). DrJava is one example of an IDE.
kernelThe heart of an operating system. The kernel contains the bulk of an operating system's code and handles resource allocation and hardware interaction, among other things.
LinuxAn offshoot of the original UNIX operating system, named after its creator, Linus Torvalds.
platform independenceSee: bytecode
SDKSoftware Development Kit - A set of tools designed to aid in the creation of software.
ShellThe program through which we communicate with our operating system. In UNIX, you can choose from many different shells to interact with the kernel, whereas in operating systems like Windows the distinction between the GUI shell and the kernel is difficult to notice.
SSHSecure Shell - A protocol and program through which secure communication between two computers allows a user to log on remotely to another system.
VMVirtual Machine - See: bytecode
WidgetA single GUI element (eg. a button, a window frame, a panel, a text box, etc)

Designed by D. Kaminsky
Edited by Diana Palsetia
© University of Pennsylvania, 2008