Written Assignment Unit 3

docx

School

University of Central Florida *

*We aren’t endorsed by this school

Course

3307

Subject

Computer Science

Date

Jan 9, 2024

Type

docx

Pages

12

Uploaded by MegaCrane3665

Report
1 Written Assignment Unit 3: File System Training Document University of the People CS 3307 Operating Systems 2 Debanjana Chaudhuri, Instructor December 6, 2023
2 Written Assignment Unit 6: File System Training Document Welcome, dear junior developer to this file system training document. Throughout this document, I will strive to keep the concepts as simple and understandable as possible. We will be covering file systems, prompts, and remote procedure calls. File Systems: Definition: a file system organizes and manages data stored on a computer’s storage devices. It defines how the files are named, stored, and retrieved from these storage devices (Lavarian, 2022). Components: a file system consists of blocks and inode. Blocks: storage units where the contents of files are stored on the drive. Inode: short for index node, is a metadata structure that stores unrelated information of files as well as file permissions, ownership, and location (Sullivan & O’Brien, 2018). when a file is created, the operating system allocates an inode to store its metadata. contains pointers to data blocks where the actual file content is stored on the hard drive. Relation with memory: File systems store data and information in a hierarchical tree structure (Sullivan & O’Brien, 2018) which is managed by the operating system. When a file is requested, it is accessed by the operating system from the storage device and moved into memory for processing by the CPU.
3 when the file is accessed, the operating system uses the inode to locate the file’s metadata. The operating system is responsible for the safe transfer of data between storage and memory. To conclude this section, inodes hold essential information about files, while blocks store the actual data. Their relationship with memory involves the efficient managing of data movement between disk storage and memory by the operating system. Prompts: Definition: a command-line interface (CLI) where users interact with an operating system by entering brief text strings (Kirvan, 2022). Functionality: provides a text-based interface to execute commands and navigate the file system (Kirvan, 2022). displays information and feedback after executing commands. Types: Bash: also known as the Bourne Again Sheel. This terminal is common to UNIX/Linux based systems. offers a wide range of commands and utilities for system administration and tasks. supports scripting and automation.
Your preview ends here
Eager to read complete document? Join bartleby learn and gain access to the full version
  • Access to all documents
  • Unlimited textbook solutions
  • 24/7 expert homework help
4 a typical command is the ‘echo’ command used to print strings, as can be seen in the below image, figure 1: Figure 1 Powershell: this terminal is the Windows operating system equivalent terminal. an object oriented shell focused on object manipulation and scripting. offers a wide range of commands and utilities for system administration and tasks. supports scripting and automation. below in figure 2, is an example of ping.exe, an executable program run from Powershell: Figure 2 To conclude this section, the command-line interface or prompts in UNIX/Linux and Windows systems allow for powerful system interaction and navigation by means of an resource efficient manner. Remote Procedure Calls (RPC): Definition: a protocol that allows distributed, client-server based applications to make requests from a program located on another computer or network (Geeksforgeeks, 2023).
5 Process: Client-Server interaction: client program initiates a RPC by making a procedure call which is transferred across the network to the environment where the procedure is execute, in other words, the procedure appears to be local but is actually executed on a remote server (Geeksforgeeks, 2023). once the procedure finishes and results are produced, the information is transferred back to the calling client where execution resumes as if returning from a regular procedure call (Geeksforgeeks, 2023). Please see a details table of this procedure below in figure 3: Figure 3 Marshalling and unmarshalling: the client side marshalls (packs) the parameters and data by converting the representation of the data into standard format before it can be sent over to the server (Geeksforgeeks, 2023).
6 the client passes the package tto the transport layer to be sent to the remote server (Geeksforgeeks, 2023). once the server receives the package, it is unmarshalled (unpacked) and reconstructed to obtain the needed parameters to execute the procedure (Geeksforgeeks, 2023). the results are sent back to the client via the transport layer and unpacked. Below is a detailed graph of this process in figure 4: Figure 4 Components: Interface Definition Language (IDL): defines the interface between the client and server. specifies method, parameter, and data type constraints in procedure calls. Stubs: client and server side stubs responsible for marshalling adn unmarshalling data.
Your preview ends here
Eager to read complete document? Join bartleby learn and gain access to the full version
  • Access to all documents
  • Unlimited textbook solutions
  • 24/7 expert homework help
7 Bindings: connects client and server to the remote procedures defined by the IDL. establishes communication and identifies location of servers to make remote calls. To conclude this section, RPC is a useful mechanism for enabling communication and collaboration between distributed and remote systems. It allows for the unified cooperation of two remotely separated systems as one application. Security in UNIX/Linux: security is a critical aspect of any system administration and maintenance in order to protect the system from unauthorized access, data breaches, or malicious activities. Below are a few key aspects that need to be considered to secure a system. File permissions: UNIX/Linux uses a permission system to control access to files and directories. permissions include: Read (r): used to access a file’s contents (MacBrien, 2023). Write (w): used to modify or change contents of a file (MacBrien, 2023). Execute (x): used to execute contents of a file (MacBrien, 2023). each file and directory in a UNIX/Linux system has an associated owner and group with specified permissions regarding control of them. below is an example of a command tht grants read, write, and execute rights for the user and group, and only read rights for any others:
8 Figure 5 User authentication: UNIX/Linux systems require usernames and passwords for user authentication. password policies need to be set in plase, such as hashing and other encryption techniques to secure user credentials (Amoany, 2023). below is an example of the ‘passwd -S’ command which displays the status of user account password settings, detailing when it was created and the encryption type: Figure 6 User roles and privileges: different user roles can be used to allow varying levels of access rights and privileges. Super user: known as the root account. This user can run all commands and has all permissions without restrictions (Educative, n.d.). Normal user: general user role. This user has restricted access to commands the file system (Educative, n.d.). below is an example of creating a new user in a UNIX/Linux system:
9 Figure 7 Firewalls and security modules: tools such as ‘iptables’ and ‘firewalld’ are used to control inbound and outbound network traffic. Predefined rules are set up to allow or block specific connections (Geegksforgeeks, 2023). below is an example of a command that will allow for SSH (Secure Shell or Secure Socket Shell) traffic: Figure 8 security modules such as ‘AppArmor’ are used to enforce security policies, restricting the actions of programs (AppArmor, n.d.) below is an example of how to set ‘AppArmor’ as the default security module: Figure 9 Updates and patching: it is crucial to regularly update and patch any operating system to ensure that vulnerabilities are patched and removed and to ensure the overall security and stability of the system.
Your preview ends here
Eager to read complete document? Join bartleby learn and gain access to the full version
  • Access to all documents
  • Unlimited textbook solutions
  • 24/7 expert homework help
10 To conclude this section, by implementing the aforementioned security measures and best practices, UNIX/Linus systems can significantly mitigate against security risks and protect agains potential threats in order to ensure system integrity and data security. This then brings us to the conclusion of this document. I trust that you have gained a thorough knowledge and understanding on file systems, prompts, and remote procedure calls, as well as UNIX/Linux security measures.
11 References Amoany, E. (2023, January 12). Managing Linux users with the passwd command . Enable Sysadmin. https://www.redhat.com/sysadmin/managing-users-passwd AppArmor — The Linux Kernel documentation . (n.d.). https://docs.kernel.org/admin- guide/LSM/apparmor.html Bigelow, S. J., Moore, J., Jones, D., & Bertram, A. (2023, March 16). What is PowerShell and how to use it: The ultimate tutorial . SearchWindowsServer. https://www.techtarget.com/searchwindowsserver/definition/PowerShell Educative. (n.d.). Educative Answers - trusted answers to developer questions . https://www.educative.io/answers/what-is-user-administration-in-unix---linux freeCodeCamp.org. (2019, November 19). The Ultimate Linux Command Line Guide - Full Bash tutorial . https://www.freecodecamp.org/news/linux-command-line-bash- tutorial/ GeeksforGeeks. (2023b, July 5). LINUX Firewall . https://www.geeksforgeeks.org/linux- firewall/
12 GeeksforGeeks. (2023, April 22). Remote Procedure call RPC in operating system . https://www.geeksforgeeks.org/remote-procedure-call-rpc-in-operating-system/ Kirvan, P. (2022, May 10). command prompt . WhatIs.com. https://www.techtarget.com/whatis/definition/command-prompt#:~:text=A%20command %20prompt%20is%20the,user%20types%20command%20prompt%20commands. Lavarian, R. (2022, January 12). What Is a File System? Types of Computer File Systems and How they Work – Explained with Examples . freeCodeCamp.org. https://www.freecodecamp.org/news/file-systems-architecture-explained/ McBrien, S. (2023, January 12). Linux file permissions explained . Enable Sysadmin. https://www.redhat.com/sysadmin/linux-file-permissions-explained Sullivan, E., & O’Brien, E. (2018, August 15). file system . Storage. https://www.techtarget.com/searchstorage/definition/file-system
Your preview ends here
Eager to read complete document? Join bartleby learn and gain access to the full version
  • Access to all documents
  • Unlimited textbook solutions
  • 24/7 expert homework help