Textbook Notes (280,000)
US (110,000)
Purdue (700)
CS (30)
Chapter 1

CS 15900 Chapter Notes - Chapter 1: Hard Copy, Structure Chart, Distributed Computing


Department
Computer Sciences
Course Code
CS 15900
Professor
Alan Bunning
Chapter
1

Page:
of 4
Chapter 1 Notes:
1.1 Computer Systems
Computer = Hardware + Software
Hardware includes physical components such as CPU, Primary Storage, and various input/output
devices.
Output devices include monitor and printer. Soft copy vs Hard copy
Auxiliary storage (secondary storage) used as input + output. Stores files/programs for future
use
Software include system software and application software
System Software: Provides interface between user and hardware
Application Software: Helps users solve problems
For flowchart of responsibilities, refer to image1
System software are responsible for (1) Managing system resources
(2) Performing information processing tasks
3 Types of System Software:
(1) Operating System
- Provides services
e.g. UI, file/database access, IP Interface
- Primarily to keep system operational and efficient
(2) System Support
- Provides System Utilities and other operating services
e.g. sorting and disk formatting programs
(3) System Development
- Provide language translations turning programs into machine code, debugging tools,
and computer-assisted software engineering systems (CASE)
2 Types of Application Software:
(1) General-purpose software
a. Purchased from a software developer and can be used by multiple programs
(2) Application-specific software
a. Applications that can only be used for its intended purpose
View image2 to understand relationship between system and application software
find more resources at oneclass.com
find more resources at oneclass.com
1.2 Computing Environments
Personal computing Environment (PC)
Uses a microprocessor as opposed to a central processing unit.
View image3 for components of a PC
Time-Sharing Environment
Used by large companies for their employees
Multiple people connected to 1+ (usually nonprogrammable) terminals all connected to a
central computer and storage
View image4 for components of Time-Sharing
Client/Server Environment
Uses a central computer (server) and multiple personal computers (clients) linked together to
share the load of various computations
Usually faster to load information and more productive
View image5 for components of client/server
Distributed Computing
Uses the internet as a connection to bind multiple servers and clients (browsers) together
View image6 for general set up of a distributed computing environment
1.3 Computer Languages
Languages used by humans to communicate and command computers view programs
Evolved throughout the years from machine languages to symbolic languages to high-level languages
Machine Languages
Written binary; the base level of coding; how the computer interprets code; required complete
knowledge of hardware to master
Symbolic Languages
Written using simple symbols representing mnemonics of certain commands and references
Still required knowledge of hardware; each machine needed to be coded individually
Also known as assembly languages due to need for an assembler to translate to machine code
High-level languages
Completely shifted focus away from hardware and channeled all resources into problem solving
Programs no longer used assemblers but rather compilers to translate them into machine code
find more resources at oneclass.com
find more resources at oneclass.com
1.4 Creating and Running Programs
Since hardware only understands machine code, C code needs to be translated
Steps: (1) Write/Edit Program
(2) Compile Program
(3) Linking the Program to Library Modules
(4) Execute Program
View image7 for more in depth steps
Text Editor is an application used to write/edit programs
Capable of allowing users to enter, alter, and store character data
Different from program writing in that it does not rely on lines of code as compared to
characters and lines
Source File is a saved text file program to be entered into a compiler
C Language Compiler are two different programs:
(1) Preprocessor
a. Preemptively scans code for preprocessor commands to look for special code
libraries make substitution, and prepare for translation
b. Final product is called translation unit
(2) Translator
a. Actually does the translating into machine code
b. Turns translation unit into object module (which is in machine code)
Linker assembles all necessary libraries of functions (user-created and preexisting) and bundles into final
executable program
Eeutig a progra ioles giig a ru oad to the operatig sste ad alloig the Loader
program to locate and load the written program into primary memory to have it run
When job is completed, the program will alert the operating system to have it removed from
primary memory
1.5 System Development
Many models of the life cycle of the development of a program exist
View image8 for diagram of the waterfall model
Program development describes the process that an individual or group goes through as they work on a
project/program
Program design is the analysis of what exact inputs/outputs are needed for a program
find more resources at oneclass.com
find more resources at oneclass.com