Operating Systems Fundamentals
Description:
This course dives into how operating systems (OS) work to manage hardware, run software applications, and provide a stable environment for users and developers. It’s critical for understanding system behavior and performance.
Learning Objectives:
-
Understand the purpose and types of operating systems
-
Explore process and memory management
-
Learn about file systems and storage
-
Study security and access control
Detailed Content:
6.1 Introduction to Operating Systems
An operating system is the system software that manages hardware and software resources on a computer. It acts as a bridge between the user and the computer hardware.
Examples of OS: Windows, Linux, macOS, Android.
6.2 Functions of an Operating System
-
Process management: Scheduling and running programs.
-
Memory management: Allocating and deallocating RAM.
-
File system management: Organizing and accessing files.
-
Device management: Handling input/output devices.
-
Security: Managing user access, permissions, and data protection.
6.3 Process Management
-
Each running program is called a process.
-
Processes have states: Ready, Running, Waiting, Terminated.
-
Multitasking OSs switch between processes using scheduling algorithms.
-
Scheduling types: FCFS, Round Robin, Priority Scheduling.
6.4 Threads and Concurrency
-
Threads are lightweight processes.
-
Used in multitasking to run tasks simultaneously.
-
Concurrency improves performance.
6.5 Memory Management
-
OS allocates RAM to processes.
-
Virtual memory allows use of disk as temporary RAM.
-
Paging and segmentation organize memory efficiently.
6.6 File Systems
-
Files are stored in folders and directories.
-
Permissions: read, write, execute.
-
File systems: NTFS (Windows), EXT4 (Linux), APFS (macOS).
6.7 Security and User Access
-
User accounts and groups.
-
Authentication: Passwords, biometrics.
-
Authorization: Permissions and access rights.
-
Encryption protects sensitive data.