Intro to CS 6-7 Flashcards
Assembler first pass
- Bind all symbolic names to address values
- Enter those bindings in the symbol table
Assembly language
1950, second-generation languages, low-level programming language
- Symbolic op codes
- Symbolic addresses for instructions and data
- Pseudo-ops for data generation and ,..
Machine language problems
Designed from a machine’s point of view
- Uses binary
- Allows only numerical memory addresses in binary
- Hard to insert and delete instructions. (All memory addresses following that instruction will change)
- Difficult to store data. (Would have to compute the internal representation for the data)
Hardware after loader
Begins fetch/decode/execute cycle
Assembly language pseudo-ops
.BEGIN (marks the beginning of program translation)
HALT (terminates program execution)
.DATA (to mark memory location as holding data)
.END (mark the end of program translation)
Assembly language process
- Assembly language program = Source program
- Source program translated by assembler into machine language = Object program
- Loader places object program in memory
- Processor executes object program
Assembly language format
- label:
- opcode
- address field
- –comment
Assembler second pass
- Translate the source program into machine language
- Handle data generation pseudo-ops
- Produce the object file needed by the loader (.exe)
Important system software programs
- Operating system: controls the overall operation of the computer (communicates and activates)
- Graphical user interface (GUI): visual interface
- Language service: allow user to develop programs in a high-level user-oriented language (assemblers, compilers, interpreters)
- Memory managers: allocate memory space for program and data, retrieve when no longer needed
- Information managers: handle the organization, storage and retrieve information on mass storage devices. (directories, folders, files)
- I/O systems: allow the user to communicate with various types of input and output devices in an easy and efficient way
- Scheduler: manages a list of programs ready to run on the processor and selects the one that will execute next. (multiple programs active same time)
- Utilities: usefull services organized in program libraries (text editors, sound applications,…)
- Network software: creates important and widely used virtual environment of computer network
Assembler
Translates assembly language program to machine language
- Convert symbolic op codes to binary
- Convert symbolic labels to memory addresses
- Perform pseudo-op actions
- Write object file containing machine instructions
Binding
The process of associating a symbolic name with a physical memory address
System software
A collection of programs that:
- Manages the ressources of the computer
- Facilitates access to those ressources
- Serves as intermediary between user and hardware
Second generation of operating systems development
Batch operating systems (1955-1965)
- Small I/O computer to put programs to tape
- Tape loaded on the big computer, ran user’s program as a group, writting results on another tape
- Command language: job control language
- Receptionist/dispatcher responsibility of the operating system
First generation of operating systems development
(1945-1955)
- Programmers hand-loaded programs
- Majority of time spent analyzing the result and what to do next
- Assemblers, loaders
Third generation operating systems development
Multiprogrammed and time sharing opeating systems (1965-1985)
- Multiple user programs loaded into memory at once
- Running/waiting/ready states
- Traffic officer and security guard responsibilities of the operating system
Assembler pass
The process of examining and processing every instruction in the program
Time sharing differences from multiprogrammed
A program keeps the processor until:
- It initiates an I/O operation
- It has run for a maximum length of time (time slice)
Fourth generation operating systems development
Network operating systems (1985-now)
- Local area networks
- Client/server
- Real-time operating system: manages ressources of embedded computers that are controlling ongoing physical processes and have requests that must be serviced withing fixed time constraints
Loader
Gets assembly language program ready to run
- Places instructions in memory
- Triggers the hardware to run the program
Loader after assembler
- After assembler
- Reads instruction from the object file and store into memory for execution
- After completion, places address 0 of the first instruction into the program counter to initiate execution
Virtual machine or Virtual environment
The set of services and ressources created by the system software
Naked machine vs Virtual machine
Virtual machine
- Write program using text editors in high-level language
- Save program to folder
- Use translator to convert binary
- Use sheduler to load and run
- Use I/O system to print results
Responsibilities of the System software
- Hides the complex and unimportant details of the internal structure of the computer hardware (Von Neumann architecture)
- Presents important information to the user in a way that is easy to understand
- Allow the user to access the computer hardware ressources in a simple and efficient way
- Provides a safe and secure environment to operate
Naked machine vs Virtual machine
Naked machine
- Write program in binary
- Load instructions one by one into memory
- Insert start memory address 0 into Program counter and push “start” button
- Read results from memory one-by-one, in binary
Assembly language advantages to machine language
Allows:
- Symbolic names (op code mnemonic) to refer to binary op codes
- Symbolic addresses
- Clarity and maintanability
- Pseudo-op commands
Operating systems responsibilities
- User interface: user communicates with operating system (receptionist and dispatcher)
- System security and protection: controls access to the computer and its ressources (security guard)
- Efficient allocation of ressources: keeps queue of programs that are ready to run, keeps processor busy and all programs making progress. Running, waiting, ready (efficiency expert)
- Safe use of ressources: ensure that the computer doesn’t get stuck in deadlock (traffic cop)
Bluetooth
- Low power
- Close range (30-50 feet)
- Often used to support communication between computer peripherals
Broadband
Any communication link with a transmission rate exceeding 256k bps
Wired and wireless computer technology
Wired:
- Dial-up
- Broadband (Digital subscriber line, cable)
Wireless:
- WLAN (Wireless local area network)
- WWAN (Wireless wide area network)
Mobile computing
The ability to deliver data to users regardless of their location
Transport layer protocols
Second level of address that identifies not only a specific computer but also a specific program running on that computer
- Reliable packet delivery
- Assign port numbers to programs and remember which program goes with which port
Local area network topologies
- Bus topology: Shared communication line, take turns using line
- Ring toplogy: Messages circulate clockwise or counterclockwise until it reaches their destination
- Star topology: All node connected to a single central node, all send message to central which is forwarded to destination
Wireless network problems
- Travels only in a straight line
- Affected by rain/fog
- Cannot pass through obstacles
- Slower than wired connections
- Easy to intercept and gain unauthorized acces
Data link layer protocols
Reliable transmission of bits:
- Error detection and correction: Notices failures and fixes them
- Framing: Determine which bit belongs to one message
- Layer 2a, Medium access control: determine how to decide ownership of a shared communication line
- Layer 2b, Logical link control: ensure that the message arrives
Wireless wide area network
Computer transmits message to remote base station provided by a telecommunication company (e.g. 4G)
Wide area networks (WAN)
- Dedicated point-to-point lines: computers connect to other computers on individual lines
- Store-and-forward, packet-switched: packets go from node to node until reach destination (if message to big, split into multiple packets)
Bandwith
Capacity
Switched, dial-up telephone lines
- Analog lines
- Transmit digital data
-Modem: modulates carrier wave then
demodulates the received waveform
-Speeds up to 56k bps
Metropolitan Wi-Fi service
Routers provided by the city
Digital subscriber line (DSL)
- Same wires that carry telephone signals
- Transmits digital
- “Always-on” link
- Asymmetric (higher download bandwidth than upload)
Repeater
A device that amplifies and forwards the signal
Physical layer protocols
Govern the exchange of binary data across physical channels. Protocol Specify:
- Bit present on the line ?
- How long will bit remain on line ?
- Digital or analog form ?
- Physical quantities that represent 0 and 1
- Shape of the connector
Creates a “bit-pipe” between” two computers
Wireless local area network (WLAN)
- Computer transmits to a wireless base station (wireless router)
- Which is connected to a wired network (DSL, cable modem)
- Range 150-300 feet or 45-90 meter
Network layer protocols
Deliver a message from the site where it was created to its ultimate destination
- Creates a universal addressing scheme for all network nodes
- Deliver messages between any two nodes in a network
Internet protocol hierarchy, protocol stack, TCP/IP
Physical layer Data link layer Network layer Transport layer Application layer
Internet Society, Internet Architecture Board and Internet Engineering Task Force
Establish and enforce network protocols
Gigabit Ethernet
- long-term research project NBEN
- IEEE standard
Modulate/Demodulate
Modulate: analog to binary
Demodulate: binary to analog
Constructing Ethernet LAN
Shared cable
- Bus toplogy
- Wired/cable passes all around
- Nodes connected to transceiver
- Multiple cables connected using repeaters or bridges
Wiring closet
- Switch located in room called wiring closet
- Ethernet jack to connect switch in closet or a wireless router
- Most widely used LAN construction technique
Network protocols
A standard set of rules, conventions and agreements for the efficient and orderly exchange of information
Advantage of store-and-forward network
The failure of a single link or node does not necessarily bring down the entire network
Bridge
A smarter deivce with knowledge about the nodes located on each separate network, examines every message to see if it should be forwarded.
Connects to identical types of network
Computer network
Made up of computing devices, nodes or hosts, and interconnection links for sharing information and resources.
Wi-Fi
- Wireless Fidelity
- IEEE 802.11 wireless network standard
- One of most widely used standard for wireless local access
Cable modem
- Uses cable TV lines
- “Always-on” link
- Asymmetric (higher download bandwidth than upload)