Question: what are key components of computers and their functions?
Computer components and functions:
Bit: single binary unit of information (0/1).
Byte: 8-bits, usually the smallest unit used to represent something. How many different quantities can a byte represent?
Data types /sizes: character (ASCII 1 byte, or more for other character encodings) short integer (2 bytes), integer (4 bytes), long integer (4/8 bytes), float (4/8 bytes), double (8/16 bytes)
How large a range of data values in a given data type?
file/data sizes:
Question: APOGEE image cubes are 2048x2048x47 reads: how much memory?
Question: MULITDARK simulations have 2048x2048x2048 particles with full phase space information: how much memory?
Physical memory and swap space: code with memory in mind
Integer representation: unsigned and signed integers (e.g., two's complement)
Floating point representation: IEEE, note precision issues
binary vs character representation
architectures and byte-swapping (big-endian vs little-endian)
Operating system: controls basic interface between user and hardware
OS must evolve as new hardware is developed, leading to versions, with implications for stability/support/security. The main core of the operating system is called the kernel, which provides a programming interface for programs.
Linux implementations (distros): include basic Linux kernel plus add-on packages, usually with a package manager (e.g., yum, apt-get)
Operating system generally provides kernel and a core set of commands. On top of this, there may be command interpreters and/or graphical interfaces to commands.
Command-line interfaces:
Graphical interfaces: "window" system.
A large amount of software has been developed to work under a given operating system, and these are available as packages: examples are editors, compilers, etc. (do a rpm -q -a on one of the Linux machine to see what is installed!). In fact, the shells are installable applications, so the distinction between core software and applications is not totally clear.
Various software allows for various actions across the network:
Remember, network communication is slower than disk communication, and affects other who are using the network.
Disk sharing is accomplished through NFS. The NIS master has a table of all mounted partitions, and makes them accessible via /home/partitionname. However, the machine serving the partition needs to give permission. By default, server partitions are shared to all machines, and main partition on client machines are shared to the servers, but client partitions are not shared with other clients except by request. Local partitions are also available via the NFS interface, with no penalty, so it is a good idea to use the /home/partitionname for generic disk access.
Note that the default home directories for students (/home/users/name) is located on the astronomy server. As a result, if you work in or under your home directory when logged into your machine, you are using the network whenever you read/write from disk. It is generally better to use the local disk if you are doing any significant I/O (note distinction between /partitionname/ and /partitionname-data/)
Server shares software that is not installable as packages, so using such software invokes network traffic. Since the server disk is generally checked whenever you type a command, you may see slow response at your computer if the network is being excessively taxed.
Determining CPU, disk, and memory capability: /proc/cpuinfo, /proc/meminfo, df, various grapical interface tools (Mac OS X: system_profiler)
(note man command to get information on any command!)
machine types, etc.: uname -a
Determining CPU, disk, and memory usage: top, ps, w, du