0% found this document useful (0 votes)
33 views6 pages

OSG Slot 2 Review

The document covers various aspects of Linux, including its definition, variations (distros), and specific details about Ubuntu. It also discusses the importance of personal computer operating systems, real-time operating systems, and different operating system structures such as monolithic, layered, microkernels, client-server models, virtual machines, and exokernels. Additionally, it outlines the steps involved in making system calls in Linux and emphasizes the impact of operating system structure on performance and reliability.
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)
33 views6 pages

OSG Slot 2 Review

The document covers various aspects of Linux, including its definition, variations (distros), and specific details about Ubuntu. It also discusses the importance of personal computer operating systems, real-time operating systems, and different operating system structures such as monolithic, layered, microkernels, client-server models, virtual machines, and exokernels. Additionally, it outlines the steps involved in making system calls in Linux and emphasizes the impact of operating system structure on performance and reliability.
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/ 6

SE1973_HE191393_HiepND

LAB 1
Task 1:
Q1:
 Link slide: (Zalo)
Task 2:

Q1: What is Linux?

 Linux is a family of operating systems developed from the kernel created by Linus
Torvalds, offering open-source freedom to use, modify, and distribute without
purchase. In contrast, proprietary code is restricted by copyright and not publicly
shared.

Q2: List some Variations of Linux (distros)

 Distros can be commercially backed such as Fedora (Red Hat), openSUSE


(SUSE), and Ubuntu (Canonical Ltd.) or entirely community-driven such as Debian,
Slackware, Gentoo, and Arch Linux.

Q3: Tell somethings about Ubuntu.

 Dash: Ubuntu’s start menu, accessed via the dash icon on the Unity launcher.
 Unity Launcher: The left sidebar for quick access to apps, workspaces, and devices.
 CCSM: A tool for customizing Unity Desktop settings from the Ubuntu Software
Center.
 Ubuntu Unity: The desktop interface for Ubuntu, similar to Windows.
 Variants: Different editions of Ubuntu like Kubuntu and Lubuntu, similar to Windows
Home or Professional.
 Version Numbers: Indicate the release date (e.g., 16.04 = April 2016).
 Normal vs. LTS Releases: LTS versions receive long-term updates; normal releases
last six months.

Q5: Using Linux/Bash shell to create a text file on your destop. The name of the file is
your studentID. The content of the file includes your class name and your name. Take a
photo of each step (from navigating to desktop folder and creating the text file to
showing the content of the file on the shell) and paste them in your word file.

Step 1:
Step 2:

Step 3:

Step 4:
Step 5:

Task 3:

Q3:

 Personal computer operating systems are essential for our everyday tasks, allowing
multiple programs to run at the same time right from the start. They’re designed to
provide great support for single users, making them perfect for word processing,
spreadsheets, gaming, and browsing the Internet.
 Common examples include Linux, FreeBSD, Windows 7, Windows 8, and Apple’s
OS X. Because they’re so widely used, many people might not even realize there are
other types of operating systems out there. The convenience and efficiency these
personal computer operating systems offer are what make them a vital part of our
technology-driven lives.

Q6:

 A real-time operating system (RTOS) is designed for environments where timing is


crucial. It makes sure tasks are completed within specific deadlines, which can be
critical in various applications. In hard real-time systems, actions must happen at
exact times—like in welding robots on assembly lines or avionics systems—where
missing a deadline can lead to failures. In contrast, soft real-time systems can
handle occasional delays without major issues, making them ideal for multimedia
applications or smartphone features.
 RTOS often integrates closely with applications, as seen in systems like eCos. You’ll
find these operating systems in industrial, embedded, and specialized settings,
where the ability to meet timing requirements is essential for performance and
safety.

Task 4:

Q1:

 Step 1: Push Parameters: The calling program pushes the parameters onto the stack
in reverse order (i.e., nbytes, &buffer, fd).
 Step 2: Call Library Procedure: The program calls the library procedure read.
 Step 3: Library Procedure Execution: The library procedure prepares to make the
system call.
 Step 4: Set System Call Number: The library procedure places the system call
number for read in a designated register.
 Step 5: Execute TRAP Instruction: The library procedure executes a TRAP
instruction to switch from user mode to kernel mode.
 Step 6: Jump to Kernel: The TRAP instruction causes the CPU to jump to a fixed
address in the kernel.
 Step7: Fetch Parameters: The kernel fetches the parameters from the stack.
 Step 8: Dispatch to Handler: The kernel uses the system call number to index into a
table of pointers to system call handlers and dispatches to the appropriate handler.
 Step 9: Execute System Call Handler: The system call handler for read executes,
performing the necessary operations to read data from the file.
 Step 10: Return Control: Once the read operation is complete, control is returned to
the library procedure.
 Step 11: Clean Up Stack: The library procedure cleans up the stack by adjusting the
stack pointer to remove the parameters and returns control to the user program.

Task 5:

Q1:

 Overview of Operating System Structures:


○ Operating systems can be structured in various ways, each with its own
advantages and disadvantages.
○ The structure of an operating system affects its performance,
maintainability, and functionality.
 Monolithic Systems:
○ In monolithic systems, the entire operating system runs as a single
program in kernel mode.
○ All procedures can call each other freely, leading to efficient execution but
also potential complexity and difficulty in understanding.
○ A crash in any part of the system can bring down the entire operating
system.
 Layered Systems:
○ Layered systems organize the operating system into a hierarchy of layers,
each built on top of the one below it.
○ Each layer provides specific services and can be developed and
maintained independently.
○ This structure enhances modularity and simplifies debugging but may
introduce performance overhead due to inter-layer communication.
 Microkernels:
○ Microkernels aim to minimize the amount of code running in kernel mode,
placing most services in user mode.
○ This design enhances system reliability, as a failure in a user-mode
service does not crash the entire system.
○ Microkernels manage essential functions like communication and process
scheduling, while other services (like device drivers) run as separate
processes.
 Client-Server Model:
○ The client-server model distinguishes between servers that provide
services and clients that use those services.
○ Communication between clients and servers typically occurs through
message passing.
○ This model can be applied both locally and over networks, allowing for
flexible resource sharing.
 Virtual Machines:
○ Virtual machines provide an abstraction of hardware, allowing multiple
operating systems to run concurrently on a single physical machine.
○ Each virtual machine operates as if it has its own dedicated hardware,
enhancing resource utilization and isolation.
 Exokernels:
○ Exokernels allocate resources to user-level applications while allowing
them to manage their own abstractions.
○ This approach reduces the overhead of traditional operating systems by
minimizing the kernel's role in resource management.
 Conclusion:
○ The choice of operating system structure significantly impacts its
capabilities and performance.
○ Understanding these structures is crucial for designing efficient and
reliable operating systems.

You might also like