-
Linux System System
fi - ne - block - C PU - Sch - meMa - chaDe
-
Microkernel System structure:
After many years of research, we have realized what was most important for the Kernel, the rest can be executed in user mode
-
What are the 5 Structure(Architecture) Possible for OSes
1 --> Monolithic
2 --> Layered
3 --> Modular
4 --> Hybrid
5 --> Microkernel
-
System Calls Parameters passing
There are 3 main System Calls Parameter Passing
- 1 --> Simplest: Passing the parameter directly to the registers, but it might happen that we have more parameters than registers.
- 2--> Storing the parameters in a block or table in memory, and then passing the address of that memory block to the register
- 3--> Using a stack, pushing the parameters onto the stack by the user program, and the stack getting popped by the OS.
-
System Call Sequence to Copy from one file to another
- Acquire Input file name
- Write Prompt to screen
- Accept Input
- Acquire the Output file name
- Write Prompt on the screen
- Accept Input
- Open input file
- if the file doesn't exist, abort
- Create output file
- if file exists abort
- Loop
- Read from the input file
- Write to the output file
- Until read fails
- Close output file
- Write completion message
- Terminate
-
Virtualization
Allows OSes to run applications within other OSes. It is a technique used in computing to create a virtual version of something, such as a computer, an operating system, or an application. This virtual version behaves like the real thing, but it is actually a software-based representation of it.
-
Computing Environment: Cloud Computing
Delivers computing, storage, and even apps as a service across a network
-
Computing Environment:
Peer-to-Peer Computing
Every client is connected to every client and they share data that way
-
Computing Environment:
Client Server
Server --> Network -->(Branches to ) many clients
-
Clustered System
Much like a multiprocessor: it is multiple computer work at the same time that shares the same Storage called Storage-Area Network
-
Non-Uniform Memory Access (NUMA) :
-
Definition
• CPU-
• Processor-
• Core-
• Multicore-
• Multiprocessor-
- CPU-The hardware that executes instructions.
- Processor -A physical chip that contains one or more CPUs.
- Core-The basic computation unit of the CPU.
- Multicore-Including multiple computing cores on the same CPU
- Multiprocessor-Including multiple processors.
-
Dual Core Design
It's on a Processor Level
-
The are 2 types of Multi-Processor architectures:
- 1) Symmetric Architecture : Shared Memory
-
2) Assymetric : non shared memory
-
Multiprocessors Advantage known also as parallel systems, tightly-coupled systems
- Increase throughput
- Economy of Scale
- Fault Tolerance
-
Storage Device Hierarchy:
- 1 Primary Storage:
- -Register
- -Cache
- -Main Memory
- 2 Secondary Storage:
- -Non Volatile memory
- -hard disk
- 3 Tertiary Storage:
- - Optical Disk
- - Magnetic Tapes
-
A ---(1)--- is a software (interface) that enables the operating system (kernel) to communicate with and device controller to control hardware device.
Device Driver
-
---- (1) --- copying information into faster storage system;-- (2) ---can be viewed as a ---- (3) --- for secondary storage
- (1) Caching
- (2) Main Memory
- (3) Cache
-
Faster and nonvolatile compared to magnetic disks
Use various technologies
SSD: Solid State Disk
-
Magnetic Disks
- The other layer of storage
- Surfaces are divided into tracks further subdivided into sectors
- Disk controller manages logical interaction between device and computer
-
Secondary Storage
- Extension of The main Memory
- Provide large Nonvolatile memory
-
The only large storage media directly accessible by the CPU
Random access
Typically volatile
Main Memory
-
Main Memory
- The only large storage media directly accessible by the CPU
- Random access
- Typically volatile
-
1 KB (kilobyte):(1)
1 MB (megabyte):(2)
1 GB (gigabyte): (3)
1 TB (terabyte): (4)
1 PB (petabyte): (5)
- (1): 2^10 bytes
- (2):2^20 bytes
- (3):2^30 bytes
- (4):2^40 bytes
- (5):2^50 bytes
-
Computer Storage :
Bit: (1)
Byte: (2)
Word:(3)
- (1) a single binary digit (0 or 1)
- (2) a collection of 8 bits
- (3) a fixed-size group of bytes, typically based on the CPU's architecture
-
Used for high-speed I/O devices that enable data transfer at near-memory speeds. It allows a device controller to transfer data blocks from buffer storage to main memory without CPU intervention, reducing overhead. DMA generates one interrupt per block instead of per byte, improving efficiency.
Direct Memory Access (DMA)
-
Transition From user to Kernel Mode graph
-
---(1)--- operation, consisting of user mode and kernel mode, helps protect an OS and system components. A hardware-provided ---- (2)---- differentiates between user and kernel code execution. Privileged instructions are only executable in kernel mode, while the system calls to switch to kernel mode and return to user mode afterward.
(1): Dual-mode
(2): mode bit
-
Process Scheduling queueing diagram (There is 2 versions)
Start with Ready Queue ---> CPU
-
-
Interrupt Driven I/O Cycle Diagram
-
* Selects a process from the processes in memory that are ready to execute
* Allocates the CPU to that process
* Determines which process to run next, based on scheduling algorithm and process priority levels
CPU Scheduler
-
special instruction to invoke the OS, by generating an interrupt, to perform an OS-related service
Or
Interface to the services provided by OS
System Calls
-
* Contains the address of the instruction to be executed next by the CPU
* A hardware CPU register
* The interrupt hardware architecture automatically saves PC value whenever an interrupt occurs
Program counter
-
*Stores important system information about each process
*Includes process state, program counter, CPU registers, and memory management information
*Used by the operating system to manage and schedule processes
PCB, process control block
-
* Identifies the type of interrupt
* Used as an index into the interrupt vector
* Looks up the address of the service routine for each interrupt
Interrupt number
-
A system bus connects the major components of a computer system, including:
data bus: to carry information
address bus: to determine where it should be sent or read from
control bus: to determine its operation
-
Device controller informs CPU that it has finished its operation by
causing an -------
interrupt
-
The device driver for each device moves data from/to ---(1)---
to/from ---(2)---
(1) main memory
(2) local buffers
-
Computer Syst Orginization: One or more CPUs and device controllers connect through a common bus providing access to shared memory. What is the graph
-
“The one program running at all times on the computer” Other might be system program or Application program
is the kernel.
-
Some computers have little or no user interface, we find them in cars and microwaves ...
Embedded system
-
-
Computer System Components
1. Hardware: provides basic computing resources like CPU, memory, and I/O devices.
2. Operating system: controls and coordinates the use of the hardware among various applications and users.
3. Application programs: define the ways in which the system resources are used to solve computing problems like word processors, compilers, web browsers, database systems, and video games.
4. Users: refer to people, machines, and other computers that interact with the system.
|
|