W6: System Software Flashcards
Operating system (OS):
Manages hardware and software resources, provides common services for application software
Application software:
An app or program with features and functions to solve a problem
Platform:
Hardware + OS
Software dev:
The stack
Hypervisor:
Virtual machines and platforms
Operating system is…
Software that supports a computer’s basic functions: schedule tasks, execute applications, control peripherals
Interfaces…
cross system boundary
Users, other OSs and servers
Applications:
OS allocates memory and resources, security, APIs
An operating system controls…
Computation and subsystems
Interrupts, scheduling, I/O
Storage and file systems
Networking
Hardware:
CPU, RAM, peripheral devices
Device drivers interact with OS
Order of OS layered architecture
Hardware System Software (Hardware Engineer) System Services (Software Engineer) Applications (Programmer) (System Boundary)
Embedded:
Single purpose, autonomous processor with sensors and actuators
Firmware:
Non-volatile, updatable storage of custom OS and application
IoT:
Embedded systems with network connectivity - web APIs and communication protocols create a linked environment of systems
Back-end:
Server side
- Models and controllers
- Web servers, Data stores
Front-end:
Client side, user facing
- views and controllers
- html content (from model) independent of CSS view
- JavaScript conducts controlled requests to model (and view)
Full stack:
All of the above
Back-end, Front-end, Full stack
SDLC: Systems Development Life Cycle:
What is the problem?
Determine and Define
What is the solution?
Design and Develop
Deploy
Software Release Numbering:
1.2.3
- Major release
- Minor update
- Micro revision
Software Server Environments order:
Development
Integration and Testing
Staging
Production
Modular vs Monolithic Design
Micro Kernel (Windows)
Pros:
More reliable
Easy update, patch, extend
Cons:
Slower performance
larger source code
task management complex
Monolithic Kernel (Linux)
Pros:
Runs faster
Fewer bugs/security issues
Cons:
Difficult to update, patch, extend
Recompiling kernel time consuming
Multi-processing:
Separate processes run simultaneously on multiple CPU cores sharing memory and peripherals
Parallel processing:
A single process uses multiple CPUs/cores simultaneously
Thrashing:
The system spends more time swapping processes than running them
Bit =
Binary digit
2 possible values 0-1
J. Tukey 1946. C.Shannon 1948. Bell Labs
Byte =
8 bits is the smallest unit of data
256 possible values (0-255)
W. Bucholz, 1956. IBM