Академический Документы
Профессиональный Документы
Культура Документы
2019-20 Autumn
Group: L2N8
confirm that I understand my coursework needs to be submitted online via Google Classroom under the
relevant module page before the deadline for my assignment to be accepted and marked. I am fully aware
that late submissions will be treated as non-submission and a mark of zero will be awarded.
Acknowledgement
This report combines the information based on two tasks. The first task is totally
based on development of script in the platform of well-known UNIX shell and the second
part includes the theoretical concept about memory management and its basic
fundaments. In the first task, it presents general introduction of UNIX operating system
along with descriptive information about its shell’s types like Bourne shell, Korn shell,
bash shell, C shell and other Shell. The body section consists of script which is developed
in accordance to the requirement and its testing by passing the script through various
tests along with their screenshot. At the end, the task A concluded with overall concept
of the project.
Task B includes the detail information about various concepts and techniques for
the management of memory inside the computer system. In the report, the structure of
memory management is welly described with its components. The process and method
of the memory allocation is described with their functions and purpose. Paging and
segmentation are also mentioned with their working structure and their importance to
control and manage the memory in the computer system.
Key Terms: UNIX OS, Bash shell, Bourne shell, Korn shell, C shell, Z shell, Fish shell,
Memory management, Memory allocation, Paging, segmentation.
Table of Contents
Task A ............................................................................................................................ 8
1. Introduction ................................................................................................................. 1
1.1 Introduction to UNIX operating system................................................................... 1
1.2 Shell and its types .................................................................................................. 2
1.3 Aims and Objective ................................................................................................ 3
1.3.1 Aims................................................................................................................. 3
1.3.2 Objective .......................................................................................................... 3
2. Description of scenario ................................................................................................ 4
3. Script ........................................................................................................................... 5
4. Testing ........................................................................................................................ 9
4.1 Test 1: Running the script without name ................................................................ 9
4.2 Test 2: Running the script with name and ID ....................................................... 10
4.3 Test 3: Incorrect password for 5 times. ................................................................ 11
4.4 Test 4: Running the script with correct password ................................................. 12
4.5 Test 5: Best team by country name ..................................................................... 13
4.6 Test 6: Best team by incorrect country code ........................................................ 14
4.7 Test 7: Best team by correct country code ........................................................... 15
4.8 Test 8: Selecting four players code ...................................................................... 16
4.9 Test 9: Selecting players with same name ........................................................... 17
4.10 Test 10: Wrong user (player) code ..................................................................... 18
4.11 Test 11: Passing right user (player) code........................................................... 19
4.12 Test 12: Player with no profile ............................................................................ 20
4.13 Test 13: Continue to redirect the program.......................................................... 21
4.14 Test 14: Continue to terminate the program ....................................................... 22
5. Contents of the three files ......................................................................................... 23
5.1 PK ........................................................................................................................ 23
5.2 VK ........................................................................................................................ 24
5.3 DW ....................................................................................................................... 25
6. Conclusion ................................................................................................................ 26
Task B ................................................................................................................. 27
1. Introduction ............................................................................................................... 28
2. Aim and Objective ..................................................................................................... 28
2.1 Aim ....................................................................................................................... 28
2.2 Objectives ............................................................................................................ 28
3. Background ............................................................................................................... 29
3.1 Hierarchy of Memory management ...................................................................... 29
3.2 Memory Allocation ............................................................................................... 31
3.2.1 Contiguous memory allocation....................................................................... 32
3.2.2 Non-contiguous memory allocation................................................................ 34
3.3 Dynamic storage allocation .................................................................................. 35
3.4 Paging .................................................................................................................. 37
3.5 Segmentation ....................................................................................................... 39
4. Conclusion ................................................................................................................ 42
5. References ................................................................................................................ 43
6. Abbreviations............................................................................................................. 46
7. Appendix ................................................................................................................... 47
7.1 Memory Controller ............................................................................................... 47
7.2 Virtual memory ..................................................................................................... 49
Table of figures
Figure 1: Testing for incomplete parameters entry ......................................................................9
Figure 2: Testing with complete parameters entry .....................................................................10
Figure 3: Testing with five invalid secret keys............................................................................11
Figure 4: Testing with valid secret key ......................................................................................12
Figure 5: Testing for the best team with country name ..............................................................13
Figure 6: Testing with incorrect country code ............................................................................14
Figure 7: Testing with correct country code ...............................................................................15
Figure 8: Testing with four players code entry ...........................................................................16
Figure 9: Testing with input of same player code ......................................................................17
Figure 10: Testing with wrong players code ..............................................................................18
Figure 11: Testing with valid players code.................................................................................19
Figure 12: Testing for player with no any profile ........................................................................20
Figure 13: Testing to redirect the program ................................................................................21
Figure 14: Testing to formally terminate from the program ........................................................22
Figure 15: Memory hierarchy ....................................................................................................30
Figure 16: Memory allocation types...........................................................................................31
Figure 17: Contiguous memory allocation .................................................................................33
Figure 18: Non-contiguous memory allocation ..........................................................................34
Figure 19: Paging hardware ......................................................................................................37
Figure 20: Prototype of paging model .......................................................................................38
Figure 21: Segmentation hardware ...........................................................................................40
Figure 22: Memory Controller layout .........................................................................................48
Figure 23: Virtual memory model ..............................................................................................50
Table of tables
Table 1: Testing no. 1 .................................................................................................................9
Table 2: Testing no. 2 ...............................................................................................................10
Table 3: Testing no. 3 ...............................................................................................................11
Table 4: Testing no. 4 ...............................................................................................................12
Table 5: Testing no. 5 ...............................................................................................................13
Table 6: Testing no. 6 ...............................................................................................................14
Table 7: Testing no. 7 ...............................................................................................................15
Table 8: Testing no. 8 ...............................................................................................................16
Table 9: Testing no. 9 ...............................................................................................................17
Table 10: Testing no. 10 ...........................................................................................................18
Table 11: Testing no. 11 ...........................................................................................................19
Table 12: Testing no. 10 ...........................................................................................................20
Table 13: Testing no. 11 ...........................................................................................................21
Table 14: Testing no. 12 ...........................................................................................................22
Task A
CS5001NI Network and Operating System
1. Introduction
UNIX is the most powerful and popular multi-user and multi-tasking Operating
system which is truly the base of many Operating Systems like GNU/Linux, Ubuntu,
Solaris, etc. It was originally developed in the 1979s at AT&T Laboratories by Ken
Thompson and Dennis Ritchie and has been in continues development ever since. UNIX
was taken as the heart of the operating System and had a significant impact on other
operating system with inheriting various functions (Pandit, n.d.). The main concepts
through which all the version of UNIX interact within the system are classified into four
basics.
Kernel: It communicates with hardware and handles certain task like memory
management, task scheduling and file management.
Shell: The shell processes the user’s request from terminal, interpret them and calls the
program which the user want. C shell, Bourne Shell and Korn shell are the popular shell
used in the UNIX variants.
Command and Utilities: There are many commands like cp, mv, cat, grep and more
which are used in UNIX to conduct various operations.
Files and Directories: Files managed all the data whereas the directories organized all
those files. As whole the directories are organized by the filesystem (tutorialspoint.com).
1
Narayan Tiwari 18030944
CS5001NI Network and Operating System
Bourne shell
The Bourne shell is the original UNIX shell which was developed by Stephen
Bourne at Bell Labs. It is denoted by bsh. This shell is mostly preferred shell
because of it speed and compactness. But the major drawback of Bourne shell is
it lacks the use of interactive features such as it fails to call previous commands
(history). Its full name path is /bin/sh.
Bash shell
The Bash shell stands for Bourne again shell that carries many improved features
over the Bourne shell. Some of the major improvements includes Job control,
editing command-line, command history with unlimited size, etc. The shell is
denoted by bash. Its command full path name is /bin/bash.
C shell
The shell that enhanced the UNIX operating system and was originally developed
by Bill Joy at the University of California is known for C shell. It is a command
processor that runs in a command windows and has built-in arithmetic and C-like
expression syntax. Its full path name is /bin/csh.
Korn shell
The Korn shell is the superset of Bourne shell that was written and developed by
David Korn. The shell was originally written in the high-level programming
language. It includes most of the features of C shell (csh) but more powerful and
faster than C shell. The shell includes some convenient features like command-
line editing, job controlling, history mechanism and so on. The full pathname of the
command is /bin/ksh.
2
Narayan Tiwari 18030944
CS5001NI Network and Operating System
Z shell
The Z shell is an interactive login shell which is an extension to Bourne shell with
many improvements. It is denoted by zsh. The Z shell combines features from
different shell-like Bash and ksh and is used as a command interpreter for shell
scripting. Some of its major features includes filename generation, function index,
spelling correction and approximate completion and so on.
Fish shell
The Fish shell (Friendly interactive shell) is a user-friendly shell that was
developed in 2005. It is an independent shell that is not based on other shell. It
holds different features like autosuggestions, supports 256 terminal technology,
tab competition abbreviations and many more (EDUCBA, 2020).
1.3.2 Objective
The certain objectives that are made in order to obtain the aim of the task are
mentioned below.
• To research and learn about UNIX operating system along with the shell scripting.
• To practice and implement various commands of bash scripting to complete
different tasks as per the senior.
• To interact with the tutorials and module teachers to review and understand about
the scripts and their working methods.
3
Narayan Tiwari 18030944
CS5001NI Network and Operating System
2. Description of scenario
The UNIX terminal is an interpreter that execute the created program in text files.
A shell script that establish interactive communication between its user and the UNIX
environment is to be written. A user must start with passing the program name along with
username and ID as the parameters. After correct entry, the program ask user to provide
secret key to get access inside the program. The right secret key allows user for next step
of the program or terminate the program only after obtaining five incorrect user input for
secret key. Welcome text is displayed with user provided name and ID along with date
and time of program execution.
With Welcome text, it displays the table of five cricket countries along with their
codes and ask the user to select the best team. As the best team in my program is Nepal.
Until the user entered the code of Nepal, the program runs in loop and ask for the correct
one. After Nepal is selected, the program moves into next step and displays the list of five
cricket players and ask user to choose three players from the list. The three chosen
players are listed as the menu and ask the user to choose any single player according to
their listed number. The user selects any single player by their listed number and the
program displays comment about the selected players and some descriptions about that
player. The program displays the description of player which is stored in the file of the
directory. If the file of selected player does not exist, then the program is set to show the
message about the absence of the file and ask user to run the program again. if any
invalid input is entered, then the program displays the error message. if user want to
continue the program then the program starts to run from the previous step of selecting
the country name or simply user can terminate from the program.
4
Narayan Tiwari 18030944
CS5001NI Network and Operating System
3. Script
The script that are implemented in each task of the scenario is given below.
In CLI,
$ nano Cousework2
In GUI,
5
Narayan Tiwari 18030944
CS5001NI Network and Operating System
fi
mainFunction() { #creating mainFuction that can be called to re-execute the
program at the end of the task.
cricket_countries() { #cricket_countries function is created for executing
the internal operations.
echo -e "\t -------------------------------------"
echo -e "\t| COUNTRY | CODE |"
echo -e "\t -------------------------------------"
echo -e "\t| Australia | AUS |"
echo -e "\t| Bangladesh | BAN |"
echo -e "\t| Nepal | NEP |"
echo -e "\t| India | IND |"
echo -e "\t| England | ENG |"
echo -e "\t -------------------------------------"
echo -e "\nGuess the best team from the table by their country
code.\n\c"
best_team="" #Initializing best_team as variable.
until [ "$best_team" = "nep" ] #until loop to check whether
choosen team is Nepal or not or invlaid input.
do
echo -e "Which is the best team in your prediction? \c"
read best_team
best_team=${best_team,,}
case $best_team in #case for checking best team.
nep)
echo -e "\n\t\t Well done!!! \nYour prediction is
Correct. Nepal might be your favourite team."
;;
AUS | BAN | IND | ENG)
echo -e "\nSorry! Your predication is
incorrect...\n"$best_team" is not the best team. \n""Try once again..."
;;
*)
echo -e "\nPlease enter the valid code."
;;
esac
done
echo -e "\n\t\t Nepal Cricket Team \n\t\t-------------------- \nNepal
is an emerging cricketing nation in the world. \nNepal had already
participated in different tournament \norganized by ICC. Sandeep lamichanne
is a popular player of Nepal.\n"
}
cricket_countries #end of Cricket_countries function
cricket_players() { #cricket_players function is created for executing
the files and operations of the program.
echo -e "\t ---------------------------------------"
echo -e "\t| PLAYERS | CODE |"
echo -e "\t ---------------------------------------"
echo -e "\t| Paras Khadka | PK |"
6
Narayan Tiwari 18030944
CS5001NI Network and Operating System
7
Narayan Tiwari 18030944
CS5001NI Network and Operating System
;;
DW)
echo -e "You select David Warner as the
best one.\n"
cat DW
break
;;
BS)
echo -e "Information about this player not
found. Please try again.\n"
mainFunction #calling the mainFunction
;;
RT)
echo -e "Information about this player not
found. Please try again.\n"
mainFunction
;;
*)
echo -e "The player you have entered is not
valid. Please try again\n"
esac
done
}
cricket_players
}
mainFunction
continue() { #continue function is created if the user like to repeat
the program again at the end.
echo -e "\nDo you want to continue (Y/N)?: \c"
read result
if [ $result = Y ] || [ $result = y ]
then
mainFunction
continue
elif [ $result = N ] || [ $result = n ]
then
echo -e "\nThank you for your presents. Hope to see you
again..!!!\n"
exit
else
echo -e "\nInvalid input. please, check and try again."
continue
fi
}
continue
8
Narayan Tiwari 18030944
CS5001NI Network and Operating System
4. Testing
Test No. 1
9
Narayan Tiwari 18030944
CS5001NI Network and Operating System
Test No. 2
10
Narayan Tiwari 18030944
CS5001NI Network and Operating System
Test No. 3
11
Narayan Tiwari 18030944
CS5001NI Network and Operating System
12
Narayan Tiwari 18030944
CS5001NI Network and Operating System
Test No. 5
13
Narayan Tiwari 18030944
CS5001NI Network and Operating System
Test No. 6
14
Narayan Tiwari 18030944
CS5001NI Network and Operating System
Test No. 7
15
Narayan Tiwari 18030944
CS5001NI Network and Operating System
Test No. 8
16
Narayan Tiwari 18030944
CS5001NI Network and Operating System
Test No. 9
17
Narayan Tiwari 18030944
CS5001NI Network and Operating System
Test No. 10
18
Narayan Tiwari 18030944
CS5001NI Network and Operating System
Test No. 11
19
Narayan Tiwari 18030944
CS5001NI Network and Operating System
Test No. 12
20
Narayan Tiwari 18030944
CS5001NI Network and Operating System
Test No. 13
21
Narayan Tiwari 18030944
CS5001NI Network and Operating System
Test No. 14
22
Narayan Tiwari 18030944
CS5001NI Network and Operating System
Three files were created among the five players where each file includes the
description of single player and are stored in the directory. In the program, a user is asked
to choose three players among the five players and the program list the selected players
into menu format. A user chose a single player by its list number and if chosen file exist
it show the information about the player which is mentioned below. If the doesn’t exist,
then the program display the message “File doesn’t exist”. The three files are given below:
5.1 PK
Paras Khadka
Paras Khadka is known as one of the best players Nepal has ever produced and is current
captain of the national side. A middle-order batsman who also bowls medium pace, he
represented Nepal in the Under-19 World Cups of 2004, 2006 and 2008 while also being
a part of the senior side.
---------------------------------------------------------
| Paras Khadka |
----------------------------------------------------------
| Full Name : Paras Khadka |
| Born : Oct 24, 1987 |
| Age : 33 years |
| Birth Place : Nepal |
| Height : 6 ft 3 in (1.91 m) |
| Role : Batting Allrounder |
| Batting Style : Right Handed Bat |
| Bowling Style : Right-arm fast-medium |
-----------------------------------------------------------
23
Narayan Tiwari 18030944
CS5001NI Network and Operating System
5.2 VK
Virat Kohli
Virat Kohli is an Indian cricketer who currently captains the India national team. A right-
handed top-order batsman, Kohli is regarded as one of the best batsmen in the world.
----------------------------------------------------
| Virat Kohli |
----------------------------------------------------
| Full Name : Virat Kohli |
| Born : Nov 05, 1988 |
| Age : 32 years |
| Birth Place : Delhi, India |
| Height : 5 ft 9 in (175cm) |
| Role : Batsman |
| Batting Style : Right Handed Bat |
| Bowling Style : Right-arm medium |
------------------------------------------------------
24
Narayan Tiwari 18030944
CS5001NI Network and Operating System
5.3 DW
David Warner
David Andrew Warner is an Australian international cricketer and a former captain of the
Australian national team. A left-handed opening batsman, Warner is the first Australian
cricketer in 132 years to be selected for a national team in any format without experience
in first-class cricket.
-------------------------------------------------------
| David Warner |
--------------------------------------------------------
| Full Name : David Andrew Warner |
| Born : Oct 27, 1986 |
| Age : 34 years |
| Birth Place : Australia |
| Height : 1.70 m |
| Role : Batsman |
| Batting Style : Left Handed Bat |
| Bowling Style : Right-arm leg break |
----------------------------------------------------------
25
Narayan Tiwari 18030944
CS5001NI Network and Operating System
6. Conclusion
Finally, the given coursework came to an end and was successfully completed
within time. This coursework helped in accessing decent knowledge about UNIX
operating system and to work with various in-built arithmetic and commands exist in the
operating system.
As per the scenario, a well-tested script is developed. All the given tasks are done
in bash shell. Different commands are implemented to complete the script. Functions and
loops like for, while, until, case, select etc. are used to compete different task. After script
is developed, it is passed with server testing approach to make it free from any errors.
Then the error free script is copy in textual form as mention in the script. The three files
of the best three player is also created where each player is detailly described. In this
way, Task A of this coursework is completed in required format with proper citations.
26
Narayan Tiwari 18030944
CS5001NI Network and Operating System
Task B
27
Narayan Tiwari 18030944
CS5001NI Network and Operating System
1. Introduction
2.2 Objectives
The major objectives are:
• To conduct research from different source about the memory management and
its basic principle.
• To consult with modules leader and the teachers about contents of the report and
complete it within provided time.
28
Narayan Tiwari 18030944
CS5001NI Network and Operating System
3. Background
In the memory hierarchy design, the memory in the computer can be divided into
two types based on the speed as well as their use.
Internal Memory or Primary Memory: It includes Main Memory, Cache Memory and
CPU registers which is directly accessible by the processor (Jain, n.d.).
The memory hierarchy design includes five hierarchies where the first three
hierarchies are volatile memories which mean in the condition of power unavailable, its
losses their stored data. whereas the last two hierarchies are not volatile that they store
data permanently. The following hierarchical pyramid is memory hierarchy diagram for
computer memory.
29
Narayan Tiwari 18030944
CS5001NI Network and Operating System
(Singhal, 2020)
• Registers
Usually, the register is static RAM in the processor of the computer which use for
decision making as well as store the data like mathematical operations.
• Cache Memory
Cache memory is also found in the processor that holds the chuck of data which
are frequently used from main memory.
• Main Memory
The main memory is storage unit that stores the data throughout the operations of
the computer. It is made up of RAM as well as ROM.
• Magnetic Disk
The magnetic disks are circular plates fabricated of plastic where two faces of the
disk are utilized as well as stacked on one spindle by read or write heads gain on
each plane.
• Magnetic Tape
This tape is an ordinary magnetic recording which is mainly used to back up large
data (Elprocus, 2020).
30
Narayan Tiwari 18030944
CS5001NI Network and Operating System
Memory allocation has two fundamental methods for allocating the memory. They are:
(T, 2020)
31
Narayan Tiwari 18030944
CS5001NI Network and Operating System
This method allocates the memory to a process before its execution or at compile time of
the program.
This method allocates the memory to a process during its execution or at run time of the
program (Techopedia, 2020).
In the computer program, the multiple user can share the memory simultaneously.
it means there will be more than one process in the main memory and to handle the event
likes I/O, CPU will make context switch and step toward next processes. So, memory
allocation possesses the technique for allocating the blocks of memory on the request to
the process. The main memory in the system is allocated based on two methods.
In contiguous memory allocation, all the available memory spaces are allocated in
one place. When a process is requested by any user for a memory a single portion of the
contiguous memory block is assigned for that process based on its requirements.
Contiguous memory allocation can be achieved by diving memory into two partitioning
methods.
32
Narayan Tiwari 18030944
CS5001NI Network and Operating System
(Jain P. , 2019)
In this partition, the memory is divided into fixed sized where whole partition is
implemented to a process and if there is some spare partition remains then it called
internal fragmentation.
In variable size partition, the memory is taken as single unit and partition allocated
to the process is exactly similar as per requirements and the unoccupied space can be
used again.
33
Narayan Tiwari 18030944
CS5001NI Network and Operating System
In the non-contiguous memory allocation, all the available free memory spaces are
randomly allocated and are not place at fixed pattern. The process can acquire the
memory space at different locations. So, it consumes more time to allocate the memory.
This method can utilize all the free memory space and helps to eliminate the problem of
message wastage which leads to internal and external fragmentation (Jain P. , 2019).
(Jain P. , 2019)
34
Narayan Tiwari 18030944
CS5001NI Network and Operating System
The methods through which holes or blocks of the memory are allocated to
determine its best allocation are:
➢ First fit
In the first fit approach, it allocates the first free partition or hole which is large
enough that can hold suitable process. it usually completes after finding the first relevant
hole.
Advantage
Disadvantage
• If the memory is too small, then the unused memory area after allocation
become wastage.
35
Narayan Tiwari 18030944
CS5001NI Network and Operating System
➢ Best fit
In the best fit approach, it allocates the smallest free partition that fulfil the need of
the requesting process. the method searches the whole list of available partition and
consider the smallest hole that is suitable. It then tries to recognize a hole which adequate
to required actual process sized.
Advantage
• It has better memory utilization that can quickly search the first available
smallest free partition.
Disadvantage
➢ Worst fit
In the worst fit approach, it allocates the large free portion so that available portion
will be full enough to be useful. It is opposite of best fit.
Advantage
Disadvantage
• It cannot handle process that requires larger memory at a later stage as the
larger hole will be already occupied (Tutorials Point, 2020).
36
Narayan Tiwari 18030944
CS5001NI Network and Operating System
3.4 Paging
Page offset (d): it mixed with base address to determine the physical memory address
(Shareef).
(Shareef)
37
Narayan Tiwari 18030944
CS5001NI Network and Operating System
The page number in the page tables is used as an index. Each process contains
its distinct page table that outline logical address to the physical address. The page tables
hold the base address of the page contained by the frame of physical address. The page
table defines the base address that combines with page offset to specify the frame
number in physical memory which has stored the page (Tech Differences, 2020).
(Shareef)
38
Narayan Tiwari 18030944
CS5001NI Network and Operating System
3.5 Segmentation
39
Narayan Tiwari 18030944
CS5001NI Network and Operating System
A logical address in the segment (d) contains two parts i.e. segment number (s)
and offset. Segment number is used as an index in the segment table where each entry
of segment table must provide initial address in the main memory of the respective
segment (Godse & Godse, 2010).
Advantages
40
Narayan Tiwari 18030944
CS5001NI Network and Operating System
Disadvantages
41
Narayan Tiwari 18030944
CS5001NI Network and Operating System
4. Conclusion
In the Task B of this coursework, a well research and continuous study about
various methods for the management of memory within an operating system is carried
out. It has broadened my knowledge and helped in completing the report as per the
requirements. Memory is an important fundament of the computer system and the
management of the memory helps to control and handles various operation in the system.
So, the overall report deals with processes and measures for managing the memory in
the best way possible.
This report explains about the Memory management concept, their purpose,
working scheme and techniques to manage the memory for best performance and
optimum benefits to the system. The hierarchy of memory in the report helps in
understanding the structure of different components of memory management. Memory
allocation to the process is defined through different method to analysis best memory
storage methods. Memory management scheme like paging and segmentation helps to
utilizes the memory in different level by interactive participation with memory
management components. The report is finally completed after a several days research
from books, journals, websites, other resources and constant interaction with the module
teachers.
42
Narayan Tiwari 18030944
CS5001NI Network and Operating System
5. References
(n.d.).
Chacko, C. (2020). SlideShare. (LinkedIn Corporation) Retrieved Jan 8, 2018, from www.slideshare.net:
https://www.slideshare.net/ChessinChacko/intel-8th-generation-and-7th-gen-microprocessor-
full-details-especially-for-taking-seminars
COMPUTER BUSINESS REVIEW. (2020, April 17). CBR. (COMPUTER BUSINESS REVIEW) Retrieved 1993,
from www.cbronline.com: https://www.cbronline.com/what-is/what-is-virtual-memory-
4929986/
E-computer Concepts. (2020). E-computer Concepts. (Temple Genix) Retrieved August 24, 2019, from
ecomputerconcepts.com: https://ecomputerconcepts.com/segmentation-in-memory-
management/
Godse, A. P., & Godse, D. A. (2010). Computer Organization (1st ed.). Technical Publications. Retrieved
from https://books.google.com.np/books?id=AIHgbyyEIHoC&pg=RA1-SA9-
PA43&dq=paging+and+segmentation&hl=en&sa=X&ved=0ahUKEwj3j8moqOzoAhWFzzgGHajcA
xQQ6AEIVTAF#v=onepage&q=paging%20and%20segmentation&f=false
Inphi. (2014). Introduction to design considerations of DRAM memory controllers. 56. Inphi. Retrieved
from https://sci-hub.tw/10.1109/cicc.2014.6946076
Jain, P. (2019, april 23). IncludeHelp.com. (IncludeHelp ) Retrieved march 06, 2015, from
www.includehelp.com: https://www.includehelp.com/operating-systems/contiguous-and-non-
contiguous-memory-allocation.aspx
43
Narayan Tiwari 18030944
CS5001NI Network and Operating System
PCMag.com. (2020). PCMag. (ZIFF DAVIS, LLC. PCMAG DIGITAL GROUP) Retrieved 1996, from
www.pcmag.com: https://www.pcmag.com/encyclopedia/term/virtual-memory
Rubens, P. (2020). Enterprise Storage. (Quinstreet Inc) Retrieved May 17, 2019, from
www.enterprisestorageforum.com: https://www.enterprisestorageforum.com/storage-
hardware/virtual-memory.html
Silberschatz, A., Gagne, G., & Galvin, P. B. (n.d.). Main memory. 9th. Retrieved from
https://www.cs.uic.edu/~jbell/CourseNotes/OperatingSystems/8_MainMemory.html
T, N. (2020). Binary Terms . (Binary Terms) Retrieved Aug 13, 2019, from binaryterms.com:
https://binaryterms.com/static-and-dynamic-memory-allocation.html
Tech Differences. (2020). Tech Differences. (Tech Differences) Retrieved December 26, 2016, from
techdifferences.com: https://techdifferences.com/difference-between-paging-and-
segmentation-in-os.html#Definition
44
Narayan Tiwari 18030944
CS5001NI Network and Operating System
45
Narayan Tiwari 18030944
CS5001NI Network and Operating System
6. Abbreviations
PC : Personnel Computer
OS : Operating System
46
Narayan Tiwari 18030944
CS5001NI Network and Operating System
7. Appendix
A diagram that depicts the basic structures and its operations in memory controller
is mention below.
47
Narayan Tiwari 18030944
CS5001NI Network and Operating System
(Inphi, 2014)
48
Narayan Tiwari 18030944
CS5001NI Network and Operating System
The below figures show the structural diagram of virtual memory within the
computer system.
49
Narayan Tiwari 18030944
CS5001NI Network and Operating System
(VIVADIFFERENCES.COM, 2019)
50
Narayan Tiwari 18030944
CS5001NI Network and Operating System
51
Narayan Tiwari 18030944