(
Latest Revision:
Oct 15, 2006
)
Week Seven Notes
Announcements
- Monday: We'll look at techniques for the system configuration assignment
- Monday: I'm not handing back the article reviews yet.
- ASSIGNMENT DUE Monday, Oct 23: Computer System Request Project
- We are doing 'self-service' roll call today. Please mark the appropriate
box with an 'X'. Please tell me if your name is missing from the sheet.
- We are reading chapter four this week.
- It now appears I will be away on jury duty October 25 and 27. I think
I'll have someone to substitute for me on both days.
Chapter Four -- Software Basics - The Ghost in the Machine
- The Linux Story
- Three main types of software:
-
Compilers: Source Code ==> Assembly ==> machine code
- Productivity Software
- System Software
- Basically a computer can only do loads, stores, simple arithmetic and
logical operations, comparisons and jump instructions. "Everything you've
ever seen a computer do is the result of a sequence of extremely simple
arithmetic and logical operations done very quickly."
- The operations are implemented by "cascades" of "firing" transistors on
chips -- transistors fire other transistors and perform computations
through the nature of their interactions. Electric power fed to an
oscillator causes pulses of electricity to course into the circuits
regularly. This is the system "clock."
- Software variety - manuals - revisions and versions - compatibility -
disclaimers - software sold as-is - software not even sold but rather
licensed, limiting your rights to use, copy,
and share - public domain software - shareware is free for the trying -
See Definitions.
- When software becomes popular it is usually because it extends human
ability in some way. It allows us to do something we could not do before
- it gives us a new ability we prize.
- Popular integrated packages: Micrsoft Office, Apple Works, and so forth.
- Verticle market applications, or custom applications, are geared toward
very specific uses.
- Operating system software in effect operates the hardware on behalf of
the other programs. The other programs make requests to the OS for
services (system calls). Because the OS takes
care of operating the hardware, the commands that other programs give to
the OS can be simpler in nature than the commands that the OS gives to
the hardware. The applications, in effect then, do not run on the bare
hardware, but run on a higher level virtual machine
that the OS makes available to them.
- Programs and devices communicate with the OS through
software and hardware interrupts.
- Operating System duties: memory management, monitoring, accounting,
security process control, file system management, networking
- Utility software: file consistency checkers, file compression, virus
detection, device drivers,
- User interfaces: Character-based, command-line oriented, graphical user
interfaces, windows-based.
- Hierarchical filesystems - drive designations - root directories -
pathnames - File management utilities such as "the Finder" and "the
Windows Explorer"
- Implementation details of "Open", "Save", "Save As", and "Close"
- Difficulties remain in conceptualizing how patents and copyrights should
apply to software and digital media: amazon patented "one-click shopping"
- DMCA forbids sharing information about how to crack copy protection.
- There is interest in the use of voice recognition as a
user interface technology, 3D Virtual Reality user spaces, smarter
applications that understand natural language - able to deal with
greater ambiguity.
- Concerns over buggy software getting into critical systems.
-