Written Assignment Unit 3
University of the People
CS 3307 - Operating Systems 2
December 6th, 2023
Table of Contents
Topic Sub-topic Page Number
Introduction ● Purpose of the Document 3
● Understanding File Systems
● Definition and Role
● Types and Examples
● Layers of a File System
● Storage Management
● Disk Fragmentation
● Prompts 4
Exploring Command Line ● Definition and Function
● Usage and Examples
● Common Commands
Remote Procedure Calls ● Overview and Operation 5
● Configurations and Advantages
● Limitations
Security in Unix/Linux ● Core Concepts 6
● User Management
● Security Practices
● Advanced Security Mechanisms
References 7
Understanding File Systems
Definition: A file system is a set of data structures, interfaces, abstractions, and APIs that
manage files on storage devices (Lavarian, 2022).
● Types and Examples:
○ NTFS (Windows): Supports large files, data encryption, access management, and
journaling(Lavarian, 2022).
○ exFAT (Cross-Platform): Suitable for high-capacity removable devices; supports
read and write on non-Windows environments.
○ APFS (Apple): A journaling file system used since OS X High Sierra.
○ ext4 (Linux): The default file system in many Linux distributions like Debian and
Ubuntu; offers journaling capability (Lavarian, 2022).
● Layers of a File System:
○ Physical Layer: Manages data storage and retrieval on the storage device.
○ Virtual File System (VFS): Provides a unified view of multiple file systems.
○ Logical File System: Offers an API for file operations like OPEN, READ, and
WRITE (Lavarian, 2022).
Image taken from GeeksforGeeks (2023)
● File Metadata: Includes file size, timestamps, owner, access modes, and block
allocation. In Unix-like systems, this is managed via inodes.
● Storage Management: Uses blocks as the storage unit, consisting of multiple sectors.
Manages space allocation and retrieval(Lavarian, 2022).
● Disk Fragmentation: Occurs when a file is stored in non-contiguous blocks, leading to
inefficiencies.
Exploring Command Line Prompts
Definition: An input field in a text-based user interface for an OS or program, designed to
receive commands (GeeksforGeeks, 2023).
● Usage and Examples:
○ Basic Functions: Changing directories, examining system disks.
○ Windows Command Prompt: Executes commands and batch files (cmd.exe).
○ Command Execution: Example with chkdsk for checking disk status in a
specific directory.
● Common Commands: Includes cls, copy, del, format, ipconfig, ping, sfc, and shutdown
(GeeksforGeeks, 2023).
Remote Procedure Calls (RPC)
Overview: This is a protocol used in computer networks that allows a program to request a
service from another program located on a different computer without needing to understand the
network's specifics (Matturro, 2021).
● Operation:
○ Client-Server Model: The requesting program is a client, and the service
provider is a server. RPC is synchronous and can be executed concurrently using
threads (Matturro, 2021).
○ Execution Process: Involves stubs, marshalling parameters, communication
between client and server OS, and unmarshalling of return parameters.
Image taken from Javatpoint (2023)
● Configurations and Advantages:
○ Configurations: Include normal, nonblocking, batched, and broadcast client calls.
○ Advantages: Simplifies client-server communication, supports distributed
environments, and abstracts network communication details (Matturro, 2021).
● Limitations: Vulnerable to failures, no uniform standard, and not suited for transferring
large data amounts (Matturro, 2021).
Security in Unix/Linux Operating Systems
● Core Concepts:
○ File System Permissions: Essential for controlling access to files (Zivanov,
2023).
○ Access Control Lists (ACLs): Allows permissions for multiple users or groups.
● User Management:
○ User Groups: Managed groups with specific access permissions.
○ Root Account: Provides complete control over the system but is used sparingly
for security reasons (Zivanov, 2023).
● Security Practices:
○ Passwords: Essential for user security, stored in /etc/passwd.
○ Account Management: Prompt deletion of old accounts, restricted use of su,
sudo, and ssh(Zivanov, 2023).
○ Software Patching: Ensuring integrity of patches through digital signatures and
cryptographic hashes.
○ Minimalist Approach: Avoiding unnecessary software installation and
configuration.
● Advanced Security Mechanisms:
○ SELinux: Kernel extensions for precise access control, mostly used to restrict
processes and root activities(Zivanov, 2023).
References
GeeksforGeeks. (2023, April 26). Linux File System.
https://www.geeksforgeeks.org/linux-file-system/
Rosencrance, L., & Matturro, B. (2021, October 21). Remote Procedure Call (RPC).
https://www.techtarget.com/searchapparchitecture/definition/Remote-Procedure-Call-RPC
Lavarian, R. (2022, January 12). What Is a File System? Types of Computer File Systems.
https://www.freecodecamp.org/news/file-systems-architecture-explained/
Zivanov, S. (2023, October 23). Linux security stats and practices.
https://phoenixnap.com/kb/linux-security#:~:text=SELinux%20(Security%2DEnhanced%20Linu
x),allowing%20authorized%20users%20and%20processes.