Lab #1 Intro To Theory of OS

Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

3 Level | Theory of Operating System| Lab 1

rd

Introduction to Theory of Operating System Course

Teaching (Course) Plan:

Modern Academy - Eng. Noha Ali Page | 1


3 Level | Theory of Operating System| Lab 1
rd

1- Course ILO’s :
Practical and Professional Skills:

On completion of this course the student will able to:

1. Construct programs under Linux OS and its shell programming facilities to design scripts.
2. Implementing some scheduling and memory management algorithms.
3. Design small coding projects to improve programming skills.

2- Overall, course in Lab will going through:


➔ Practicing some commands on Linux operating system => Ubuntu.
➔ Practicing some commands on Windows.
➔ Implement CPU Scheduling algorithms in C++.
3- Evaluation:

Mid Term 20 Mark


Year Work 10 Mark
Practical (Final Lab Project) 10 Mark
Final Term 60 Mark
Total 100 Mark

4- What is the Operating System?

An operating system (OS) is software that manages hardware and software resources on a
computer or a device. Also, provides common services for computer
programs.

5- Key Functions of an Operating System:


1. Process Management:
The OS manages multiple running applications (processes),
determining how they share the CPU. It schedules which process
runs at any given time, and may switch between processes
rapidly, creating the appearance of multitasking.

2. Memory Management:

The OS handles memory allocation, making sure each application


has access to the memory it needs while preventing conflicts
between applications. This includes both the physical RAM and virtual memory.

3. File System Management:


It organizes and manages data on storage devices using a file system, which allows
for the creation, deletion, reading, writing, and manipulation of files and directories.

Modern Academy - Eng. Noha Ali Page | 2


3 Level | Theory of Operating System| Lab 1
rd

4. Device Management:

The OS acts as a bridge between applications and hardware devices like printers,
hard drives, or graphics cards. Device drivers are used to ensure compatibility
between hardware and software.

5. Network, Security and Access Control:


Modern operating systems provide security features, including user authentication
(passwords, biometrics) and permissions (read/write/execute access), protecting
sensitive information and preventing unauthorized access.

6. User Interface (UI):

Operating systems provide the user interface for interacting with the computer.
There are two types of UIs:

➢ Graphical User Interface (GUI): Uses visuals (windows, icons, menus) for
interaction (e.g., Windows, macOS).
➢ Command-Line Interface (CLI): Users type commands to interact (e.g.,
Linux terminal, Windows Command Prompt)

Most Popular Operating Systems:


1. Windows:
Developed by Microsoft, it's a widely-used OS, especially on personal computers.
Known for its GUI and extensive software ecosystem (ecosystem refers to the wide
variety of applications and programs developed to run on a particular operating
system).

2. macOS:
Created by Apple, it’s the default OS for Mac computers, known for its user-friendly
interface, security, and seamless integration with other Apple products.

3. Linux:
Open-source and highly customizable, Linux is favored for its flexibility and is
commonly used in servers, programming, and development environments. Popular
distributions include Ubuntu, Fedora, and Debian.

4. Android:

Based on Linux, Android is an operating system for mobile devices developed by


Google, and it's the most widely used mobile OS globally.

5. iOS:
Apple’s operating system for its mobile devices (iPhones and iPads), known for its
security, privacy, and smooth user experience

Modern Academy - Eng. Noha Ali Page | 3


3 Level | Theory of Operating System| Lab 1
rd

6- Comparison between Linux Vs Windows:


Feature Windows Linux
Open-source community
Developer Microsoft (various distros)

Mostly free and open-source


Cost Paid (licensed software)
Highly customizable,
Limited customization
Customization especially with different
options
distros
Generally, more secure, fewer
More prone to viruses and
Security malware risks
malware
GUI varies by distribution
Graphical User Interface
(GNOME, KDE, etc.), can also
User Interface (GUI) with consistent look
use command-line
across versions
Large library of free/open-
Software Wide range of commercial source software, limited
Availability software commercial software

System Higher system Can run on lower-end


Requirements requirements hardware
Either primary or logical
Booting Only primary partition partition.

Limited native game support,


Excellent support for
Gaming but improving
games (DirectX)

Can be slower on older


Generally faster and more
Performance hardware due to higher
efficient, especially on older
resource use
hardware
Popular among developers,
Primarily used by home
User Base tech enthusiasts, and servers
users and enterprises
Open-source, with many
distributions (distros)
Open-source Proprietary
available

File names Case insensitive Case sensitive


Command-Line Optional, rarely needed for Powerful and widely used by
Interface (CLI) most users Linux users for advanced tasks

Modern Academy - Eng. Noha Ali Page | 4


3 Level | Theory of Operating System| Lab 1
rd

7- How to install another Operating System beside windows?


1- Install from a Bootable USB beside windows.
2- Live CD.
3- Using virtual machine (Oracle VM Virtual Box).

8- Ubuntu
Ubuntu is probably the most well-known Linux distribution

• How to Install Ubuntu?

Go to http://www.ubuntu.com/ >> Click on Download >> Ubuntu Desktop >> Choose


the version >> Download .iso file.

• How to create a Bootable USB?

Go to http://www.ubuntu.com/ >> Click on Download >> Ubuntu Desktop >> Easy ways
to switch to Ubuntu >> From Windows >> Click on How to create a bootable USB stick on
Windows › >> Download the Rufus USB installer.

• Dealing with the operating System is through two ways:


1- GUI (Graphical User Interface).
2- Command Prompt or Shell.

• Directory Structure of Linux based OS:


/

etc usr bin sbin home Opt dev mnt man

bin sbin

Passwd Shadow Group

Explanation of Key Directories:


1. / (Root Directory):
The top-level directory of the Linux file system. All other directories and files reside
under this directory.

Modern Academy - Eng. Noha Ali Page | 5


3 Level | Theory of Operating System| Lab 1
rd

2. /etc:
This is where configuration files for the system and applications are stored. It
includes startup scripts, network settings, and user account information (e.g.,
/etc/passwd, /etc/hosts).
➢ The /etc/passwd file in Linux is a critical system file that contains information about
user accounts. Each line in the file represents a single user account, with fields
separated by colons (:). Despite the name, the file no longer stores actual passwords
for users (those are stored in /etc/shadow in modern systems), but it does provide
important information about each user.

3. /bin:
Contains essential binary executable files (programs) required by the system and all
users, such as basic shell commands (e.g., ls, cp, mv, rm).

4. /sbin:
Similar to /bin, but contains system binaries and commands for administrative tasks
that are generally run by the superuser (e.g., ifconfig, fsck, reboot).

5. /dev:
Contains device files, which represent physical or virtual devices attached to the
system (e.g., hard drives, USB devices, terminals). These files allow the OS to interact
with hardware through drivers.

6. /home:
Contains user-specific directories. Each user has a personal directory under /home
(e.g., /home/username), where their files, documents, and configuration settings are
stored.

7. /opt:
Contains optional or third-party software that is not part of the standard file system
hierarchy. Software installed here usually resides in subdirectories, like
/opt/example-software.
8. /root:
The home directory for the root (superuser). It is separate from /home to
emphasize that root has special system-wide privileges.
9. /man: manual for command line.

Assignment #1:
(1) Research about Android Versions OR Linux Distributions.
(2) Install Ubuntu on Oracle VM Virtual Box (Screenshot).

Modern Academy - Eng. Noha Ali Page | 6

You might also like