Professional Documents
Culture Documents
Chapter 3 Ict
Chapter 3 Ict
• 3.5 Security
Real-time Processing:
Real-time processing requires immediate processing and response to events as they occur. It is essential
in applications where timely and accurate results are critical, such as control systems, financial
transactions, or monitoring systems.
3. Time-sharing/Multitasking:
Time-sharing allows multiple users to interact with a computer system simultaneously. Each user gets a
small time slice or quantum to execute their tasks. Multitasking involves the concurrent execution of
multiple tasks, enhancing overall system efficiency.
Multiprogramming:
Multiprogramming is a technique where multiple programs are loaded into the computer's memory at
the same time. The CPU switches between these programs, providing an illusion of concurrent execution
and improving resource utilization.
4. Multiprocessor Machines:
Multiprocessor machines have multiple processors (or cores) working together to execute tasks. This
architecture enhances processing power and allows for parallel execution of programs.
Software:
Software is a program that enables a computer to perform a specific task.
Types of Software:
1. Application software:
It is a set of programs designed to carry out operations for specific applications.
For example:
2. System software:
It is a set of programs that Provides infrastructure for application software.
For examples:
Operating system :
It is a program that manage interactions between users , hardware and software and much more.
Utility software:
It performs a very special task, usually related to managing system resources, e.g. utility compression,
defragmentation.
Figure 3.4 The user interface act as an intermediary between users and the
operating system kernel:
File Manager:
The kernel is responsible for managing files and directories on the system. It provides a file
system interface, allowing applications to create, read, write, and delete files. The file manager
ensures proper organization, access control, and storage allocation for data.
3. Purpose:
Directories serve the purpose of organizing files into a hierarchical structure, making it easier for users
to manage and locate specific files.
4. Hierarchy:
Directories are often organized in a hierarchical tree-like structure, with a top-level directory (root
directory) containing subdirectories, and these subdirectories may contain further subdirectories and
files.
Memory Manager:
Memory management is a critical aspect of the kernel's responsibilities. It allocates and
deallocates memory for processes, ensuring efficient use of available resources. The memory
manager also handles virtual memory, page swapping, and memory protection to prevent
unauthorized access.
2. Process State:
The process state refers to the current condition or status of a process during its execution. Common
process states include:
Ready: The process is ready to run but is waiting for the CPU to be assigned.
Blocked or Waiting: The process is waiting for an event (such as I/O completion) to proceed.
Program Counter:
The program counter (PC) is a register in the CPU that keeps track of the memory address of the next
instruction to be executed. It is crucial for maintaining the sequence of program execution.
Process Administration:
the kernel includes a scheduler that determines the order in which processes or threads are
executed on the CPU. It allocates CPU time to different tasks, making sure that each process
gets a fair share of the system resources. The dispatcher is responsible for the actual context
switching between processes.
1. Scheduler:
Adds new processes to the process table and removes completed processes from the process table
2. Dispatcher:
Controls the allocation of time slices to the processes in the process table
Device Drivers:
Device drivers are essential components that allow the operating system to
communicate with hardware devices such as printers, disk drives, and network
interfaces. The kernel includes these device drivers to facilitate the interaction
between the hardware and higher-level software.
2. Critical Region:
A critical region refers to a specific section of code or a group of instructions that must be executed by
only one process (or thread) at a time. It is crucial to ensure that concurrent access to shared resources
does not lead to data inconsistencies or conflicts. The concept of a critical region is closely related to
ensuring the integrity of shared data.
3. Mutual Exclusion:
Mutual exclusion is a fundamental requirement for the proper implementation of a critical region. It
ensures that only one process or thread can execute the critical section at any given time.
Deadlock:
• Processes block each other from continuing.
Deadlock in a computing system occurs when two or more processes are unable to proceed because
each is waiting for the other to release a resource. This can happen under certain conditions, and the
three necessary conditions for a deadlock are:
Problems:
Insecure Passwords:
Weak or easily guessable passwords can be exploited by attackers to gain unauthorized access to
systems or accounts.
Sniffing Software:
Sniffing refers to the unauthorized interception of network traffic to capture sensitive information, such
as usernames and passwords, as it travels over the network.
Countermeasures:
Auditing Software:
Auditing software is a countermeasure used to monitor and analyze system activities for security and
compliance purposes. It helps in detecting and responding to security incidents. Auditing tools can track
login attempts, access patterns, and changes to critical system files.
Problem:
Unruly Processes:
Unruly processes can include processes that consume excessive system resources, engage in
unauthorized or malicious activities, or attempt to exploit vulnerabilities within the system.
These processes may disrupt the normal functioning of the system and compromise its
integrity, availability, or confidentiality.
Countermeasure:
Control Process Activities via Privileged Modes and Privileged Instructions:
Privileged Modes:
Modern computer architectures often have different privilege levels or modes, such as user
mode and kernel mode. The kernel mode is a privileged mode that allows direct access to
system resources and critical functions. By controlling access to the kernel mode, the system
can restrict processes from performing certain actions that could compromise system security.
Privileged Instructions:
Privileged instructions are instructions that can only be executed in privileged modes, typically
restricted to the operating system's kernel. These instructions perform critical operations, and
allowing regular user processes to execute them could lead to security vulnerabilities. By
controlling access to privileged instructions, the system can prevent unauthorized processes
from performing sensitive operations.