Skip to content

Instantly share code, notes, and snippets.

@rxbynerd
Created January 31, 2012 15:49
Show Gist options
  • Save rxbynerd/1711191 to your computer and use it in GitHub Desktop.
Save rxbynerd/1711191 to your computer and use it in GitHub Desktop.
  1. To hide the complex hardware interactions from the user, and to manage resources like memory and processor time to programs
  2. Processor time - how long each program can spend running instructions, memory to allocate what memory is available to each program, input/output devices to avoid conflicts, and managing secondary storage for storing permanent information such as logs
  3. Processor time => Processor managment, memory => memory managment, i/o => hardware, secondary storage => i/o managment
  4. An embedded system is a computer which is designed to perform one task and one task only, and not function as general purpose as an entire computer. Consider, a router
  5. An embedded system is designed for one task and is not designed to be reprogrammed
  6. A virtual machine is a method of recreating or reimplementing a computer ontop of a computer. A virtual machine can either host an entire operting system, or it can host a programming language by interpreting code and running it based on a limited instruction set. The purpose of a virtual machine in this instance is to abstract the quirks of each operating system, such as kernel behaviour, with a generic implemention which covers each operating system. For instance, the Java virtual machine can run on Windows, OS X, Linux and the many flavours of the Berkeley Software Distribution
  7. An API would be used by a programmer when they would like to interface with the system or other programming libraries. For instance, opening a socket on a Linux system, would use the system call listen() in assosiation of other calls such as open()
  8. A CLI is a RIPL, it is recursive because it will always repeat unless an exception or error occours, interactive because the user is has to interact by typing in order to do anything, and it is a print loop because it shows the response
  • An example would be the user running the command "ls" in a bourne shell or it's children, where the user enters the command "ls", it should return with a list of files in the current directory
  • An example in irb, which is a interactive ruby print loop, running 'puts "Hello"' would output the string "Hello" to standard output
  1. GUI's are event driven because the program must wait for the user to interact with a control so it knows what to
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment