OS
OS
Internal verification:
Contents
I.Introduction.......................................................................................................................3
II. All the information about Operating Systems.................................................................3
1.Overview about Operating Systems..............................................................................3
2. The evolution of Operating Systems............................................................................7
3. The importance of Operating Systems.........................................................................9
III. Explore the processes managed by an Operating System............................................10
1. Memory management.................................................................................................10
2. Process Schedulers.....................................................................................................10
3. Some Scheduling Algorithms use in operating systems............................................11
IV. Commands on different operating system...................................................................12
1. Commands on Window Operating system.................................................................12
2. Commands in Linux...................................................................................................13
3. The difference between Windows and Linux commands..........................................18
V. Core features modern operating systems will require to meet future needs.................19
1. Object-Oriented Design:.............................................................................................19
2. Multi-threading:..........................................................................................................19
3. Symmetric Multiprocessing (SMP):...........................................................................19
4. Distributed Operating Systems (DOS):......................................................................19
5. Microkernel Architecture:..........................................................................................19
6. List of other features:.................................................................................................19
VI. REFERENCE..............................................................................................................20
I.Introduction
- Apple macOS: macOS is the operating system that is pre-installed on Apple Macintosh
computers. It is a powerful and versatile operating system that is known for its stability,
security, and user-friendliness. macOS is a good choice for users who need a reliable and
efficient operating system for creative tasks, such as graphic design, video editing, and
music production.
- Linux: Linux is a family of open-source operating systems that are known for their
flexibility, security, and customization options. Linux is a good choice for users who need a
powerful and stable operating system for a variety of tasks, including web development,
system administration, and scientific computing.
- Android: Android is the most popular mobile operating system in the world. It is an open-
source operating system that is developed by Google. Android is known for its user-friendly
interface, its wide range of applications, and its affordability.
- iOS: iOS is the operating system that is pre-installed on Apple iPhone and iPad devices. It
is a powerful and versatile operating system that is known for its security, user-friendliness,
and wide range of applications. iOS is a good choice for users who need a reliable and
efficient operating system for mobile tasks, such as web browsing, social media, and email.
- Chrome OS: Chrome OS is a lightweight operating system that is designed for web
browsing and cloud-based applications. It is a good choice for users who need a simple and
easy-to-use operating system for everyday tasks.
2. The evolution of Operating Systems
Sure, here is a brief overview of the evolution of operating systems, starting from the first
generation:
- The first generation of operating systems (1945-1955)
-Characteristics:
+ Batch processing was the primary method of processing data.
+ Limited memory.
+ No user interface.
+ No multitasking.
-Impact:
+ Increased productivity.
+ Reduced costs.
+ Increased accessibility.
-Examples:
+ IBM 701 EDS (1952)
+ IBM 650 (1953)
+ UNIVAC I (1951)
+ Z11 (1955)
2. Process Schedulers
2.1. Long term or job scheduler
The long-term scheduler, also known as the job scheduler, is responsible for admitting new
processes into the system and allocating them to memory. It also decides when to terminate
processes that are no longer needed. The long-term scheduler typically uses a first-come,
first-served (FCFS) algorithm, which means that the first process that is submitted to the
system is the first one to be run. However, other algorithms may be used, such as priority
scheduling or round-robin scheduling.
2.2. Short term or CPU scheduler
The short-term scheduler, also known as the CPU scheduler, is responsible for selecting
which processes to run on the CPU. It typically uses a round-robin algorithm, which means
that each process is given a fixed amount of time to run before it is preempted and another
process is given a chance to run. This ensures that all processes get a fair chance to run.
2.3. Medium term
The medium-term scheduler is responsible for swapping processes between main memory
and secondary storage (such as a hard drive). This is done when there is not enough main
memory to run all of the processes that are currently in the system. The medium-term
scheduler typically uses a least recently used (LRU) algorithm, which means that the process
that has been in main memory for the least amount of time is the first one to be swapped out.
3. Some Scheduling Algorithms use in operating systems
3.1. Round Robin Schduling
Round-robin (RR) scheduling is a scheduling algorithm that gives each process a fair share
of the CPU. It works by dividing time into fixed-sized slices called time quanta. Each
process is given a time quantum, and it is allowed to run for the duration of its time quantum
before being preempted and another process being given a chance to run.
RR scheduling is a fair and efficient algorithm, but it can be inefficient if the time quanta are
too small. This is because it takes time to switch between processes, and if the time quanta
are too small, then the CPU will spend more time switching between processes than actually
running them.
3.2. First Come First Serve (FCFS)
First Come First Served (FCFS) scheduling is a scheduling algorithm that gives processes to
the CPU in the order that they arrive. This means that the first process that is submitted to
the system is the first one to be run, followed by the second process that is submitted, and so
on.
FCFS scheduling is a simple and easy-to-implement algorithm, but it can be unfair. This is
because long-running processes can delay short-running processes, which can cause the
short-running processes to experience long wait times.
3.3. Shortest Job Next (SJN)
Shortest Job Next (SJN) scheduling is a scheduling algorithm that gives the process with the
shortest estimated run time the highest priority. This means that the process that is expected
to take the least amount of time to run is the first one to be run, followed by the process that
is expected to take the second least amount of time to run, and so on.
SJN scheduling is an efficient algorithm, but it can be difficult to implement. This is because
it requires the operating system to know the estimated run time of each process before it is
run. In practice, it is often difficult to accurately estimate the run time of a process, so SJN
scheduling is not always used.
2.3 cd command
The cd (change directory) command is used to change the current working directory. This
can be used to navigate to a different directory in the filesystem.
2.4 cat command
The cat (concatenate) command is used to display the contents of a file. It can also be used
to combine multiple files into a single file.
2.5 mv command
The mv (move) command is used to move or rename files or directories. It can also be used
to copy files or directories.
2.6 rm command
The rm (remove) command is used to delete files or directories. It can also be used to delete
multiple files or directories at once.
2.7 touch command
The touch command is used to create an empty file or to update the timestamp of an existing
file. This can be useful for creating placeholder files or for updating the timestamps of files
that have been recently modified.
2.9 df command
The df (disk free) command is used to display the amount of free space on a disk or
filesystem. This can be useful for determining how much disk space is available.
2.10 head command
The head command is used to display the first few lines of a file. It can be used to quickly
preview the contents of a file or to identify problems with the file.
V. Core features modern operating systems will require to meet future needs1. Object-
Oriented Design:
Object-oriented programming (OOP) has revolutionized software development, providing a
modular and reusable approach to building complex systems. Modern operating systems
should embrace OOP principles to enhance their flexibility, maintainability, and
extensibility.
2. Multi-threading:
With the increasing prevalence of multi-core processors, operating systems need to
effectively utilize multi-threading capabilities to handle concurrent tasks simultaneously.
This will improve overall system performance and responsiveness, especially for demanding
applications.
3. Symmetric Multiprocessing (SMP):
SMP architectures, where multiple processors share a single memory space, are becoming
more common. Operating systems should leverage SMP capabilities to distribute workloads
efficiently and maximize performance gains.
4. Distributed Operating Systems (DOS):
As computing environments become increasingly distributed, operating systems need to
support distributed computing paradigms effectively. DOS allow for seamless resource
sharing and coordination across multiple interconnected systems.
5. Microkernel Architecture:
Microkernel architectures separate the core operating system functions from non-essential
services, enhancing system stability and security. Modern operating systems should adopt
microkernel designs to improve modularity and reduce the attack surface.
6. List of other features:
Artificial Intelligence (AI) Integration: Integrate AI capabilities to enhance system
performance, automate tasks, and provide intelligent user assistance.
Real-time Operating Systems (RTOS): Support real-time operating system capabilities for
applications that require deterministic and predictable performance, such as embedded
systems and industrial automation.
Energy Efficiency: Implement energy-saving mechanisms to reduce power consumption and
extend battery life for mobile devices and other resource-constrained systems.
Self-healing Capabilities: Develop self-healing mechanisms to detect and recover from
system failures automatically, improving system reliability and uptime.
Edge Computing Support: Enable edge computing capabilities to process and analyze data at
the network edge, reducing latency and improving data privacy.
Cross-platform Compatibility: Support seamless compatibility across different hardware
platforms and operating systems, ensuring a consistent user experience and simplifying
software development.
Secure Boot and Trusted Computing: Implement secure boot mechanisms and trusted
computing technologies to enhance system integrity and prevent unauthorized modifications.
Containerization and Microservices: Support containerization and microservices
architectures to enable flexible and scalable deployment of applications.
Automated Updates and Patching: Implement automated update and patching mechanisms to
ensure that systems are always up-to-date with the latest security patches and software
updates.
Predictive Maintenance and Analytics: Integrate predictive maintenance and analytics
capabilities to proactively identify potential system issues and optimize resource utilization.
Enhanced Accessibility: Incorporate features that enhance accessibility for users with
disabilities, ensuring that everyone can access and use the system effectively.
VI. REFERENCE
https://fr.scribd.com/document/405703481/BCA-1st-Year-2017
https://fr.scribd.com/document/405703481/BCA-1st-Year-2017