0% found this document useful (0 votes)
40 views21 pages

OS

The document is an assignment submission for an Operating Systems unit. It includes an introduction and then discusses the overview and evolution of operating systems, the processes they manage like memory and scheduling, commands on different OSs like Windows and Linux, and future requirements. The student submitted it with their name, ID, number, and it received feedback from their tutor.

Uploaded by

tahaianh2110
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
40 views21 pages

OS

The document is an assignment submission for an Operating Systems unit. It includes an introduction and then discusses the overview and evolution of operating systems, the processes they manage like memory and scheduling, commands on different OSs like Windows and Linux, and future requirements. The student submitted it with their name, ID, number, and it received feedback from their tutor.

Uploaded by

tahaianh2110
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 21

PROGRAM TITLE: BTEC in Computing

UNIT TITLE: OPERATING SYSTEM


ASSIGNMENT NUMBER: Assignment 1
ASSIGNMENT NAME: OPERATING SYSTEM
SUBMISSION DATE: 1/12/2023
DATE RECEIVED: 1/10/2023
TUTORIAL LECTURER: DAO VIET PHUONG
WORD COUNT: 3908

STUDENT NAME: Nguyen Quy Duong


STUDENT ID: BKC13167
MOBILE NUMBER: 0903246189
Summative Feedback:

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

II. All the information about Operating Systems


1.Overview about Operating Systems
1.1. What is an Operating Systems
- An operating system (OS) is a software that manages computer hardware and software
resources and provides common services for computer programs. In other words, it is the
software that makes your computer work. Without an operating system, you would not be
able to use any of the software on your computer, such as your web browser, word
processor, or email client.
- The operating system is loaded into the computer's memory when the computer is turned
on, and it remains in memory until the computer is turned off. The operating system then
begins to manage the computer's resources, such as the CPU, RAM, and hard drive. It also
provides common services for computer programs, such as file management, input/output,
and networking.
- There are many different types of operating systems:

1.2. Why we need Operating system


- We need an operating system to manage the hardware and software resources of a
computer. Without an operating system, a computer would be nothing more than a collection
of electronic components that could not communicate with each other or with the user.
- The operating system is responsible for many important tasks, including:
+ Booting up the computer: When you turn on your computer, the operating system is the
first piece of software that loads into memory. It is responsible for initializing the hardware
and preparing the computer for use.
+ Managing memory: The operating system allocates and deallocates memory for programs
as needed. This ensures that programs have the resources they need to run smoothly.
+ Handling input and output: The operating system allows programs to interact with input
devices, such as keyboards and mice, and output devices, such as printers and monitors.
+ Managing files: The operating system creates, reads, writes, and deletes files. It also keeps
track of where files are located on the hard drive.
+ Providing security: The operating system protects the computer from unauthorized access
and malware.
+ Running applications: The operating system provides a platform for applications to run on.
Applications are programs that allow users to perform specific tasks, such as word
processing, web browsing, and playing games.
1.3. Functions of an operating system
- Here are some of the functions of an operating system:
+ Process management: The operating system creates and manages processes, which are
programs that are running on the computer.
+ Memory management: The operating system allocates and deallocates memory for
programs.
+ File management: The operating system creates, reads, writes, and deletes files.
+ Device management: The operating system manages input and output devices, such as
printers, keyboards, and mice.
+ Networking: The operating system allows programs to communicate with each other over
a network.
+ Security: The operating system protects the computer from unauthorized access and
malware.
-Here are some additional functions of an operating system:
+ Error handling: The operating system handles errors that occur during program execution.
+ Resource sharing: The operating system allows multiple users to share computer
resources.
+ Multitasking: The operating system allows multiple programs to run concurrently.
+ Virtualization: The operating system can create virtual machines, which are isolated
environments that can run their own operating systems.
1.4. Types of Operating Systems
- Microsoft Windows: Windows is the most popular operating system in the world. It is a
commercial operating system that is available for a variety of hardware platforms, including
personal computers, servers, and mobile devices. Windows is known for its user-friendly
interface and its wide range of software applications.

- 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)

-The second generation of operating systems (1955-1965)


-Characteristics:
+ Introduction of multiprogramming and job control.
+ Magnetic tape as the primary storage medium.
+ Punched cards and teletypewriters as the primary input and output devices.
-Impact:
+ Improved resource utilization.
+ Increased flexibility.
+ Reduced response time.
-Examples:
+ IBM 1401 (1956)
+ Burroughs B5000 (1956)
+ Control Data Corporation CDC 6600 (1964)
+ Multics (1969)

-The third generation of operating systems (1965-1980)


-Characteristics:
+ Introduction of virtual memory and networking.
+ Increased use of transistors instead of vacuum tubes.
+ Development of time-sharing systems.
-Impact:
+ Improved memory management.
+ Increased support for multitasking.
+ Increased portability of applications.
-Examples:
+ UNIX (1969)
+ VMS (1973)
+ RS/6000 (1979)
+ Xenix (1980)
-The fourth generation of operating systems (1980-Present)
-Characteristics:
+ Introduction of graphical user interfaces (GUIs).
+ Increased use of object-oriented programming.
+ Development of distributed operating systems.
-Impact:
+ Increased ease of use.
+ Improved performance.
+ Increased scalability.
-Examples:
+ Microsoft Windows (1985)
+ Apple Macintosh System Software (1984)
+ Linux (1991)
+ Android (2008)
+ iOS (2007)
3. The importance of Operating Systems
- Operating systems are essential for computers to function properly. They manage the
computer's hardware and software resources, provide a user interface, and allow programs to
run. Without an operating system, a computer would be nothing more than a collection of
electronic components that could not communicate with each other or with the user.
-Here are some of the reasons why operating systems are important:
+ They manage the computer's hardware and software resources. The operating system
allocates and deallocates memory, CPU time, and other resources to programs as needed.
This ensures that programs have the resources they need to run smoothly.
+ They provide a user interface. The operating system provides a way for users to interact
with their computers. This can be done through a graphical user interface (GUI), a
command-line interface (CLI), or a combination of both.
+ They allow programs to run. The operating system creates and manages processes, which
are programs that are running on the computer. It also provides common services for
computer programs, such as file management, input/output, and networking.
+ They protect the computer from unauthorized access and malware. The operating system
provides security features that protect computers from unauthorized access and malware.
+ They make computers easier to use. Operating systems make computers easier to use by
providing a consistent interface and by automating many of the tasks that were previously
performed manually.

III. Explore the processes managed by an Operating System


1. Memory management
1.1. Main memory
-Main Memory
Main memory, also known as primary memory or random access memory (RAM), is the
computer's working memory. It is a temporary storage area that holds the data and
instructions that are currently being used by the computer. Main memory is very fast and can
be accessed directly by the CPU. However, it is also volatile, which means that it loses its
contents when the computer is turned off.
1.2. What is memory management
-What is Memory Management?
-Memory management is the process of controlling and allocating main memory. The
operating system is responsible for managing memory so that it is used efficiently and
effectively. This involves a number of tasks, including:
+ Keeping track of which blocks of memory are free and which are in use.
+ Allocating blocks of memory to programs as needed.
+ Deallocating blocks of memory when programs are finished using them.
+ Swapping data between main memory and secondary storage (such as a hard drive) when
necessary.
1.3. Why we should use memory management
-Why We Should Use Memory Management
Memory management is important because it ensures that programs have the memory they
need to run smoothly. Without memory management, programs would compete for memory,
and this could lead to errors, crashes, and other problems. Memory management also helps
to protect the integrity of data and programs by preventing unauthorized access to memory.

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.

IV. Commands on different operating system


1. Commands on Window Operating system
1.1 Definition of Command-line shells
A command-line shell, also known as a command-line interface (CLI), is a user interface
that allows users to interact with a computer by typing commands. CLI shells are typically
text-based, and they provide a way for users to control the computer without using a mouse
or a graphical user interface (GUI).
1.2 File compare command
The FC (file compare) command is used to compare two files or sets of files. It can be used
to identify differences between the files, such as changes in line endings, white space, or the
contents of the files.
1.3 Ipconfig command
The ipconfig (IP configuration) command is used to display information about the
computer's network configuration. This includes the computer's IP address, subnet mask,
default gateway, and DNS server settings.
1.4 Ping command
The ping command is used to test network connectivity. It sends a packet to a specified host
and then measures the time it takes for the packet to return. This can be used to identify
problems with the network, such as packet loss or latency.
1.5 Traceroute
The tracert (trace route) command is used to trace the path that a packet takes from the
computer to a specified host. This can be used to identify problems with the network, such as
routing loops or congestion.
1.6 Shutdown command
The shutdown command is used to shut down or restart the computer. It can also be used to
log off the current user or to put the computer to sleep or hibernation.
1.7 Tasklist command
The tasklist command is used to display a list of the processes that are currently running on
the computer. This can be used to identify processes that are consuming a lot of CPU or
memory.
1.8 Schtasks command
The schtasks (Scheduled Tasks) command is used to manage scheduled tasks. Scheduled
tasks are tasks that are automatically run at a specified time or event.
1.9 Prompt command
The prompt command is used to change the appearance of the command prompt. This
includes the text that is displayed before the user enters a command, the color of the text,
and the font that is used.
1.10 Cls command
The cls command is used to clear the screen. This can be used to make the command prompt
easier to read.
1.11 Systeminfo command
The systeminfo command is used to display information about the computer's hardware and
software configuration. This includes the computer's processor, memory, operating system
version, and installed software.
2. Commands in Linux
2.1 sudo command
The sudo command is used to run a command with the privileges of the superuser, which is
the root user. This can be used to perform administrative tasks, such as installing software or
modifying system files
2.2 pwd command
The pwd (present working directory) command is used to display the full path of the current
working directory. This can be useful for identifying your current location in the filesystem.

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.8 find command


The find command is used to search for files or directories. It can be used to search for files
or directories by name, by type, or by location.

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.

2.11 tail command


The tail command is used to display the last few lines of a file. It can be used to quickly
check the end of a file or to identify problems with the file.
3. The difference between Windows and Linux commands
-Command-line interface: The default command-line interface in Windows is the Command
Prompt. The default command-line interface in Linux is Bash.
-Case sensitivity: Windows commands are not case-sensitive, while Linux commands are
case-sensitive. This means that you can type Windows commands in either uppercase or
lowercase, but you must type Linux commands in the correct case. For example, the dir
command in Windows will list the contents of the current directory, regardless of whether
you type it as dir, Dir, or DIR. However, the ls command in Linux will only list the contents
of the current directory if you type it as ls. If you type it as Ls or LS, it will not work.
-File management commands: Windows and Linux have a number of similar file
management commands, such as dir (Windows) and ls (Linux), copy (Windows) and cp
(Linux), and move (Windows) and mv (Linux). However, there are also some differences
between the commands. For example, the del command in Windows is used to delete files,
while the rm command in Linux is used to delete files.
-Network commands: Windows and Linux have a number of similar network commands,
such as ping (Windows and Linux), ipconfig (Windows) and ifconfig (Linux), and tracert
(Windows) and traceroute (Linux). However, there are also some differences between the
commands. For example, the ping command in Windows is used to test network
connectivity to a specific host, while the ping command in Linux can be used to test network
connectivity to a specific host or to a list of hosts.
-System commands: Windows and Linux have a number of similar system commands, such
as shutdown (Windows and Linux), tasklist (Windows) and ps (Linux), schtasks (Windows)
and crontab (Linux), prompt (Windows and Linux), cls (Windows) and clear (Linux), and
systeminfo (Windows) and uname -a (Linux). However, there are also some differences
between the commands. For example, the shutdown command in Windows is used to shut
down or restart the computer, while the shutdown command in Linux can be used to shut
down or restart the computer, to log off the current user, or to put the computer to sleep or
hibernation.

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

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy