Deliverables To complete this assignment you must submit your OSManag.pdf

Deliverables To complete this assignment you must submit your OSManagement.c to Webcourses. Project description This project will require students to simulate the behaviors of an operating system with a series of assignments. 1. Simulate process allocation to memory blocks based on memory management algorithms First Fit, Best Fit, Next Fit, and Worst Fit. 2. Simulate file management of directories and files stored in a directory. 3. Simulate multi-threaded programming with the POSIX (Portable Operating System Interface) threads (a.k.a. pthreads). C programming language integrated development environment (IDE) 1. Code::Blocks NOT Mac compatible 2. Visual Studio Code 3. Atom 4. https://replit.com/ 5. XCode Assignment Scope: Memory Management 1. First Fit Implementation: a. Input memory blocks with size and processes with size. b. Initialize all memory blocks as free. c. Start by picking each process and check if it can be assigned to current block. d. If size-of-process <= size-of-block if yes then assign and check for next process. c. If not then keep checking the further blocks. 2. Best Fit Implementation: a. Input memory blocks with size and processes with size. b. Initialize all memory blocks as free. c. Start by picking each process and find the minimum block size that can be assigned to current process i.e., find min(blockSize[1], blockSize[2],....blockSize[n]) > processSize[current], if found then assign it to the current process. d. If not, then leave that process and keep checking the further processes. 3. Worst Fit Implementation: a. Input memory blocks with size and processes with size. b. Initialize all memory blocks as free. c. Start by picking each process and find the maximum block size that can be assigned to current process i.e., find max(blockSize[1], blockSize[2],.....blockSize[n]) > processSize[current], if found then assign it to the current process. d. If not, then leave that process and keep checking the further processes. 4. Next Fit Implementation: a. Input memory blocks with size and processes with size. b. Initialize all memory blocks as free. c. Start by picking each process and check if it ean be assigned to the current block, if yes, allocate it the required memory and check for next process but from the block where we Icft not from starting. d. If the current block size is smaller, keep checking the further blocks. v. Write decision making logic based on the value of the looping variable (i.e. algorithm) 1. When algorithm is equal to FIRST, call function firstFit, passing arguments blockSize, blocks, processSize, and processes 2. When algorithm is equal to BEST, call function bestFit, passing arguments blockSize, blocks, processSize, and processes 3. When algorithm is equal to WORST, call function worstFit, passing arguments blockSize, blocks, processSize, and processes 4. When algorithm is equal to NEXT, call function nextFit, passing arguments blockSire. blocks, processSize, and processes Write function nextFit .

Deliverables To complete this assignment you must submit your OSManagement.c to
Webcourses. Project description This project will require students to simulate the behaviors of an
operating system with a series of assignments. 1. Simulate process allocation to memory blocks
based on memory management algorithms First Fit, Best Fit, Next Fit, and Worst Fit. 2. Simulate
file management of directories and files stored in a directory. 3. Simulate multi-threaded
programming with the POSIX (Portable Operating System Interface) threads (a.k.a. pthreads). C
programming language integrated development environment (IDE) 1. Code::Blocks NOT Mac
compatible 2. Visual Studio Code 3. Atom 4. https://replit.com/ 5. XCode Assignment Scope:
Memory Management 1. First Fit Implementation: a. Input memory blocks with size and
processes with size. b. Initialize all memory blocks as free. c. Start by picking each process and
check if it can be assigned to current block. d. If size-of-process <= size-of-block if yes then
assign and check for next process. c. If not then keep checking the further blocks. 2. Best Fit
Implementation: a. Input memory blocks with size and processes with size. b. Initialize all
memory blocks as free. c. Start by picking each process and find the minimum block size that
can be assigned to current process i.e., find min(blockSize[1], blockSize[2],....blockSize[n]) >
processSize[current], if found then assign it to the current process. d. If not, then leave that
process and keep checking the further processes.
3. Worst Fit Implementation: a. Input memory blocks with size and processes with size. b.
Initialize all memory blocks as free. c. Start by picking each process and find the maximum
block size that can be assigned to current process i.e., find max(blockSize[1],
blockSize[2],.....blockSize[n]) > processSize[current], if found then assign it to the current
process. d. If not, then leave that process and keep checking the further processes. 4. Next Fit
Implementation: a. Input memory blocks with size and processes with size. b. Initialize all
memory blocks as free. c. Start by picking each process and check if it ean be assigned to the
current block, if yes, allocate it the required memory and check for next process but from the
block where we Icft not from starting. d. If the current block size is smaller, keep checking the
further blocks.
v. Write decision making logic based on the value of the looping variable (i.e. algorithm) 1.
When algorithm is equal to FIRST, call function firstFit, passing arguments blockSize, blocks,
processSize, and processes 2. When algorithm is equal to BEST, call function bestFit, passing
arguments blockSize, blocks, processSize, and processes 3. When algorithm is equal to WORST,
call function worstFit, passing arguments blockSize, blocks, processSize, and processes 4. When
algorithm is equal to NEXT, call function nextFit, passing arguments blockSire. blocks,
processSize, and processes Write function nextFit to do the following a. Return type void b.
Parameter list includes i. One-dimensional array, data type integer, contains the block sizes (i.e.
blockSize) ii. Parameter contains the number of blocks, data type integer (i.e. blocks) iii. One-
dimensional array, data type integer, contains the process sizes (i.e. processSize) iv. Parameter
contains the number of processes, data type integer (i.c. processes) c. Declare a one-dimensional
array, data type integer, to store the block id that a process is allocated to (i.e. allocation), size is
parameter processes d. Declare a variable, data type integer, to store the block allocation for a
process, initialize to 0 (i.c. id) c. Call function memset, passing arguments i. Array allocation ii. -
I (i.e. INVALID) iii. sizeof(allocation) f. Using a looping construct, loop through the number of
processes i. Using a looping construct, loop while id is less than the number of blocks 1. If the
current block size (i.e, index id) is greater than or equal to the current process size (i.e. index of
outer looping variable) a. Update the allocation array to set the clement at index of the outer
looping variable equal to variable id b. Reduce available memory of the current
size (i.e. index of the outer looping variable) c. break out of the inner loop ii. Update the value of
variable id to set the next index in array blockSize by adding I to variable id then modulus the
total by the number of blocks g. Call function displayProcess passing arguments allocation.
processes, and processize Write function firstFit to do the following a. Return type void b.
Parameter list includes i. One-dimensional array, data type integer, contains the block sizes (i.c.
blockSize) ii. Parameter contains the number of blocks, data type integer (i.e. blocks) iii. One-
dimensional array, data type integer, contains the process sizes (i.c. processSize) iv. Parameter
contains the number of processes, data type integer (i.e. processes) c. Declare a one-dimensional
array, data type integer, to store the block id that a process is allocated to (i.e. allocation), sire is
parumeter processes d. Call function memset, passing arguments i. Array allocation ii. -1 (i.e.
INVAI.ID) iii. sizeof(allocation) e. Using a looping construct, loop through the number of
processes i. Using a looping construct, loop the number of blocks 1. If the current block size (i.e,
index of the inner looping variable) is greater than or equal to the current process size (i.e, index
of outer looping variable) a. Update the allocation array to set the element at index of the outer
looping variable equal to the inner looping variable b. Reduce available memory of the current
block size (i.e. index of the inner looping variable) by the process size (i.e. index of the outer
looping variable) c. break out of the inner loop f. Call function displayProcess passing arguments
allocation, processes, and processize
Write function bestFit to do the following a. Return type void b. Parameter list includes i. One-
dimensional array, data type integer, contains the block sizes (i.e. blockSize) ii. Parameter
contains the number of blocks, data type integer (i.e. blocks) iii. One-dimensional array, data
type integer, contains the process sizes (i.e. processhize) iv. Parameter contains the number of
processes, data type integer (i.e. processes) c. Declare a one-dimensional array, data type integer,
to store the block id that a process is allocated to (ice. allocation), size is parameter processes d.
Call function memset, passing arguments i. Array allocation ii. - I (ie. INVALID) iii.
sizeof(allocation) e. Using a looping construct, loop through the number of processes i. Declare a
variable, data type integer, to store the current best fit value (i.e. bestldx) initialized to -1 (i.e.
INVALID) ii. Using a looping construct, loop the number of blocks 1. If the current block size
(i.e. index of the inner looping variable ) is greater than or equal to the current process size (ie.
index of outer looping variable) a. If the value of bestIdx is equal to -1 (i.e. INVAI.ID) i. Set
variable bestldx equal to the current block (i.e, the inner looping variable) b. Else if the value of
the block size at index bestldx is greater than the value of the block size at index of the inner
looping variable i. Set variable bestldx equal to the current block (i.e, the inner looping variable)
iii. If the value of variable bestldx is not equal to - 1 (i.e. INVAL.ID) 1. Update the allocation
array to set the element at index of the outer looping variable equal to variable bestldx
size (i.e. index bestIdx) by the process size (i.e. index of the outer looping variable) f. Call
function displayProcess passing arguments allocation, processes, and processize Write function
worstFit to do the following a. Return type void b. Parameter list includes i. One-dimensional
array, data type integer, contains the block sizes (i.e. blockSize) ii. Parameter contains the
number of blocks, data type integer (i.e. blocks) iii. One-dimensional array, data type integer,
contains the process sizes (i.e. processSize) iv. Parameter contains the number of processes, data
type integer (i.e. processes) c. Declare a one-dimensional array, data type integer, to store the
block id that a process is allocated to (i.c. allocation), size is parameter processes d. Call function
memset, passing arguments i. Array allocation ii. -1 (i.c. INVALID) iii. sizeof(allocation) e.
Using a looping construct, loop through the number of processes i. Declare a variable, data type
integer, to store the current worst fit value (i.e. wstIdx) initialized to -1 (i.e. INVALID) ii. Using
a looping construct, loop the number of blocks 1. If the current block size (i.e. index of the inner
looping variable ) is greater than or equal to the current process size (i.e. index of outer looping
variable) a. If the value of wstldx is equal to - I (i.e. INVALID) i. Set variable wstldx equal to the
current block (i.e. the inner looping variable) b. Else if the value of the block size at index wstIdx
is less than the value of the block size at index of the inner looping variable i. Set variable wstldx
equal to the current block (i.e. the inner looping variable)
iii. If the value of variable wstldx is not equal to -1 (i.e. INVALID) 1. Update the allocation array
to set the element at index of the outer looping variable equal to variable wstldx 2. Reduce
available memory of the current block size (i.e. index wstldx) by the process size (i.e. index of
the outer looping variable) f. Call function displayProcess passing arguments allocation,
processes, and processSize displayProcess 9. Write function displayProcess to do the following
a. Return type void b. Parameter list includes i. One-dimensional array, data type integer, that
stores the block number allocations (i.e. allocation) ii. Parameter that contains the number of
processes, data type integer (i.e. processes) iii. One-dimensional array, data type integer, that
stores the processes (i.e. processSize) c. Write a looping construct to loop through the processes
(i.e. processize) i. Display to the console the process number (i.e use the looping variable plus 1)
ii. Display to the console the process size (i.e. processSize array at the current looping index) iii.
Display to the console the memory block assigned based on the following logic 1. If the value
stored at the current index of array processSize if -1 (i.e. INVALID), output Not Allocated 2.
Else, output the current allocation (i.e. allocation) OSManagement executable
begin{tabular}{|l|l|} hline Test Case 1 & Test Case 1 passes  hline Test Case 2 & Test Case 2
passes  hline Test Case 3 & Test Case 3 passes  hline Test Case 4 & Test Case 4 passes 
hline Test Case 5 & Test Case 5 passes  hline Test Case 6 & Test Case 6 passes  hline Test
Case 7 & Test Case 7 passes  hline Test Case 8 & Test Case 8 passes  hline & Source
compiles with no errors  hline & Source compiles with no warnings  hline & Source runs
with no errors  hline end{tabular}
#include h> Hinclude Hinc lude #define EXIT #define INVALID - 1 #define MEMORY 1
Hdefine FILES 2 #define THREAD 3 #define FIRST #define BEST 1 Hdefine WORST 2
void clearscreen() {system( "clear"); int displaymenu() { int choice = INVALID; printf("Select
an option: n"); printf ("1. Memory Management n=); printf ("2. File Management 1n); printf("3.
Mutti-Thread n ); printf(". Exitln"); printf("Enter your choice: "); scanf("%d", &choice); return
choice; 3 int main() { int choice =1; while (choice 1= EXIT) { choice = displayMenu(); switch
(choice) { case MEMORY: clearscreen(): printf("Memory Management selectedn"); break;
case FILES: clearscreen(): printf( "File Management selected n"); break; case THREAD:
clearscreen(): printf("Multi-Thread selected n ): break; case EXIT: clearscreen(); printf("Exiting
the program... In"); exit(EXIT_SUCCESS); default: clearscreen(): printf("Invalid choice, please
try againun"); break; } 3 return ; )

Recomendados

c programing.Please help me with the write code libr.pdf por
c programing.Please help me with the write code libr.pdfc programing.Please help me with the write code libr.pdf
c programing.Please help me with the write code libr.pdfinfo189835
3 vistas7 diapositivas
Clustering_Algorithm_DR por
Clustering_Algorithm_DRClustering_Algorithm_DR
Clustering_Algorithm_DRNguyen Tran
91 vistas11 diapositivas
Concurrency at the Database Layer por
Concurrency at the Database Layer Concurrency at the Database Layer
Concurrency at the Database Layer mcwilson1
701 vistas29 diapositivas
Major Elements Of Memory Management por
Major Elements Of Memory ManagementMajor Elements Of Memory Management
Major Elements Of Memory ManagementApril Bell
5 vistas46 diapositivas
Design patterns - How much we understand and know ?? por
Design patterns - How much we understand and know ??Design patterns - How much we understand and know ??
Design patterns - How much we understand and know ??Vinay Raj
2.3K vistas39 diapositivas
Mathemetics module por
Mathemetics moduleMathemetics module
Mathemetics modulemanikanta361
65 vistas34 diapositivas

Más contenido relacionado

Similar a Deliverables To complete this assignment you must submit your OSManag.pdf

2CPP16 - STL por
2CPP16 - STL2CPP16 - STL
2CPP16 - STLMichael Heron
382 vistas23 diapositivas
Tower of Hanoi.docx por
Tower of Hanoi.docxTower of Hanoi.docx
Tower of Hanoi.docxscottharry3
15 vistas7 diapositivas
Data Structures_Introduction por
Data Structures_IntroductionData Structures_Introduction
Data Structures_IntroductionThenmozhiK5
24 vistas42 diapositivas
DS-UNIT 1 FINAL (2).pptx por
DS-UNIT 1 FINAL (2).pptxDS-UNIT 1 FINAL (2).pptx
DS-UNIT 1 FINAL (2).pptxprakashvs7
11 vistas42 diapositivas
VB Dot net por
VB Dot net VB Dot net
VB Dot net Akber Khowaja
480 vistas115 diapositivas
C basic questions&amp;ansrs by shiva kumar kella por
C basic questions&amp;ansrs by shiva kumar kellaC basic questions&amp;ansrs by shiva kumar kella
C basic questions&amp;ansrs by shiva kumar kellaManoj Kumar kothagulla
161 vistas16 diapositivas

Similar a Deliverables To complete this assignment you must submit your OSManag.pdf(20)

Tower of Hanoi.docx por scottharry3
Tower of Hanoi.docxTower of Hanoi.docx
Tower of Hanoi.docx
scottharry315 vistas
Data Structures_Introduction por ThenmozhiK5
Data Structures_IntroductionData Structures_Introduction
Data Structures_Introduction
ThenmozhiK524 vistas
DS-UNIT 1 FINAL (2).pptx por prakashvs7
DS-UNIT 1 FINAL (2).pptxDS-UNIT 1 FINAL (2).pptx
DS-UNIT 1 FINAL (2).pptx
prakashvs711 vistas
Java multi threading and synchronization por rithustutorials
Java multi threading and synchronizationJava multi threading and synchronization
Java multi threading and synchronization
rithustutorials898 vistas
Stacks por Acad
StacksStacks
Stacks
Acad45 vistas
Project 3- BitVector & Application Implementing BitVector of undetermi.docx por sharold2
Project 3- BitVector & Application Implementing BitVector of undetermi.docxProject 3- BitVector & Application Implementing BitVector of undetermi.docx
Project 3- BitVector & Application Implementing BitVector of undetermi.docx
sharold22 vistas
Introduction to System verilog por Pushpa Yakkala
Introduction to System verilog Introduction to System verilog
Introduction to System verilog
Pushpa Yakkala2.7K vistas
The design and implementation of modern column oriented databases por Tilak Patidar
The design and implementation of modern column oriented databasesThe design and implementation of modern column oriented databases
The design and implementation of modern column oriented databases
Tilak Patidar130 vistas
JAVA CONCEPTS AND PRACTICES por Nikunj Parekh
JAVA CONCEPTS AND PRACTICESJAVA CONCEPTS AND PRACTICES
JAVA CONCEPTS AND PRACTICES
Nikunj Parekh317 vistas
(3) cpp abstractions more_on_user_defined_types_exercises por Nico Ludwig
(3) cpp abstractions more_on_user_defined_types_exercises(3) cpp abstractions more_on_user_defined_types_exercises
(3) cpp abstractions more_on_user_defined_types_exercises
Nico Ludwig102 vistas

Más de allurafashions98

Cycle Wholesaling sold merchandise on account, with terms n60, to Sa.pdf por
 Cycle Wholesaling sold merchandise on account, with terms n60, to Sa.pdf Cycle Wholesaling sold merchandise on account, with terms n60, to Sa.pdf
Cycle Wholesaling sold merchandise on account, with terms n60, to Sa.pdfallurafashions98
9 vistas1 diapositiva
Customers experlencing technical dlfficulty with their Internet cable.pdf por
 Customers experlencing technical dlfficulty with their Internet cable.pdf Customers experlencing technical dlfficulty with their Internet cable.pdf
Customers experlencing technical dlfficulty with their Internet cable.pdfallurafashions98
4 vistas1 diapositiva
CX Enterprises has the following expected dividends $1.03 in one yea.pdf por
 CX Enterprises has the following expected dividends $1.03 in one yea.pdf CX Enterprises has the following expected dividends $1.03 in one yea.pdf
CX Enterprises has the following expected dividends $1.03 in one yea.pdfallurafashions98
3 vistas1 diapositiva
Customers arrive at a hotel at 26.2 per hour (Poisson distributed). T.pdf por
 Customers arrive at a hotel at 26.2 per hour (Poisson distributed). T.pdf Customers arrive at a hotel at 26.2 per hour (Poisson distributed). T.pdf
Customers arrive at a hotel at 26.2 per hour (Poisson distributed). T.pdfallurafashions98
3 vistas1 diapositiva
Custom Cabinetry has one job in process (Job 120) as of June 30 ; at .pdf por
 Custom Cabinetry has one job in process (Job 120) as of June 30 ; at .pdf Custom Cabinetry has one job in process (Job 120) as of June 30 ; at .pdf
Custom Cabinetry has one job in process (Job 120) as of June 30 ; at .pdfallurafashions98
6 vistas1 diapositiva
Current Attempt in Prozress The following information ralates to Sher.pdf por
 Current Attempt in Prozress The following information ralates to Sher.pdf Current Attempt in Prozress The following information ralates to Sher.pdf
Current Attempt in Prozress The following information ralates to Sher.pdfallurafashions98
2 vistas1 diapositiva

Más de allurafashions98(20)

Cycle Wholesaling sold merchandise on account, with terms n60, to Sa.pdf por allurafashions98
 Cycle Wholesaling sold merchandise on account, with terms n60, to Sa.pdf Cycle Wholesaling sold merchandise on account, with terms n60, to Sa.pdf
Cycle Wholesaling sold merchandise on account, with terms n60, to Sa.pdf
allurafashions989 vistas
Customers experlencing technical dlfficulty with their Internet cable.pdf por allurafashions98
 Customers experlencing technical dlfficulty with their Internet cable.pdf Customers experlencing technical dlfficulty with their Internet cable.pdf
Customers experlencing technical dlfficulty with their Internet cable.pdf
allurafashions984 vistas
CX Enterprises has the following expected dividends $1.03 in one yea.pdf por allurafashions98
 CX Enterprises has the following expected dividends $1.03 in one yea.pdf CX Enterprises has the following expected dividends $1.03 in one yea.pdf
CX Enterprises has the following expected dividends $1.03 in one yea.pdf
allurafashions983 vistas
Customers arrive at a hotel at 26.2 per hour (Poisson distributed). T.pdf por allurafashions98
 Customers arrive at a hotel at 26.2 per hour (Poisson distributed). T.pdf Customers arrive at a hotel at 26.2 per hour (Poisson distributed). T.pdf
Customers arrive at a hotel at 26.2 per hour (Poisson distributed). T.pdf
allurafashions983 vistas
Custom Cabinetry has one job in process (Job 120) as of June 30 ; at .pdf por allurafashions98
 Custom Cabinetry has one job in process (Job 120) as of June 30 ; at .pdf Custom Cabinetry has one job in process (Job 120) as of June 30 ; at .pdf
Custom Cabinetry has one job in process (Job 120) as of June 30 ; at .pdf
allurafashions986 vistas
Current Attempt in Prozress The following information ralates to Sher.pdf por allurafashions98
 Current Attempt in Prozress The following information ralates to Sher.pdf Current Attempt in Prozress The following information ralates to Sher.pdf
Current Attempt in Prozress The following information ralates to Sher.pdf
allurafashions982 vistas
Current Attempt in Prowressfoe rakh abgrnative, oetarmine the impa.pdf por allurafashions98
 Current Attempt in Prowressfoe rakh abgrnative, oetarmine the impa.pdf Current Attempt in Prowressfoe rakh abgrnative, oetarmine the impa.pdf
Current Attempt in Prowressfoe rakh abgrnative, oetarmine the impa.pdf
allurafashions982 vistas
Current Attempt in Progress The Sanding Department of Oriole Furnitur.pdf por allurafashions98
 Current Attempt in Progress The Sanding Department of Oriole Furnitur.pdf Current Attempt in Progress The Sanding Department of Oriole Furnitur.pdf
Current Attempt in Progress The Sanding Department of Oriole Furnitur.pdf
allurafashions982 vistas
Current Attempt in Progress The comparative balance.pdf por allurafashions98
 Current Attempt in Progress The comparative balance.pdf Current Attempt in Progress The comparative balance.pdf
Current Attempt in Progress The comparative balance.pdf
allurafashions984 vistas
Current Attempt in Progress Tamarisk Company has been operating for s.pdf por allurafashions98
 Current Attempt in Progress Tamarisk Company has been operating for s.pdf Current Attempt in Progress Tamarisk Company has been operating for s.pdf
Current Attempt in Progress Tamarisk Company has been operating for s.pdf
allurafashions983 vistas
Current Attempt in Progress Sunland Corporation sells three different.pdf por allurafashions98
 Current Attempt in Progress Sunland Corporation sells three different.pdf Current Attempt in Progress Sunland Corporation sells three different.pdf
Current Attempt in Progress Sunland Corporation sells three different.pdf
allurafashions983 vistas
Current Attempt in Progress Shown helow are romnarativa etatamente nf.pdf por allurafashions98
 Current Attempt in Progress Shown helow are romnarativa etatamente nf.pdf Current Attempt in Progress Shown helow are romnarativa etatamente nf.pdf
Current Attempt in Progress Shown helow are romnarativa etatamente nf.pdf
allurafashions983 vistas
Current Attempt in Progress Selected information from Ivanhoe Ltd.s s.pdf por allurafashions98
 Current Attempt in Progress Selected information from Ivanhoe Ltd.s s.pdf Current Attempt in Progress Selected information from Ivanhoe Ltd.s s.pdf
Current Attempt in Progress Selected information from Ivanhoe Ltd.s s.pdf
allurafashions982 vistas
Current Attempt in Progress Record journal entries for the following .pdf por allurafashions98
 Current Attempt in Progress Record journal entries for the following .pdf Current Attempt in Progress Record journal entries for the following .pdf
Current Attempt in Progress Record journal entries for the following .pdf
allurafashions986 vistas
Current Attempt in Progress Pharoah Constructions manufacturing cost.pdf por allurafashions98
 Current Attempt in Progress Pharoah Constructions manufacturing cost.pdf Current Attempt in Progress Pharoah Constructions manufacturing cost.pdf
Current Attempt in Progress Pharoah Constructions manufacturing cost.pdf
allurafashions982 vistas
Denton Company manufactures and sells a single product. Cost da.pdf por allurafashions98
 Denton Company manufactures and sells a single product. Cost da.pdf Denton Company manufactures and sells a single product. Cost da.pdf
Denton Company manufactures and sells a single product. Cost da.pdf
allurafashions982 vistas
Denver Post reported that, on average, a large shopping center had an.pdf por allurafashions98
 Denver Post reported that, on average, a large shopping center had an.pdf Denver Post reported that, on average, a large shopping center had an.pdf
Denver Post reported that, on average, a large shopping center had an.pdf
allurafashions983 vistas
Denen Hadroed Coevamy i. Al of thrie debin {a,b & te2. What is.pdf por allurafashions98
 Denen Hadroed Coevamy i. Al of thrie debin {a,b & te2. What is.pdf Denen Hadroed Coevamy i. Al of thrie debin {a,b & te2. What is.pdf
Denen Hadroed Coevamy i. Al of thrie debin {a,b & te2. What is.pdf
allurafashions982 vistas
Denton Company manufactures and sells a single product. Cost data for.pdf por allurafashions98
 Denton Company manufactures and sells a single product. Cost data for.pdf Denton Company manufactures and sells a single product. Cost data for.pdf
Denton Company manufactures and sells a single product. Cost data for.pdf
allurafashions982 vistas
Delta Company produces a single product. The cost of producing and se.pdf por allurafashions98
 Delta Company produces a single product. The cost of producing and se.pdf Delta Company produces a single product. The cost of producing and se.pdf
Delta Company produces a single product. The cost of producing and se.pdf
allurafashions9814 vistas

Último

Monthly Information Session for MV Asterix (November) por
Monthly Information Session for MV Asterix (November)Monthly Information Session for MV Asterix (November)
Monthly Information Session for MV Asterix (November)Esquimalt MFRC
58 vistas26 diapositivas
EIT-Digital_Spohrer_AI_Intro 20231128 v1.pptx por
EIT-Digital_Spohrer_AI_Intro 20231128 v1.pptxEIT-Digital_Spohrer_AI_Intro 20231128 v1.pptx
EIT-Digital_Spohrer_AI_Intro 20231128 v1.pptxISSIP
379 vistas50 diapositivas
Pharmaceutical Inorganic Chemistry Unit IVMiscellaneous compounds Expectorant... por
Pharmaceutical Inorganic Chemistry Unit IVMiscellaneous compounds Expectorant...Pharmaceutical Inorganic Chemistry Unit IVMiscellaneous compounds Expectorant...
Pharmaceutical Inorganic Chemistry Unit IVMiscellaneous compounds Expectorant...Ms. Pooja Bhandare
109 vistas45 diapositivas
11.28.23 Social Capital and Social Exclusion.pptx por
11.28.23 Social Capital and Social Exclusion.pptx11.28.23 Social Capital and Social Exclusion.pptx
11.28.23 Social Capital and Social Exclusion.pptxmary850239
304 vistas25 diapositivas
Use of Probiotics in Aquaculture.pptx por
Use of Probiotics in Aquaculture.pptxUse of Probiotics in Aquaculture.pptx
Use of Probiotics in Aquaculture.pptxAKSHAY MANDAL
104 vistas15 diapositivas
BÀI TẬP BỔ TRỢ TIẾNG ANH 11 THEO ĐƠN VỊ BÀI HỌC - CẢ NĂM - CÓ FILE NGHE (GLOB... por
BÀI TẬP BỔ TRỢ TIẾNG ANH 11 THEO ĐƠN VỊ BÀI HỌC - CẢ NĂM - CÓ FILE NGHE (GLOB...BÀI TẬP BỔ TRỢ TIẾNG ANH 11 THEO ĐƠN VỊ BÀI HỌC - CẢ NĂM - CÓ FILE NGHE (GLOB...
BÀI TẬP BỔ TRỢ TIẾNG ANH 11 THEO ĐƠN VỊ BÀI HỌC - CẢ NĂM - CÓ FILE NGHE (GLOB...Nguyen Thanh Tu Collection
73 vistas113 diapositivas

Último(20)

Monthly Information Session for MV Asterix (November) por Esquimalt MFRC
Monthly Information Session for MV Asterix (November)Monthly Information Session for MV Asterix (November)
Monthly Information Session for MV Asterix (November)
Esquimalt MFRC58 vistas
EIT-Digital_Spohrer_AI_Intro 20231128 v1.pptx por ISSIP
EIT-Digital_Spohrer_AI_Intro 20231128 v1.pptxEIT-Digital_Spohrer_AI_Intro 20231128 v1.pptx
EIT-Digital_Spohrer_AI_Intro 20231128 v1.pptx
ISSIP379 vistas
Pharmaceutical Inorganic Chemistry Unit IVMiscellaneous compounds Expectorant... por Ms. Pooja Bhandare
Pharmaceutical Inorganic Chemistry Unit IVMiscellaneous compounds Expectorant...Pharmaceutical Inorganic Chemistry Unit IVMiscellaneous compounds Expectorant...
Pharmaceutical Inorganic Chemistry Unit IVMiscellaneous compounds Expectorant...
Ms. Pooja Bhandare109 vistas
11.28.23 Social Capital and Social Exclusion.pptx por mary850239
11.28.23 Social Capital and Social Exclusion.pptx11.28.23 Social Capital and Social Exclusion.pptx
11.28.23 Social Capital and Social Exclusion.pptx
mary850239304 vistas
Use of Probiotics in Aquaculture.pptx por AKSHAY MANDAL
Use of Probiotics in Aquaculture.pptxUse of Probiotics in Aquaculture.pptx
Use of Probiotics in Aquaculture.pptx
AKSHAY MANDAL104 vistas
BÀI TẬP BỔ TRỢ TIẾNG ANH 11 THEO ĐƠN VỊ BÀI HỌC - CẢ NĂM - CÓ FILE NGHE (GLOB... por Nguyen Thanh Tu Collection
BÀI TẬP BỔ TRỢ TIẾNG ANH 11 THEO ĐƠN VỊ BÀI HỌC - CẢ NĂM - CÓ FILE NGHE (GLOB...BÀI TẬP BỔ TRỢ TIẾNG ANH 11 THEO ĐƠN VỊ BÀI HỌC - CẢ NĂM - CÓ FILE NGHE (GLOB...
BÀI TẬP BỔ TRỢ TIẾNG ANH 11 THEO ĐƠN VỊ BÀI HỌC - CẢ NĂM - CÓ FILE NGHE (GLOB...
Create a Structure in VBNet.pptx por Breach_P
Create a Structure in VBNet.pptxCreate a Structure in VBNet.pptx
Create a Structure in VBNet.pptx
Breach_P75 vistas
ISO/IEC 27001 and ISO/IEC 27005: Managing AI Risks Effectively por PECB
ISO/IEC 27001 and ISO/IEC 27005: Managing AI Risks EffectivelyISO/IEC 27001 and ISO/IEC 27005: Managing AI Risks Effectively
ISO/IEC 27001 and ISO/IEC 27005: Managing AI Risks Effectively
PECB 598 vistas
AUDIENCE - BANDURA.pptx por iammrhaywood
AUDIENCE - BANDURA.pptxAUDIENCE - BANDURA.pptx
AUDIENCE - BANDURA.pptx
iammrhaywood89 vistas
How to empty an One2many field in Odoo por Celine George
How to empty an One2many field in OdooHow to empty an One2many field in Odoo
How to empty an One2many field in Odoo
Celine George72 vistas
S1_SD_Resources Walkthrough.pptx por LAZAROAREVALO1
S1_SD_Resources Walkthrough.pptxS1_SD_Resources Walkthrough.pptx
S1_SD_Resources Walkthrough.pptx
LAZAROAREVALO153 vistas
Ch. 8 Political Party and Party System.pptx por Rommel Regala
Ch. 8 Political Party and Party System.pptxCh. 8 Political Party and Party System.pptx
Ch. 8 Political Party and Party System.pptx
Rommel Regala53 vistas
The Accursed House by Émile Gaboriau por DivyaSheta
The Accursed House  by Émile GaboriauThe Accursed House  by Émile Gaboriau
The Accursed House by Émile Gaboriau
DivyaSheta212 vistas

Deliverables To complete this assignment you must submit your OSManag.pdf

  • 1. Deliverables To complete this assignment you must submit your OSManagement.c to Webcourses. Project description This project will require students to simulate the behaviors of an operating system with a series of assignments. 1. Simulate process allocation to memory blocks based on memory management algorithms First Fit, Best Fit, Next Fit, and Worst Fit. 2. Simulate file management of directories and files stored in a directory. 3. Simulate multi-threaded programming with the POSIX (Portable Operating System Interface) threads (a.k.a. pthreads). C programming language integrated development environment (IDE) 1. Code::Blocks NOT Mac compatible 2. Visual Studio Code 3. Atom 4. https://replit.com/ 5. XCode Assignment Scope: Memory Management 1. First Fit Implementation: a. Input memory blocks with size and processes with size. b. Initialize all memory blocks as free. c. Start by picking each process and check if it can be assigned to current block. d. If size-of-process <= size-of-block if yes then assign and check for next process. c. If not then keep checking the further blocks. 2. Best Fit Implementation: a. Input memory blocks with size and processes with size. b. Initialize all memory blocks as free. c. Start by picking each process and find the minimum block size that can be assigned to current process i.e., find min(blockSize[1], blockSize[2],....blockSize[n]) > processSize[current], if found then assign it to the current process. d. If not, then leave that process and keep checking the further processes. 3. Worst Fit Implementation: a. Input memory blocks with size and processes with size. b. Initialize all memory blocks as free. c. Start by picking each process and find the maximum block size that can be assigned to current process i.e., find max(blockSize[1], blockSize[2],.....blockSize[n]) > processSize[current], if found then assign it to the current process. d. If not, then leave that process and keep checking the further processes. 4. Next Fit Implementation: a. Input memory blocks with size and processes with size. b. Initialize all memory blocks as free. c. Start by picking each process and check if it ean be assigned to the current block, if yes, allocate it the required memory and check for next process but from the block where we Icft not from starting. d. If the current block size is smaller, keep checking the further blocks. v. Write decision making logic based on the value of the looping variable (i.e. algorithm) 1. When algorithm is equal to FIRST, call function firstFit, passing arguments blockSize, blocks, processSize, and processes 2. When algorithm is equal to BEST, call function bestFit, passing arguments blockSize, blocks, processSize, and processes 3. When algorithm is equal to WORST, call function worstFit, passing arguments blockSize, blocks, processSize, and processes 4. When algorithm is equal to NEXT, call function nextFit, passing arguments blockSire. blocks, processSize, and processes Write function nextFit to do the following a. Return type void b.
  • 2. Parameter list includes i. One-dimensional array, data type integer, contains the block sizes (i.e. blockSize) ii. Parameter contains the number of blocks, data type integer (i.e. blocks) iii. One- dimensional array, data type integer, contains the process sizes (i.e. processSize) iv. Parameter contains the number of processes, data type integer (i.c. processes) c. Declare a one-dimensional array, data type integer, to store the block id that a process is allocated to (i.e. allocation), size is parameter processes d. Declare a variable, data type integer, to store the block allocation for a process, initialize to 0 (i.c. id) c. Call function memset, passing arguments i. Array allocation ii. - I (i.e. INVALID) iii. sizeof(allocation) f. Using a looping construct, loop through the number of processes i. Using a looping construct, loop while id is less than the number of blocks 1. If the current block size (i.e, index id) is greater than or equal to the current process size (i.e. index of outer looping variable) a. Update the allocation array to set the clement at index of the outer looping variable equal to variable id b. Reduce available memory of the current size (i.e. index of the outer looping variable) c. break out of the inner loop ii. Update the value of variable id to set the next index in array blockSize by adding I to variable id then modulus the total by the number of blocks g. Call function displayProcess passing arguments allocation. processes, and processize Write function firstFit to do the following a. Return type void b. Parameter list includes i. One-dimensional array, data type integer, contains the block sizes (i.c. blockSize) ii. Parameter contains the number of blocks, data type integer (i.e. blocks) iii. One- dimensional array, data type integer, contains the process sizes (i.c. processSize) iv. Parameter contains the number of processes, data type integer (i.e. processes) c. Declare a one-dimensional array, data type integer, to store the block id that a process is allocated to (i.e. allocation), sire is parumeter processes d. Call function memset, passing arguments i. Array allocation ii. -1 (i.e. INVAI.ID) iii. sizeof(allocation) e. Using a looping construct, loop through the number of processes i. Using a looping construct, loop the number of blocks 1. If the current block size (i.e, index of the inner looping variable) is greater than or equal to the current process size (i.e, index of outer looping variable) a. Update the allocation array to set the element at index of the outer looping variable equal to the inner looping variable b. Reduce available memory of the current block size (i.e. index of the inner looping variable) by the process size (i.e. index of the outer looping variable) c. break out of the inner loop f. Call function displayProcess passing arguments allocation, processes, and processize Write function bestFit to do the following a. Return type void b. Parameter list includes i. One- dimensional array, data type integer, contains the block sizes (i.e. blockSize) ii. Parameter contains the number of blocks, data type integer (i.e. blocks) iii. One-dimensional array, data type integer, contains the process sizes (i.e. processhize) iv. Parameter contains the number of
  • 3. processes, data type integer (i.e. processes) c. Declare a one-dimensional array, data type integer, to store the block id that a process is allocated to (ice. allocation), size is parameter processes d. Call function memset, passing arguments i. Array allocation ii. - I (ie. INVALID) iii. sizeof(allocation) e. Using a looping construct, loop through the number of processes i. Declare a variable, data type integer, to store the current best fit value (i.e. bestldx) initialized to -1 (i.e. INVALID) ii. Using a looping construct, loop the number of blocks 1. If the current block size (i.e. index of the inner looping variable ) is greater than or equal to the current process size (ie. index of outer looping variable) a. If the value of bestIdx is equal to -1 (i.e. INVAI.ID) i. Set variable bestldx equal to the current block (i.e, the inner looping variable) b. Else if the value of the block size at index bestldx is greater than the value of the block size at index of the inner looping variable i. Set variable bestldx equal to the current block (i.e, the inner looping variable) iii. If the value of variable bestldx is not equal to - 1 (i.e. INVAL.ID) 1. Update the allocation array to set the element at index of the outer looping variable equal to variable bestldx size (i.e. index bestIdx) by the process size (i.e. index of the outer looping variable) f. Call function displayProcess passing arguments allocation, processes, and processize Write function worstFit to do the following a. Return type void b. Parameter list includes i. One-dimensional array, data type integer, contains the block sizes (i.e. blockSize) ii. Parameter contains the number of blocks, data type integer (i.e. blocks) iii. One-dimensional array, data type integer, contains the process sizes (i.e. processSize) iv. Parameter contains the number of processes, data type integer (i.e. processes) c. Declare a one-dimensional array, data type integer, to store the block id that a process is allocated to (i.c. allocation), size is parameter processes d. Call function memset, passing arguments i. Array allocation ii. -1 (i.c. INVALID) iii. sizeof(allocation) e. Using a looping construct, loop through the number of processes i. Declare a variable, data type integer, to store the current worst fit value (i.e. wstIdx) initialized to -1 (i.e. INVALID) ii. Using a looping construct, loop the number of blocks 1. If the current block size (i.e. index of the inner looping variable ) is greater than or equal to the current process size (i.e. index of outer looping variable) a. If the value of wstldx is equal to - I (i.e. INVALID) i. Set variable wstldx equal to the current block (i.e. the inner looping variable) b. Else if the value of the block size at index wstIdx is less than the value of the block size at index of the inner looping variable i. Set variable wstldx equal to the current block (i.e. the inner looping variable) iii. If the value of variable wstldx is not equal to -1 (i.e. INVALID) 1. Update the allocation array to set the element at index of the outer looping variable equal to variable wstldx 2. Reduce available memory of the current block size (i.e. index wstldx) by the process size (i.e. index of the outer looping variable) f. Call function displayProcess passing arguments allocation,
  • 4. processes, and processSize displayProcess 9. Write function displayProcess to do the following a. Return type void b. Parameter list includes i. One-dimensional array, data type integer, that stores the block number allocations (i.e. allocation) ii. Parameter that contains the number of processes, data type integer (i.e. processes) iii. One-dimensional array, data type integer, that stores the processes (i.e. processSize) c. Write a looping construct to loop through the processes (i.e. processize) i. Display to the console the process number (i.e use the looping variable plus 1) ii. Display to the console the process size (i.e. processSize array at the current looping index) iii. Display to the console the memory block assigned based on the following logic 1. If the value stored at the current index of array processSize if -1 (i.e. INVALID), output Not Allocated 2. Else, output the current allocation (i.e. allocation) OSManagement executable begin{tabular}{|l|l|} hline Test Case 1 & Test Case 1 passes hline Test Case 2 & Test Case 2 passes hline Test Case 3 & Test Case 3 passes hline Test Case 4 & Test Case 4 passes hline Test Case 5 & Test Case 5 passes hline Test Case 6 & Test Case 6 passes hline Test Case 7 & Test Case 7 passes hline Test Case 8 & Test Case 8 passes hline & Source compiles with no errors hline & Source compiles with no warnings hline & Source runs with no errors hline end{tabular} #include h> Hinclude Hinc lude #define EXIT #define INVALID - 1 #define MEMORY 1 Hdefine FILES 2 #define THREAD 3 #define FIRST #define BEST 1 Hdefine WORST 2 void clearscreen() {system( "clear"); int displaymenu() { int choice = INVALID; printf("Select an option: n"); printf ("1. Memory Management n=); printf ("2. File Management 1n); printf("3. Mutti-Thread n ); printf(". Exitln"); printf("Enter your choice: "); scanf("%d", &choice); return choice; 3 int main() { int choice =1; while (choice 1= EXIT) { choice = displayMenu(); switch (choice) { case MEMORY: clearscreen(): printf("Memory Management selectedn"); break; case FILES: clearscreen(): printf( "File Management selected n"); break; case THREAD: clearscreen(): printf("Multi-Thread selected n ): break; case EXIT: clearscreen(); printf("Exiting the program... In"); exit(EXIT_SUCCESS); default: clearscreen(): printf("Invalid choice, please try againun"); break; } 3 return ; )