Basics Flashcards
What is an operating system?give functions and examples?
os acts as an interface between user and hardware
it provides an environment to execute a program
user—>application—>OS—>hardware
it control and coordinates the activities of various hardware components such as processor,memory,storage devices,I/O devices etc..
it performs various tasks such as :
managing memory and files
controlling I/O devices
managing network connections
scheduling tasks
providing a user interface
without an OS a computer would be unable to perform any useful tasks
eg:Microsoft,Windows,Macos,IOS,Android,Linux etc..
Explain the functions of Operating System ?why is it important?
OS is necessary for proper functioning and efficient use of hardware and software resources
Resource management:Os manages the computer’s hardware and software resources .they allocate resources efficiently to ensure that each program running on the system has access to the resources it needs
User interface:Os provide a user interface that enables users to interact with the computer and it’s application this include GUI,CLI(command line interface) and touch interfaces
File management:OS manage files and directories on the computer’s storage devices.
Security:protects the sytem from unauthorized access and ensure privacy eg:access control,authentication,encryption,firewall,antivirus etc..
Error detection and recovery:OS detects error that occur during program execution and provide mechanism to recover from these errors to ensure stability
What are different types of operating sytem?
Desktop operating system (windows,macOS,Linux)
Mobile operating sytem(Android,ios)
Real time operating sytem(RTOS)
Embedded operating systems
what is Real time operating sytem?
RTOS are used where the timing and reliability of operations are crucial such as in industrial control system,medical devices and aerospace applications
they provide mechanism to prioritize tasks and allocate system resources
such as memory and processing time ,to ensure that critical tasks are executed on time,fast interrupt handling allowing system to quickly respond to hardware events,such as sensor input and external communication
eg: FreeRTOS,VxWorks etc..
what is Embedded operating systems?
OS designed to run on embedded systems,which are specialized devices that perform specific tasks or functions such as sensors,medical devices ,
automative systems etc..
key features :
small size
real-time response-quickly respond to external events and input signals
security
low overhead-minimal processing power and memory resources
eg:
Android things
QNX
What are different Operating system concepts?
Process management (e.g., scheduling, synchronization, interprocess communication)
Memory management (e.g., paging, virtual memory)
File system management (e.g., file organization, access control)
Input/output (I/O) management (e.g., device drivers, buffering)
Security and protection (e.g., access control, authentication)
Explain process management ?
process management involves managing processes or tasks in the OS this include :
scheduling
synchronization
interprocess communication
scheduling-the OS scheduler determines which process should be executed next based on the scheduling algorithm ,it can be of time-sharing, priority based or combination of both.
synchronization-it ensures that multiple processes access the shared resources in a coordinated manner.synchronization mechanism include locks and monitors
interprocess communication(IPC)-refers to mechanism for exchanging data and signals between different processes.
Explain Memory management?
involves managing system’s memory resources
including allocating and deallocating memory, managing virtual memory, and providing mechanisms for memory protection.
it includes paging and virtual memory
Paging: Paging is a memory management technique that allows the operating system to store and retrieve data from secondary storage when the primary memory becomes full.
Virtual memory: Virtual memory is a memory management technique that allows the operating system to allocate more memory to a process than what is physically available in the system.
Explain File management?
File system management involves managing files and directories in the operating system. This includes organizing files, providing access control, and implementing file operations such as read, write, and delete.
Access control: Access control ensures that only authorized users can access files and directories. Access control mechanisms include permissions, ownership, and access lists.
Explain Input/output (I/O) management ?
I/O management involves managing input and output operations in the operating system. This includes managing device drivers, buffering data, and providing mechanisms for interrupt handling.
Device drivers: Device drivers are software components that enable the operating system to communicate with hardware devices such as printers, keyboards, and mice.
Buffering: Buffering involves temporarily storing data in a buffer to improve I/O performance.
Explain Security and protection?
Security and protection involve protecting the system from unauthorized access, data theft, and other security threats. This includes implementing access control, authentication, and encryption mechanisms.
Access control: Access control mechanisms ensure that only authorized users can access system resources.
Authentication: Authentication mechanisms ensure that users are who they claim to be before granting them access to system resources.
Encryption: Encryption involves converting data into a coded form to protect it from unauthorized access.
Components of operating system ?explain?
Kernel
Device drivers
Shell
Utilities (e.g., command-line interface, graphical user interface)
Applications
kernel is a computer program and is the central component of the OS that manages system’s resources,such as CPU,memory,I/O devices etc..
it is responsible for handling system calls,managing memory allocation,scheduling tasks,ensuring stablility and security
Device drivers are software component that allows the OS to communicate with the hardware devices such as printers,scanners,network adapters. they work as an interface b/w OS and hardware components enabling the system to control and access the device’s functionality
shell is the command line interface (CLF) that allows user to interact with the operating system. it interprets the user’s command and executes them by communicating with the kernel and other system components.
Utilities - Utilities are tools that provide additional functionality to the operating system. They include command-line tools for managing files, networks, and system settings, as well as graphical user interface (GUI) tools for performing tasks such as file management, system configuration, and application installation.
Applications - Applications are programs that run on top of the operating system and provide functionality to the user. They include web browsers, media players, word processors, and other productivity tools. Applications rely on the operating system’s resources and services to function correctly.
what are different types of kernel architectures (OS design)
Monolithic kernel
Microkernel
Hybrid kernel
Monlithic kernel-a monolithic kernel is a type of operating system kernel where all the operating system services, such as memory management, device drivers, file system, and process management, are integrated and run as a single program in kernel space,all the operating system services and functions are tightly coupled together in the same memory space.such a kernel is fast and efficient ,but it becomes more complex and difficult to maintain or modify.as any changes to one part of the kernel may have unintended consequences for other parts
eg:Linux,Unix
a microkernel is a type of operating system kernel that is designed to be small and simple, with only the most essential functions, such as interprocess communication, memory management, and basic scheduling, running in kernel space.Other services, such as device drivers and file systems, run as separate user-space processes outside of the kernel.slower performance but changes in one part of the kernel does not affect any other parts.
eg:QNX,Minix
hybrid kernel-a hybrid kernel is a type of operating system kernel that combines features of both monolithic and microkernel architectures. Like a monolithic kernel, a hybrid kernel includes a significant amount of code running in kernel space, providing fast and efficient access to hardware resources. However, it also allows certain services, such as device drivers and file systems, to run as separate user-space processes outside of the kernel, similar to a microkernel. This approach allows for a more modular design, easier maintenance and customization, and improved security and stability. Examples of operating systems that use a hybrid kernel include Windows and macOS.
Operating system performance?
Operating system performance refers to the efficiency and speed at which an operating system carries out its tasks. Here are two key concepts related to operating system performance:
Benchmarking - Benchmarking is the process of measuring the performance of an operating system or other software components against established standards or benchmarks. Benchmarking tools are used to assess the performance of different operating system functions, such as CPU performance, memory usage, and disk I/O, and compare them to industry standards.it helps to identify areas where the OS maybe underperforming or Overperforming allowing the scope for improvement
Performance tuning - Performance tuning refers to the process of optimizing an operating system’s performance to improve its speed and efficiency.This may involve adjusting system settings, configuring hardware resources, or modifying software components to optimize performance. Performance tuning can help an operating system run more efficiently, reduce system bottlenecks, and improve overall performance.
what are different OS troubleshooting techniques?
Operating system troubleshooting involves identifying and resolving problems that arise in an operating system. Here are three key concepts related to operating system troubleshooting:
Debugging techniques - Debugging is the process of identifying and fixing errors or bugs in software. Debugging techniques are used to trace the root cause of the problem and fix it. Common debugging techniques include stepping through code, using debugging tools to monitor program execution, and analyzing system crash dumps. These techniques are used to identify errors and fix them so that the operating system can run smoothly.
System logs - System logs are records of events and messages that occur in the operating system. They can be used to diagnose problems and identify errors that occur in the operating system. System logs contain information such as error messages, warning messages, and status updates, and can be used to troubleshoot problems by providing valuable information about what happened and when.
Common issues and solutions - Operating systems can encounter a range of common issues, such as slow performance, crashes, or errors. Troubleshooting common issues involves identifying the root cause of the problem and implementing a solution. Common solutions may include updating system software, installing patches or updates, removing malware, or optimizing system settings.