FUNDAMENTALS OF COMPUTER
AND
PROGRAMMING
UNIT 5
WINDOWS OPERATING SYSTEM AND ITS
ENVIRONMENT
WHAT IS OPERATING SYSTEM?
DEFINITION:
AN OPERATING SYSTEM (OS) IS SOFTWARE THAT ACTS AS AN INTERFACE BETWEEN COMPUTER
HARDWARE AND THE USER.
EXAMPLES OF OS:
WINDOWS, LINUX, MACOS, ANDROID.
IMPORTANCE OF OS:
• MANAGES HARDWARE AND SOFTWARE RESOURCES.
• PROVIDES A USER-FRIENDLY INTERFACE FOR PERFORMING TASKS.
INTRODUCTION TO GUI-BASED 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.
WHY WINDOWS IS POPULAR:
• SIMPLE GUI.
• BROAD SOFTWARE COMPATIBILITY.
WINDOWS CONFIGURATION AND SETUP
WHAT IS CONFIGURATION?
ADJUSTING SYSTEM SETTINGS TO OPTIMIZE PERFORMANCE AND USABILITY.
BASIC CONFIGURATION OPTIONS IN WINDOWS:
• CONTROL PANEL/SETTINGS: CHANGE DISPLAY, SOUND, USER ACCOUNTS.
• DEVICE MANAGER: MANAGE HARDWARE DEVICES.
• POWER OPTIONS: CUSTOMIZE ENERGY USAGE.
SETUP TASKS:
• INSTALLING SOFTWARE.
• ADDING DEVICES LIKE PRINTERS AND SCANNERS.
WINDOWS SERVICES
WHAT ARE SERVICES?
BACKGROUND PROCESSES THAT SUPPORT VARIOUS FUNCTIONALITIES OF THE OS.
EXAMPLES OF SERVICES IN WINDOWS:
• PRINT SPOOLER: MANAGES PRINT TASKS. (ALLOWS USERS TO QUEUE MULTIPLE PRINT TASKS WITHOUT WAITING
FOR ONE TO FINISH BEFORE STARTING THE NEXT).
• WINDOWS UPDATE: KEEPS THE SYSTEM UPDATED (KEEPS THE OPERATING SYSTEM UPDATED WITH THE LATEST
SECURITY PATCHES, FEATURES, AND BUG FIXES).
• NETWORK SERVICES: MANAGES INTERNET CONNECTIVITY (HANDLES INTERNET AND NETWORK-RELATED
TASKS, SUCH AS MANAGING WI-FI, ETHERNET CONNECTIONS, AND DOMAIN NAME RESOLUTION).
• MANAGING SERVICES:
USE TASK MANAGER OR SERVICES APP TO MONITOR AND MANAGE THEM.
• RIGHT-CLICK ON THE TASKBAR AND SELECT TASK MANAGER.
• GO TO THE SERVICES TAB.
• VIEW THE LIST OF RUNNING SERVICES, THEIR STATUS, AND THE PROCESS ID (PID).
• START OR STOP A SERVICE BY RIGHT-CLICKING ON IT.
NETWORK CONFIGURATION IN WINDOWS
WHY CONFIGURE NETWORK?
TO CONNECT TO THE INTERNET OR A LOCAL NETWORK EFFICIENTLY.
STEPS TO CONFIGURE NETWORK IN WINDOWS:
• OPEN SETTINGS → NETWORK & INTERNET.
• CHOOSE CONNECTION TYPE: WI-FI, ETHERNET.
• SET IP ADDRESS MANUALLY OR USE AUTOMATIC CONFIGURATION.
• TEST THE CONNECTION.
TROUBLESHOOTING TOOLS:
• NETWORK TROUBLESHOOTER.
• COMMAND PROMPT (PING, IPCONFIG COMMANDS).
UNIT 6
LINUX OPERATING SYSTEM AND ITS
ENVIRONMENT
WHAT IS LINUX?
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:
• KERNEL: MANAGES HARDWARE RESOURCES AND SYSTEM CALLS.
• SHELL: COMMAND-LINE INTERFACE FOR USER INTERACTION.
• FILE SYSTEM: ORGANIZES AND STORES DATA.
COMMON SHELLS: BASH, ZSH, FISH.
• LINUX DISTRIBUTIONS: TAILORED TO DIFFERENT NEEDS (E.G., UBUNTU FOR EASE OF USE, KALI
LINUX FOR SECURITY).
• FILE PERMISSIONS: CONTROLS ACCESS (READ, WRITE, EXECUTE).
LINUX ENVIRONMENT OVERVIEW
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.
• TYPES OF SHELLS IN LINUX:
• BASH (BOURNE AGAIN SHELL): THE DEFAULT SHELL IN MANY LINUX DISTRIBUTIONS, KNOWN FOR ITS SIMPLICITY AND
SCRIPTING CAPABILITIES.
• ZSH (Z SHELL): ENHANCED WITH FEATURES LIKE AUTO-COMPLETION, BETTER SCRIPTING, AND CUSTOMIZATION.
• FISH (FRIENDLY INTERACTIVE SHELL): FOCUSES ON USER-FRIENDLINESS WITH FEATURES LIKE SYNTAX HIGHLIGHTING.
• 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.
• FEATURES OF LINUX FILE SYSTEM:
• SUPPORTS PERMISSIONS AND OWNERSHIP.
• JOURNALING ENSURES DATA INTEGRITY DURING POWER FAILURES OR CRASHES.
SETTING UP LINUX
• LINUX DISTRIBUTIONS: CHOOSE BASED ON USER NEED:
• UBUNTU: BEGINNER-FRIENDLY.
• CENTOS/RED HAT: ENTERPRISE USE.
• ARCH LINUX: ADVANCED USERS.
• 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
• SYSTEM SERVICES: EXAMPLES: CRON (TASK SCHEDULER), SSH (REMOTE ACCESS).
• SERVICE MANAGEMENT COMMANDS:
• START: SUDO SYSTEMCTL START <SERVICE>
• STOP: SUDO SYSTEMCTL STOP <SERVICE>
• ENABLE AT BOOT: SUDO SYSTEMCTL ENABLE <SERVICE>
• 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.