Windows Linux
Windows Linux
AND
PROGRAMMING
UNIT 5
WINDOWS OPERATING SYSTEM AND ITS
ENVIRONMENT
WHAT IS OPERATING SYSTEM?
DEFINITION:
EXAMPLES OF OS:
WINDOWS, LINUX, MACOS, ANDROID.
IMPORTANCE OF OS:
GUI DEFINITION:
A GRAPHICAL USER INTERFACE (GUI) ALLOWS USERS TO INTERACT WITH THE SYSTEM USING
GRAPHICS (ICONS, BUTTONS) RATHER THAN TEXT COMMANDS.
FEATURES OF A GUI:
• EASY TO USE.
• SUPPORTS MULTITASKING.
• DRAG-AND-DROP FUNCTIONALITY.
• SIMPLE GUI.
WHAT IS CONFIGURATION?
ADJUSTING SYSTEM SETTINGS TO OPTIMIZE PERFORMANCE AND USABILITY.
SETUP TASKS:
• INSTALLING SOFTWARE.
DEFINITION:
LINUX IS A FREE AND OPEN-SOURCE OPERATING SYSTEM BASED ON THE UNIX STANDARD. IT IS WIDELY USED IN
VARIOUS FIELDS, FROM PERSONAL COMPUTING TO ENTERPRISE SERVERS.
FEATURES:
• MULTI-USER AND MULTI-TASKING.
• PORTABILITY ACROSS HARDWARE PLATFORMS.
• STRONG COMMUNITY SUPPORT.
• STABILITY AND PERFORMANCE.
• VARIETY OF DISTRIBUTIONS LIKE UBUNTU, FEDORA, DEBIAN, ETC.
WHY OPEN SOURCE MATTERS?
• ENCOURAGES INNOVATION.
• TRANSPARENT CODEBASE.
• FREE TO USE AND MODIFY.
IMPORTANCE OF UNIX-BASED OS
• FOUNDATION OF MODERN SYSTEMS: MANY MODERN OPERATING SYSTEMS, INCLUDING LINUX AND
MACOS, ARE DERIVED FROM UNIX PRINCIPLES.
• RELIABILITY: UNIX-BASED SYSTEMS ARE KNOWN FOR THEIR ROBUSTNESS AND EFFICIENCY IN
HANDLING MULTI-USER AND MULTITASKING ENVIRONMENTS.
• USE CASES:
• INTERNET SERVERS.
• SCIENTIFIC RESEARCH.
• EMBEDDED SYSTEMS (E.G., ROUTERS, IOT DEVICES).
LINUX ENVIRONMENT OVERVIEW
CORE COMPONENTS:
• LINUX DISTRIBUTIONS: TAILORED TO DIFFERENT NEEDS (E.G., UBUNTU FOR EASE OF USE, KALI
LINUX FOR SECURITY).
1. KERNEL
• DEFINITION:
THE KERNEL IS THE CORE PART OF THE LINUX OPERATING SYSTEM THAT ACTS AS A BRIDGE BETWEEN HARDWARE
AND SOFTWARE.
• FUNCTIONS:
• RESOURCE MANAGEMENT: ALLOCATES CPU TIME, MEMORY, AND I/O RESOURCES TO PROCESSES.
• HARDWARE INTERACTION: COMMUNICATES WITH HARDWARE THROUGH DRIVERS.
• SYSTEM CALLS: PROVIDES AN INTERFACE FOR APPLICATIONS TO REQUEST SERVICES FROM THE HARDWARE (E.G.,
READING FILES, ACCESSING NETWORK).
• KEY FEATURES:
• HIGHLY SECURE AND STABLE.
• SUPPORTS MULTITASKING AND MULTI-USER ENVIRONMENTS.
• ANALOGY:
THINK OF THE KERNEL AS THE BRAIN OF THE OPERATING SYSTEM, MAKING DECISIONS ABOUT HOW RESOURCES
ARE USED.
LINUX ENVIRONMENT OVERVIEW
2. SHELL
• DEFINITION:
THE SHELL IS A COMMAND-LINE INTERFACE (CLI) THAT ALLOWS USERS TO INTERACT WITH THE OPERATING SYSTEM BY TYPING
COMMANDS.
• FUNCTIONS:
• ACCEPTS USER INPUT AND TRANSLATES IT INTO ACTIONS THE KERNEL CAN PERFORM.
• ENABLES AUTOMATION THROUGH SHELL SCRIPTS.
• EXAMPLE COMMANDS:
• LS: LIST FILES IN A DIRECTORY.
• CD: CHANGE DIRECTORY.
• ECHO: DISPLAY MESSAGES OR VARIABLES.
LINUX ENVIRONMENT OVERVIEW
3. FILE SYSTEM
• DEFINITION:
THE FILE SYSTEM IS THE STRUCTURE USED TO STORE AND ORGANIZE DATA ON A STORAGE
DEVICE (LIKE A HARD DISK OR SSD).
• LINUX FILE SYSTEM STRUCTURE:
• ORGANIZED IN A HIERARCHICAL FORMAT, STARTING FROM THE ROOT DIRECTORY /.
• COMMON DIRECTORIES:
• /BIN: ESSENTIAL BINARIES.
• /HOME: USER-SPECIFIC FILES AND FOLDERS.
• /ETC: CONFIGURATION FILES.
• /VAR: VARIABLE DATA LIKE LOGS.
• INSTALLATION STEPS:
• DOWNLOAD ISO.
• CREATE BOOTABLE USB/DVD (TO INSTALL LINUX, YOU NEED TO PREPARE A USB DRIVE OR DVD WITH THE
LINUX OS SO THE COMPUTER CAN USE IT DURING INSTALLATION)
• CONFIGURE BIOS/UEFI (TO INSTALL LINUX, YOU NEED TO TELL YOUR COMPUTER TO START ("BOOT") FROM
YOUR USB DRIVE (OR DVD) INSTEAD OF THE REGULAR HARD DRIVE).
• PARTITION DISKS.
• INSTALL AND SET UP USER ACCOUNTS.
• POST-INSTALLATION TASKS:
• INSTALL UPDATES (SUDO APT UPDATE && SUDO APT UPGRADE).
• CONFIGURE ADDITIONAL SOFTWARE.
SERVICES IN LINUX
• MONITORING SERVICES:
• CHECK STATUS: SUDO SYSTEMCTL STATUS <SERVICE>
SCRIPTING IN LINUX
• PURPOSE:
• AUTOMATE REPETITIVE TASKS.
• SIMPLIFY SYSTEM ADMINISTRATION.
• KEY CONCEPTS:
• VARIABLES, LOOPS (FOR, WHILE), CONDITIONALS (IF, ELSE).
• EXAMPLE SCRIPT:
• #!/BIN/BASH
• ECHO "SYSTEM INFORMATION"
• ECHO "CURRENT USER: $(WHOAMI)"
• ECHO "UPTIME: $(UPTIME)"
• ADVANCED SCRIPTING:
• FILE MANIPULATION.
• NETWORK DIAGNOSTICS.
NETWORK CONFIGURATION
• KEY TOOLS:
• IFCONFIG, IP, PING, NETSTAT, SS.
• SETTING IP ADDRESS:
• STATIC: CONFIGURE /ETC/NETWORK/INTERFACES.
• DYNAMIC: USE DHCP.
• CONFIGURING SSH:
• INSTALL: SUDO APT INSTALL OPENSSH-SERVER.
• START SERVICE: SUDO SYSTEMCTL START SSH.
• CONNECT: SSH USER@IP_ADDRESS.
• PRACTICAL SCENARIO:
• SHARE FILES VIA FTP OR CONFIGURE A BASIC WEB SERVER FOR LOCAL ACCESS.