SlideShare ist ein Scribd-Unternehmen logo
1 von 90
Damian Gordon
HARD DISK
(MAIN
MEMORY)
(SECONDARY
MEMORY)
2
CACHE 1
HARD DISK
(MAIN
MEMORY)
(SECONDARY
MEMORY)
2
CACHE 1
HARD DISK
(MAIN
MEMORY)
(SECONDARY
MEMORY)
2
CACHE 1
101
Approximate number of clock cycles to access
the various elements of the memory hierarchy.
HARD DISK
(MAIN
MEMORY)
(SECONDARY
MEMORY)
2
CACHE 1
101
103
Approximate number of clock cycles to access
the various elements of the memory hierarchy.
HARD DISK
(MAIN
MEMORY)
(SECONDARY
MEMORY)
2
CACHE 1
101
103
107
Approximate number of clock cycles to access
the various elements of the memory hierarchy.
 Let’s consider an operating system model
with a single user, and how they use memory.
MAIN
MEMORY
200K
available
MAIN
MEMORY
 If I create a program:
200K
available
MAIN
MEMORY
 If I create a program:
PROGRAM 1
200K
available
MAIN
MEMORY
 If I create a program:
 to be processed, it has
to be writen entirely into
Main Memory, in
contiguous space
PROGRAM 1
200K
available
MAIN
MEMORY
PROGRAM 1
200K
available
MAIN
MEMORY
 If the program is bigger:
PROGRAM 1
200K
available
MAIN
MEMORY
 If it doesn’t fit in the
memory, it’s can’t be
processed.
200K
available
MAIN
MEMORY
 This is the limitation of all computers, if a
program is too big, we have to do one of two
things:
1. Get more memory
2. Make the program smaller
Store first location of program in the base register
(for memory protection);
Set Program Counter to the first memory location;
Read first instruction of program;
WHILE (last instruction reached OR Program Counter is
greater than Memory Size)
DO Increment the Program Counter;
IF (last instruction reached)
THEN Stop Loading Program;
END IF;
IF (Program Counter is greater than Memory Size)
THEN Stop Loading Program;
END IF;
Load instruction into memory;
Read next instruction of program;
END WHILE;
 To allow more than one program to run at the
same time, the memory is subdivided into
FIXED PARTITIONS.
MAIN
MEMORY
250K
PARTITION 1
PARTITION 2
PARTITION 3
PARTITION 4
PARTITION 5
250K
100K
25K
25K
50K
50K
 This leaves us with less memory, but at least
more than one user (and their user process)
can be logged into the system at the same
time.
 If we want to adjust the size of the partitions
we need to shut down the system, go into the
boot login, and then restart.
WHILE (there are still jobs in the queue)
DO Determine the job’s requested memory size;
IF Job size > Size of Largest Partition
THEN Reject the Job;
PRINT “Job Rejected: Not Enough Memory”;
Exit; /* this iteration and get next job */
END IF;
MyCounter := 1;
WHILE (MyCounter <= Number of Partitions in Memory)
DO IF (Job Size > Memory_Partition[Counter].Size
THEN MyCounter := MyCounter + 1;
ELSE IF (Memory_Partition[Counter].Status == “FREE”;
THEN Load job into Memory_Partition[Counter];
Memory_Partition[Counter].Status := “BUSY”;
Exit; /* this iteration and get next job */
ELSE MyCounter := MyCounter + 1;
END IF;
END WHILE;
No partition available;
put job in waiting queue;
END WHILE;
 To make this work, the Memory manager
needs to keep a Partition Table to remember
the status of all the partitions.
 To make this work, the Memory manager
needs to keep a Partition Table to remember
the status of all the partitions.
Partition
Number
Partition
Size
Memory
Address Access
Partition
Status
1 100K 200K Job1 BUSY
2 25K 300K Job4 BUSY
3 25K 325K FREE
4 50K 350K Job2 BUSY
5 50K 400K FREE
 Which looks like this
in memory:
 Which looks like this
in memory:
PARTITION 1
PARTITION 2
PARTITION 3
PARTITION 4
PARTITION 5
250K
100K
25K
25K
50K
50K
 Let’s add some jobs
in:
 Let’s add some jobs
in:
PARTITION 1
PARTITION 2
PARTITION 3
PARTITION 4
PARTITION 5
100K
25K
25K
50K
50K
250K
 Let’s add some jobs
in:
PARTITION 1
PARTITION 2
PARTITION 3
PARTITION 4
PARTITION 5
100K
25K
25K
50K
50K
PROGRAM 1
250K
 Let’s add some jobs
in:
PARTITION 1
PARTITION 2
PARTITION 3
PARTITION 4
PARTITION 5
100K
25K
25K
50K
50K
PROGRAM 1
PROGRAM 2
250K
 Let’s add some jobs
in:
PARTITION 1
PARTITION 2
PARTITION 3
PARTITION 4
PARTITION 5
100K
25K
25K
50K
50K
PROGRAM 1
PROGRAM 2
250K
PROGRAM 3
 Let’s add some jobs
in:
PARTITION 1
PARTITION 2
PARTITION 3
PARTITION 4
PARTITION 5
100K
25K
25K
50K
50K
PROGRAM 1
PROGRAM 2
PROGRAM 3
250K
INTERNAL FRAGMENTATION
 Let’s add some jobs
in:
PARTITION 1
PARTITION 2
PARTITION 3
PARTITION 4
PARTITION 5
100K
25K
25K
50K
50K
PROGRAM 1
PROGRAM 2
PROGRAM 3
250K
INTERNAL FRAGMENTATION
INTERNAL FRAGMENTATION
 Let’s add some jobs
in:
PARTITION 1
PARTITION 2
PARTITION 3
PARTITION 4
PARTITION 5
100K
25K
25K
50K
50K
PROGRAM 1
PROGRAM 2
PROGRAM 3
250K
INTERNAL FRAGMENTATION
INTERNAL FRAGMENTATION
EMPTY PARTITION
 Let’s add some jobs
in:
PARTITION 1
PARTITION 2
PARTITION 3
PARTITION 4
PARTITION 5
100K
25K
25K
50K
50K
PROGRAM 1
PROGRAM 2
PROGRAM 3
250K
INTERNAL FRAGMENTATION
INTERNAL FRAGMENTATION
EMPTY PARTITION
EMPTY PARTITION
 Selecting the correct set of partition sizes is a
tricky business, too small and larger jobs will
be waiting forever to run, too big and there is
a lot of wasted space.
 An alternative is DYNAMIC PARTITIONS,
where a job is given the space it requests, if
there is space available for it.
 This takes care of lots of problems.
 Let’s add some jobs
in:
MAIN
MEMORY
250K
 Let’s add some jobs
in:
MAIN
MEMORY
250K
PROGRAM 1
 Let’s add some jobs
in:
MAIN
MEMORY
PROGRAM 1
250K
 Let’s add some jobs
in:
MAIN
MEMORY
PROGRAM 1
PROGRAM 2
250K
 Let’s add some jobs
in:
MAIN
MEMORY
PROGRAM 1
PROGRAM 2
250K
 Let’s add some jobs
in:
MAIN
MEMORY
PROGRAM 1
PROGRAM 2
PROGRAM 3
250K
 Let’s add some jobs
in:
MAIN
MEMORY
PROGRAM 1
PROGRAM 2
PROGRAM 3250K
 Let’s add some jobs
in:
MAIN
MEMORY
PROGRAM 1
PROGRAM 2
PROGRAM 3250KPROGRAM 4
 Let’s add some jobs
in:
MAIN
MEMORY
PROGRAM 1
PROGRAM 2
PROGRAM 3250K
PROGRAM 4
 Let’s add some jobs
in:
MAIN
MEMORY
PROGRAM 1
PROGRAM 2
250K
PROGRAM 4
PROGRAM 5
PROGRAM 3
 Let’s add some jobs
in:
MAIN
MEMORY
PROGRAM 1
PROGRAM 2
250K
PROGRAM 4
PROGRAM 5
PROGRAM 3
 It isn’t perfect, because the next program will
go into the slot that is freed up by a
completed job.
 Let’s add some jobs
in:
MAIN
MEMORY
PROGRAM 1
PROGRAM 2
250K
PROGRAM 4
PROGRAM 5
PROGRAM 3
 Let’s add some jobs
in:
MAIN
MEMORY
PROGRAM 1
PROGRAM 2
250K
PROGRAM 4
PROGRAM 5
PROGRAM 3
 Let’s add some jobs
in: PROGRAM 1
PROGRAM 2
250K
PROGRAM 4
PROGRAM 5
 Let’s add some jobs
in: PROGRAM 1
PROGRAM 2
250K
PROGRAM 4
PROGRAM 5
 Let’s add some jobs
in: PROGRAM 1
PROGRAM 2
250K
PROGRAM 4
PROGRAM 5
EXTERNAL FRAGMENTATION
 So however we partition, we end up with
fragmentation, one way or the other.
PROGRAM 1
PROGRAM 2
250K
PROGRAM 4
PROGRAM 5
PROGRAM 3
PROGRAM 1
PROGRAM 2
250K
PROGRAM 4
PROGRAM 5
 So how do we decide
where to slot in a
new job?
PROGRAM 3
 So how do we decide
where to slot in a
new job?
PROGRAM 1
PROGRAM 2
PROGRAM 3 250K
PROGRAM 4
PROGRAM 5
PROGRAM 6
 Here is the first slot
free
PROGRAM 1
PROGRAM 2
PROGRAM 3 250K
PROGRAM 4
PROGRAM 5
PROGRAM 6
 Here is the first slot
free
PROGRAM 1
PROGRAM 2
PROGRAM 3 250K
PROGRAM 4
PROGRAM 5
PROGRAM 6
 But here’s a better fit PROGRAM 1
PROGRAM 2
PROGRAM 3 250K
PROGRAM 4
PROGRAM 5
PROGRAM 6
 But here’s a better fit PROGRAM 1
PROGRAM 2
PROGRAM 3 250K
PROGRAM 4
PROGRAM 5
PROGRAM 6
 So we can either add the new block to the
first available slot (FIRST-FIT ALGORITHM) or
we can add the new block to the most
suitable available slot (BEST-FIT ALGORITHM).
 If the Memory Manager wants a FIRST-FIT
ALGORITHM then it stores a table in order of
memory locations.
 If the Memory Manager wants a BEST-FIT
ALGORITHM then it stores a table in order of
size of memory locations.
Starts Size Status
200 50 BUSY
250 50 FREE
300 15 BUSY
315 40 FREE
355 25 BUSY
Starts Size Status
315 40 FREE
250 50 FREE
300 15 BUSY
355 25 BUSY
315 40 BUSY
Starts Size Status
 After a job is completed, there are three
cases for deallocating space in memory:
 1. There are jobs either side of the freed
space:
PROGRAM 3
PROGRAM 4
PROGRAM 6
PROGRAM 3
PROGRAM 4
PROGRAM 5 PROGRAM 5
PROGRAM 8 PROGRAM 8
 2. There are is a job on one side, and it’s free
on the other side of the freed space:
PROGRAM 3
PROGRAM 6
PROGRAM 3
PROGRAM 5 PROGRAM 5
PROGRAM 8 PROGRAM 8
 3. There are no jobs on either side of the
freed space:
PROGRAM 6
PROGRAM 5 PROGRAM 5
PROGRAM 8 PROGRAM 8
 Let’s look at the implications of each of these
cases in terms of what the Memory Manager
has to do to remember the FREE and BUSY
memory spaces.
 1. There are jobs either side of the freed
space:
PROGRAM 3
PROGRAM 4
PROGRAM 6
PROGRAM 3
PROGRAM 4
PROGRAM 5 PROGRAM 5
PROGRAM 8 PROGRAM 8
 1. There are jobs either side of the freed
space:
PROGRAM 3
PROGRAM 4
PROGRAM 6
PROGRAM 3
PROGRAM 4
PROGRAM 5 PROGRAM 5
PROGRAM 8 PROGRAM 8
250-300
315-340
300-315
200-250
355-380
340-355
250-300
315-340
300-315
200-250
355-380
340-355
 1. There are jobs either side of the freed
space:
250-300
315-340
300-315
200-250
355-380
340-355
250-300
315-340
300-315
200-250
355-380
340-355
Starts Size Status
200 50 BUSY
250 50 BUSY
300 15 BUSY
315 25 BUSY
340 15 FREE
355 25 BUSY
Starts Size Status
200 50 BUSY
250 50 BUSY
300 15 FREE
315 25 BUSY
340 15 FREE
355 25 BUSY
 2. There are is a job on one side, and it’s free
on the other side of the freed space:
PROGRAM 3
PROGRAM 6
PROGRAM 3
PROGRAM 5 PROGRAM 5
PROGRAM 8 PROGRAM 8
 2. There are is a job on one side, and it’s free
on the other side of the freed space:
PROGRAM 3
PROGRAM 6
PROGRAM 3
PROGRAM 5 PROGRAM 5
PROGRAM 8 PROGRAM 8
250-300
300-315
200-250
355-380
315-355
250-300
200-250
355-380
300-355
 2. There are is a job on one side, and it’s free
on the other side of the freed space:
250-300
300-315
200-250
355-380
315-355
250-300
200-250
355-380
300-355
Starts Size Status
200 50 BUSY
250 50 BUSY
300 15 BUSY
315 40 FREE
355 25 BUSY
Starts Size Status
200 50 BUSY
250 50 BUSY
300 15 FREE
315 40 FREE
355 25 BUSY
 2. There are is a job on one side, and it’s free
on the other side of the freed space:
Starts Size Status
200 50 BUSY
250 50 BUSY
300 15 BUSY
315 40 FREE
355 25 BUSY
Starts Size Status
200 50 BUSY
250 50 BUSY
300 15 FREE
315 40 FREE
355 25 BUSY
 2. There are is a job on one side, and it’s free
on the other side of the freed space:
Starts Size Status
200 50 BUSY
250 50 BUSY
300 15 BUSY
315 40 FREE
355 25 BUSY
Starts Size Status
200 50 BUSY
250 50 BUSY
300 15 FREE
315 40 FREE
355 25 BUSY
Starts Size Status
200 50 BUSY
250 50 BUSY
300 55 FREE
355 25 BUSY
 3. There are no jobs on either side of the
freed space:
PROGRAM 6
PROGRAM 5 PROGRAM 5
PROGRAM 8 PROGRAM 8
 3. There are no jobs on either side of the
freed space:
PROGRAM 6
PROGRAM 5 PROGRAM 5
PROGRAM 8 PROGRAM 8
250-300
300-315
200-250
355-380
315-355
250-355
200-250
355-380
 3. There are no jobs on either side of the
freed space:
250-300
300-315
200-250
355-380
315-355
250-355
200-250
355-380
Starts Size Status
200 50 BUSY
250 50 FREE
300 15 BUSY
315 40 FREE
355 25 BUSY
Starts Size Status
200 50 BUSY
250 50 FREE
300 15 FREE
315 40 FREE
355 25 BUSY
 3. There are no jobs on either side of the
freed space:
Starts Size Status
200 50 BUSY
250 50 FREE
300 15 BUSY
315 40 FREE
355 25 BUSY
Starts Size Status
200 50 BUSY
250 50 FREE
300 15 FREE
315 40 FREE
355 25 BUSY
 3. There are no jobs on either side of the
freed space:
Starts Size Status
200 50 BUSY
250 50 FREE
300 15 BUSY
315 40 FREE
355 25 BUSY
Starts Size Status
200 50 BUSY
250 50 FREE
300 15 FREE
315 40 FREE
355 25 BUSY
Starts Size Status
200 50 BUSY
250 105 FREE
355 25 BUSY

Weitere ähnliche Inhalte

Was ist angesagt?

cpu scheduling by shivam singh
cpu scheduling by shivam singhcpu scheduling by shivam singh
cpu scheduling by shivam singhshivam71291
 
3 process scheduling
3 process scheduling3 process scheduling
3 process schedulingahad alam
 
What is Database Backup? The 3 Important Recovery Techniques from transaction...
What is Database Backup? The 3 Important Recovery Techniques from transaction...What is Database Backup? The 3 Important Recovery Techniques from transaction...
What is Database Backup? The 3 Important Recovery Techniques from transaction...Raj vardhan
 
Main memory operating system
Main memory   operating systemMain memory   operating system
Main memory operating systemIndhu Periys
 
first come first serve scheduling in os
first come first serve scheduling in os first come first serve scheduling in os
first come first serve scheduling in os mikeemukesh
 
Comparative analysis of the essential CPU scheduling algorithms
Comparative analysis of the essential CPU scheduling algorithmsComparative analysis of the essential CPU scheduling algorithms
Comparative analysis of the essential CPU scheduling algorithmsjournalBEEI
 
[Altibase] 13 backup and recovery
[Altibase] 13 backup and recovery[Altibase] 13 backup and recovery
[Altibase] 13 backup and recoveryaltistory
 
[Altibase] 12 replication part5 (optimization and monitoring)
[Altibase] 12 replication part5 (optimization and monitoring)[Altibase] 12 replication part5 (optimization and monitoring)
[Altibase] 12 replication part5 (optimization and monitoring)altistory
 
[Altibase] 10 replication part3 (system design)
[Altibase] 10 replication part3 (system design)[Altibase] 10 replication part3 (system design)
[Altibase] 10 replication part3 (system design)altistory
 
Supporting Time-Sensitive Applications on a Commodity OS
Supporting Time-Sensitive Applications on a Commodity OSSupporting Time-Sensitive Applications on a Commodity OS
Supporting Time-Sensitive Applications on a Commodity OSNamHyuk Ahn
 
Chapter 10 Operating Systems silberschatz
Chapter 10 Operating Systems silberschatzChapter 10 Operating Systems silberschatz
Chapter 10 Operating Systems silberschatzGiulianoRanauro
 
Database recovery techniques
Database recovery techniquesDatabase recovery techniques
Database recovery techniquespusp220
 
CSI-503 - 9. Virtual Memory
CSI-503 - 9. Virtual MemoryCSI-503 - 9. Virtual Memory
CSI-503 - 9. Virtual Memoryghayour abbas
 
Ch6
Ch6Ch6
Ch6C.U
 
Progress OE performance management
Progress OE performance managementProgress OE performance management
Progress OE performance managementYassine MOALLA
 

Was ist angesagt? (20)

cpu scheduling by shivam singh
cpu scheduling by shivam singhcpu scheduling by shivam singh
cpu scheduling by shivam singh
 
Cpu scheduling
Cpu schedulingCpu scheduling
Cpu scheduling
 
3 process scheduling
3 process scheduling3 process scheduling
3 process scheduling
 
What is Database Backup? The 3 Important Recovery Techniques from transaction...
What is Database Backup? The 3 Important Recovery Techniques from transaction...What is Database Backup? The 3 Important Recovery Techniques from transaction...
What is Database Backup? The 3 Important Recovery Techniques from transaction...
 
Main memory operating system
Main memory   operating systemMain memory   operating system
Main memory operating system
 
Process scheduling
Process schedulingProcess scheduling
Process scheduling
 
first come first serve scheduling in os
first come first serve scheduling in os first come first serve scheduling in os
first come first serve scheduling in os
 
Comparative analysis of the essential CPU scheduling algorithms
Comparative analysis of the essential CPU scheduling algorithmsComparative analysis of the essential CPU scheduling algorithms
Comparative analysis of the essential CPU scheduling algorithms
 
[Altibase] 13 backup and recovery
[Altibase] 13 backup and recovery[Altibase] 13 backup and recovery
[Altibase] 13 backup and recovery
 
[Altibase] 12 replication part5 (optimization and monitoring)
[Altibase] 12 replication part5 (optimization and monitoring)[Altibase] 12 replication part5 (optimization and monitoring)
[Altibase] 12 replication part5 (optimization and monitoring)
 
Chapter19
Chapter19Chapter19
Chapter19
 
[Altibase] 10 replication part3 (system design)
[Altibase] 10 replication part3 (system design)[Altibase] 10 replication part3 (system design)
[Altibase] 10 replication part3 (system design)
 
Supporting Time-Sensitive Applications on a Commodity OS
Supporting Time-Sensitive Applications on a Commodity OSSupporting Time-Sensitive Applications on a Commodity OS
Supporting Time-Sensitive Applications on a Commodity OS
 
Chapter 10 Operating Systems silberschatz
Chapter 10 Operating Systems silberschatzChapter 10 Operating Systems silberschatz
Chapter 10 Operating Systems silberschatz
 
Database recovery techniques
Database recovery techniquesDatabase recovery techniques
Database recovery techniques
 
Demand paging
Demand pagingDemand paging
Demand paging
 
CSI-503 - 9. Virtual Memory
CSI-503 - 9. Virtual MemoryCSI-503 - 9. Virtual Memory
CSI-503 - 9. Virtual Memory
 
Ch6
Ch6Ch6
Ch6
 
Progress OE performance management
Progress OE performance managementProgress OE performance management
Progress OE performance management
 
Operating System
Operating SystemOperating System
Operating System
 

Andere mochten auch

Evaluation Q4- Use of Technology
Evaluation Q4- Use of TechnologyEvaluation Q4- Use of Technology
Evaluation Q4- Use of Technologyabcdsmile
 
The Use of Behavioural Economics to Encourage First-Year Completion and Reten...
The Use of Behavioural Economics to Encourage First-Year Completion and Reten...The Use of Behavioural Economics to Encourage First-Year Completion and Reten...
The Use of Behavioural Economics to Encourage First-Year Completion and Reten...Damian T. Gordon
 
Usability, Accessibility, and Design Evaluation
Usability, Accessibility, and Design EvaluationUsability, Accessibility, and Design Evaluation
Usability, Accessibility, and Design EvaluationDamian T. Gordon
 
Python: Third-Party Libraries
Python: Third-Party LibrariesPython: Third-Party Libraries
Python: Third-Party LibrariesDamian T. Gordon
 
Python: The Iterator Pattern (Comprehensions)
Python: The Iterator Pattern (Comprehensions)Python: The Iterator Pattern (Comprehensions)
Python: The Iterator Pattern (Comprehensions)Damian T. Gordon
 
Learning Styles for Virtual Learning Environments
Learning Styles for Virtual Learning EnvironmentsLearning Styles for Virtual Learning Environments
Learning Styles for Virtual Learning EnvironmentsDamian T. Gordon
 
Concepts from Random Words
Concepts from Random WordsConcepts from Random Words
Concepts from Random WordsDamian T. Gordon
 
Writing a Databases Research Paper
Writing a Databases Research PaperWriting a Databases Research Paper
Writing a Databases Research PaperDamian T. Gordon
 
Universal Design for Learning: Diverse Learners
Universal Design for Learning: Diverse LearnersUniversal Design for Learning: Diverse Learners
Universal Design for Learning: Diverse LearnersDamian T. Gordon
 
Evacuation during The Blitz - in the 6 Hats style
Evacuation during The Blitz - in the 6 Hats styleEvacuation during The Blitz - in the 6 Hats style
Evacuation during The Blitz - in the 6 Hats styleDamian T. Gordon
 
Diagrams of the 2009 Claremont Report
Diagrams of the 2009 Claremont ReportDiagrams of the 2009 Claremont Report
Diagrams of the 2009 Claremont ReportDamian T. Gordon
 
Hackers and Hollywood: Extended scene 1
Hackers and Hollywood: Extended scene 1Hackers and Hollywood: Extended scene 1
Hackers and Hollywood: Extended scene 1Damian T. Gordon
 

Andere mochten auch (20)

Evaluation Q4- Use of Technology
Evaluation Q4- Use of TechnologyEvaluation Q4- Use of Technology
Evaluation Q4- Use of Technology
 
The Use of Behavioural Economics to Encourage First-Year Completion and Reten...
The Use of Behavioural Economics to Encourage First-Year Completion and Reten...The Use of Behavioural Economics to Encourage First-Year Completion and Reten...
The Use of Behavioural Economics to Encourage First-Year Completion and Reten...
 
Usability, Accessibility, and Design Evaluation
Usability, Accessibility, and Design EvaluationUsability, Accessibility, and Design Evaluation
Usability, Accessibility, and Design Evaluation
 
Python: Third-Party Libraries
Python: Third-Party LibrariesPython: Third-Party Libraries
Python: Third-Party Libraries
 
Python: The Iterator Pattern (Comprehensions)
Python: The Iterator Pattern (Comprehensions)Python: The Iterator Pattern (Comprehensions)
Python: The Iterator Pattern (Comprehensions)
 
Learning Styles for Virtual Learning Environments
Learning Styles for Virtual Learning EnvironmentsLearning Styles for Virtual Learning Environments
Learning Styles for Virtual Learning Environments
 
Concepts from Random Words
Concepts from Random WordsConcepts from Random Words
Concepts from Random Words
 
Object-Orientated Design
Object-Orientated DesignObject-Orientated Design
Object-Orientated Design
 
Python: Manager Objects
Python: Manager ObjectsPython: Manager Objects
Python: Manager Objects
 
The Only Way is Ethics
The Only Way is EthicsThe Only Way is Ethics
The Only Way is Ethics
 
Writing a Databases Research Paper
Writing a Databases Research PaperWriting a Databases Research Paper
Writing a Databases Research Paper
 
Interviews FAQ
Interviews FAQInterviews FAQ
Interviews FAQ
 
Case Study Questions
Case Study QuestionsCase Study Questions
Case Study Questions
 
Universal Design for Learning: Diverse Learners
Universal Design for Learning: Diverse LearnersUniversal Design for Learning: Diverse Learners
Universal Design for Learning: Diverse Learners
 
Evacuation during The Blitz - in the 6 Hats style
Evacuation during The Blitz - in the 6 Hats styleEvacuation during The Blitz - in the 6 Hats style
Evacuation during The Blitz - in the 6 Hats style
 
Python: Polymorphism
Python: PolymorphismPython: Polymorphism
Python: Polymorphism
 
The 3M Way
The 3M WayThe 3M Way
The 3M Way
 
Diagrams of the 2009 Claremont Report
Diagrams of the 2009 Claremont ReportDiagrams of the 2009 Claremont Report
Diagrams of the 2009 Claremont Report
 
Hackers and Hollywood: Extended scene 1
Hackers and Hollywood: Extended scene 1Hackers and Hollywood: Extended scene 1
Hackers and Hollywood: Extended scene 1
 
Why do we teach?
Why do we teach?Why do we teach?
Why do we teach?
 

Ähnlich wie Operating Systems - Memory Management

Operating Systems: Revision
Operating Systems: RevisionOperating Systems: Revision
Operating Systems: RevisionDamian T. Gordon
 
Adobe AEM Maintenance - Customer Care Office Hours
Adobe AEM Maintenance - Customer Care Office HoursAdobe AEM Maintenance - Customer Care Office Hours
Adobe AEM Maintenance - Customer Care Office HoursAndrew Khoury
 
Operating Systems - Virtual Memory
Operating Systems - Virtual MemoryOperating Systems - Virtual Memory
Operating Systems - Virtual MemoryDamian T. Gordon
 
How To Make System Work Faster
How To Make System Work FasterHow To Make System Work Faster
How To Make System Work FasterGaurav bhatnagar
 
memory-management-early-systems in BS INFORMATION TECHNOLOGY
memory-management-early-systems in BS INFORMATION TECHNOLOGYmemory-management-early-systems in BS INFORMATION TECHNOLOGY
memory-management-early-systems in BS INFORMATION TECHNOLOGYSyvilMaeTapinit
 
Tales from the Field
Tales from the FieldTales from the Field
Tales from the FieldMongoDB
 
PostgreSQL WAL for DBAs
PostgreSQL WAL for DBAs PostgreSQL WAL for DBAs
PostgreSQL WAL for DBAs PGConf APAC
 
Placement AlgorithmIt decides which program to load into the memo.pdf
Placement AlgorithmIt decides which program to load into the memo.pdfPlacement AlgorithmIt decides which program to load into the memo.pdf
Placement AlgorithmIt decides which program to load into the memo.pdfaryan9007
 
GLOC 2014 NEOOUG - Oracle Database 12c New Features
GLOC 2014 NEOOUG - Oracle Database 12c New FeaturesGLOC 2014 NEOOUG - Oracle Database 12c New Features
GLOC 2014 NEOOUG - Oracle Database 12c New FeaturesBiju Thomas
 
Distributed System explained (with Java Microservices)
Distributed System explained (with Java Microservices)Distributed System explained (with Java Microservices)
Distributed System explained (with Java Microservices)Mario Romano
 
Javascript TDD with Jasmine, Karma, and Gulp
Javascript TDD with Jasmine, Karma, and GulpJavascript TDD with Jasmine, Karma, and Gulp
Javascript TDD with Jasmine, Karma, and GulpAll Things Open
 
Hdlogger project 2014.Aug
Hdlogger project 2014.AugHdlogger project 2014.Aug
Hdlogger project 2014.Aug捷恩 蔡
 
3 Flink Mistakes We Made So You Won't Have To
3 Flink Mistakes We Made So You Won't Have To3 Flink Mistakes We Made So You Won't Have To
3 Flink Mistakes We Made So You Won't Have ToHostedbyConfluent
 
Oracle中加速索引创建或重建的方法
Oracle中加速索引创建或重建的方法Oracle中加速索引创建或重建的方法
Oracle中加速索引创建或重建的方法maclean liu
 
Microsoft kafka load imbalance
Microsoft   kafka load imbalanceMicrosoft   kafka load imbalance
Microsoft kafka load imbalanceNitin Kumar
 
Testing Persistent Storage Performance in Kubernetes with Sherlock
Testing Persistent Storage Performance in Kubernetes with SherlockTesting Persistent Storage Performance in Kubernetes with Sherlock
Testing Persistent Storage Performance in Kubernetes with SherlockScyllaDB
 

Ähnlich wie Operating Systems - Memory Management (20)

Operating Systems: Revision
Operating Systems: RevisionOperating Systems: Revision
Operating Systems: Revision
 
Adobe AEM Maintenance - Customer Care Office Hours
Adobe AEM Maintenance - Customer Care Office HoursAdobe AEM Maintenance - Customer Care Office Hours
Adobe AEM Maintenance - Customer Care Office Hours
 
Operating Systems - Virtual Memory
Operating Systems - Virtual MemoryOperating Systems - Virtual Memory
Operating Systems - Virtual Memory
 
How To Make System Work Faster
How To Make System Work FasterHow To Make System Work Faster
How To Make System Work Faster
 
vBACD - Introduction to Opscode Chef - 2/29
vBACD - Introduction to Opscode Chef - 2/29vBACD - Introduction to Opscode Chef - 2/29
vBACD - Introduction to Opscode Chef - 2/29
 
memory-management-early-systems in BS INFORMATION TECHNOLOGY
memory-management-early-systems in BS INFORMATION TECHNOLOGYmemory-management-early-systems in BS INFORMATION TECHNOLOGY
memory-management-early-systems in BS INFORMATION TECHNOLOGY
 
memory mgmt.ppt
memory mgmt.pptmemory mgmt.ppt
memory mgmt.ppt
 
Contiguous
ContiguousContiguous
Contiguous
 
Autoextend
AutoextendAutoextend
Autoextend
 
Tales from the Field
Tales from the FieldTales from the Field
Tales from the Field
 
PostgreSQL WAL for DBAs
PostgreSQL WAL for DBAs PostgreSQL WAL for DBAs
PostgreSQL WAL for DBAs
 
Placement AlgorithmIt decides which program to load into the memo.pdf
Placement AlgorithmIt decides which program to load into the memo.pdfPlacement AlgorithmIt decides which program to load into the memo.pdf
Placement AlgorithmIt decides which program to load into the memo.pdf
 
GLOC 2014 NEOOUG - Oracle Database 12c New Features
GLOC 2014 NEOOUG - Oracle Database 12c New FeaturesGLOC 2014 NEOOUG - Oracle Database 12c New Features
GLOC 2014 NEOOUG - Oracle Database 12c New Features
 
Distributed System explained (with Java Microservices)
Distributed System explained (with Java Microservices)Distributed System explained (with Java Microservices)
Distributed System explained (with Java Microservices)
 
Javascript TDD with Jasmine, Karma, and Gulp
Javascript TDD with Jasmine, Karma, and GulpJavascript TDD with Jasmine, Karma, and Gulp
Javascript TDD with Jasmine, Karma, and Gulp
 
Hdlogger project 2014.Aug
Hdlogger project 2014.AugHdlogger project 2014.Aug
Hdlogger project 2014.Aug
 
3 Flink Mistakes We Made So You Won't Have To
3 Flink Mistakes We Made So You Won't Have To3 Flink Mistakes We Made So You Won't Have To
3 Flink Mistakes We Made So You Won't Have To
 
Oracle中加速索引创建或重建的方法
Oracle中加速索引创建或重建的方法Oracle中加速索引创建或重建的方法
Oracle中加速索引创建或重建的方法
 
Microsoft kafka load imbalance
Microsoft   kafka load imbalanceMicrosoft   kafka load imbalance
Microsoft kafka load imbalance
 
Testing Persistent Storage Performance in Kubernetes with Sherlock
Testing Persistent Storage Performance in Kubernetes with SherlockTesting Persistent Storage Performance in Kubernetes with Sherlock
Testing Persistent Storage Performance in Kubernetes with Sherlock
 

Mehr von Damian T. Gordon

Universal Design for Learning, Co-Designing with Students.
Universal Design for Learning, Co-Designing with Students.Universal Design for Learning, Co-Designing with Students.
Universal Design for Learning, Co-Designing with Students.Damian T. Gordon
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to MicroservicesDamian T. Gordon
 
Introduction to Cloud Computing
Introduction to Cloud ComputingIntroduction to Cloud Computing
Introduction to Cloud ComputingDamian T. Gordon
 
Evaluating Teaching: SECTIONS
Evaluating Teaching: SECTIONSEvaluating Teaching: SECTIONS
Evaluating Teaching: SECTIONSDamian T. Gordon
 
Evaluating Teaching: MERLOT
Evaluating Teaching: MERLOTEvaluating Teaching: MERLOT
Evaluating Teaching: MERLOTDamian T. Gordon
 
Evaluating Teaching: Anstey and Watson Rubric
Evaluating Teaching: Anstey and Watson RubricEvaluating Teaching: Anstey and Watson Rubric
Evaluating Teaching: Anstey and Watson RubricDamian T. Gordon
 
Designing Teaching: Pause Procedure
Designing Teaching: Pause ProcedureDesigning Teaching: Pause Procedure
Designing Teaching: Pause ProcedureDamian T. Gordon
 
Designing Teaching: ASSURE
Designing Teaching: ASSUREDesigning Teaching: ASSURE
Designing Teaching: ASSUREDamian T. Gordon
 
Designing Teaching: Laurilliard's Learning Types
Designing Teaching: Laurilliard's Learning TypesDesigning Teaching: Laurilliard's Learning Types
Designing Teaching: Laurilliard's Learning TypesDamian T. Gordon
 
Designing Teaching: Gagne's Nine Events of Instruction
Designing Teaching: Gagne's Nine Events of InstructionDesigning Teaching: Gagne's Nine Events of Instruction
Designing Teaching: Gagne's Nine Events of InstructionDamian T. Gordon
 
Designing Teaching: Elaboration Theory
Designing Teaching: Elaboration TheoryDesigning Teaching: Elaboration Theory
Designing Teaching: Elaboration TheoryDamian T. Gordon
 
Universally Designed Learning Spaces: Some Considerations
Universally Designed Learning Spaces: Some ConsiderationsUniversally Designed Learning Spaces: Some Considerations
Universally Designed Learning Spaces: Some ConsiderationsDamian T. Gordon
 

Mehr von Damian T. Gordon (20)

Universal Design for Learning, Co-Designing with Students.
Universal Design for Learning, Co-Designing with Students.Universal Design for Learning, Co-Designing with Students.
Universal Design for Learning, Co-Designing with Students.
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
REST and RESTful Services
REST and RESTful ServicesREST and RESTful Services
REST and RESTful Services
 
Serverless Computing
Serverless ComputingServerless Computing
Serverless Computing
 
Cloud Identity Management
Cloud Identity ManagementCloud Identity Management
Cloud Identity Management
 
Containers and Docker
Containers and DockerContainers and Docker
Containers and Docker
 
Introduction to Cloud Computing
Introduction to Cloud ComputingIntroduction to Cloud Computing
Introduction to Cloud Computing
 
Introduction to ChatGPT
Introduction to ChatGPTIntroduction to ChatGPT
Introduction to ChatGPT
 
How to Argue Logically
How to Argue LogicallyHow to Argue Logically
How to Argue Logically
 
Evaluating Teaching: SECTIONS
Evaluating Teaching: SECTIONSEvaluating Teaching: SECTIONS
Evaluating Teaching: SECTIONS
 
Evaluating Teaching: MERLOT
Evaluating Teaching: MERLOTEvaluating Teaching: MERLOT
Evaluating Teaching: MERLOT
 
Evaluating Teaching: Anstey and Watson Rubric
Evaluating Teaching: Anstey and Watson RubricEvaluating Teaching: Anstey and Watson Rubric
Evaluating Teaching: Anstey and Watson Rubric
 
Evaluating Teaching: LORI
Evaluating Teaching: LORIEvaluating Teaching: LORI
Evaluating Teaching: LORI
 
Designing Teaching: Pause Procedure
Designing Teaching: Pause ProcedureDesigning Teaching: Pause Procedure
Designing Teaching: Pause Procedure
 
Designing Teaching: ADDIE
Designing Teaching: ADDIEDesigning Teaching: ADDIE
Designing Teaching: ADDIE
 
Designing Teaching: ASSURE
Designing Teaching: ASSUREDesigning Teaching: ASSURE
Designing Teaching: ASSURE
 
Designing Teaching: Laurilliard's Learning Types
Designing Teaching: Laurilliard's Learning TypesDesigning Teaching: Laurilliard's Learning Types
Designing Teaching: Laurilliard's Learning Types
 
Designing Teaching: Gagne's Nine Events of Instruction
Designing Teaching: Gagne's Nine Events of InstructionDesigning Teaching: Gagne's Nine Events of Instruction
Designing Teaching: Gagne's Nine Events of Instruction
 
Designing Teaching: Elaboration Theory
Designing Teaching: Elaboration TheoryDesigning Teaching: Elaboration Theory
Designing Teaching: Elaboration Theory
 
Universally Designed Learning Spaces: Some Considerations
Universally Designed Learning Spaces: Some ConsiderationsUniversally Designed Learning Spaces: Some Considerations
Universally Designed Learning Spaces: Some Considerations
 

Kürzlich hochgeladen

Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docxPoojaSen20
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxVishalSingh1417
 
PROCESS RECORDING FORMAT.docx
PROCESS      RECORDING        FORMAT.docxPROCESS      RECORDING        FORMAT.docx
PROCESS RECORDING FORMAT.docxPoojaSen20
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxAreebaZafar22
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...Nguyen Thanh Tu Collection
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17Celine George
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...christianmathematics
 
Making and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfMaking and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfChris Hunter
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfPoh-Sun Goh
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfagholdier
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptxMaritesTamaniVerdade
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhikauryashika82
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxheathfieldcps1
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxnegromaestrong
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxDenish Jangid
 

Kürzlich hochgeladen (20)

Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docx
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptx
 
PROCESS RECORDING FORMAT.docx
PROCESS      RECORDING        FORMAT.docxPROCESS      RECORDING        FORMAT.docx
PROCESS RECORDING FORMAT.docx
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
Making and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfMaking and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdf
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 

Operating Systems - Memory Management

  • 2.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 12. HARD DISK (MAIN MEMORY) (SECONDARY MEMORY) 2 CACHE 1 101 Approximate number of clock cycles to access the various elements of the memory hierarchy.
  • 13. HARD DISK (MAIN MEMORY) (SECONDARY MEMORY) 2 CACHE 1 101 103 Approximate number of clock cycles to access the various elements of the memory hierarchy.
  • 14. HARD DISK (MAIN MEMORY) (SECONDARY MEMORY) 2 CACHE 1 101 103 107 Approximate number of clock cycles to access the various elements of the memory hierarchy.
  • 15.  Let’s consider an operating system model with a single user, and how they use memory.
  • 18.  If I create a program: 200K available MAIN MEMORY
  • 19.  If I create a program: PROGRAM 1 200K available MAIN MEMORY
  • 20.  If I create a program:  to be processed, it has to be writen entirely into Main Memory, in contiguous space PROGRAM 1 200K available MAIN MEMORY
  • 22.  If the program is bigger: PROGRAM 1 200K available MAIN MEMORY
  • 23.  If it doesn’t fit in the memory, it’s can’t be processed. 200K available MAIN MEMORY
  • 24.  This is the limitation of all computers, if a program is too big, we have to do one of two things: 1. Get more memory 2. Make the program smaller
  • 25. Store first location of program in the base register (for memory protection); Set Program Counter to the first memory location; Read first instruction of program; WHILE (last instruction reached OR Program Counter is greater than Memory Size) DO Increment the Program Counter; IF (last instruction reached) THEN Stop Loading Program; END IF; IF (Program Counter is greater than Memory Size) THEN Stop Loading Program; END IF; Load instruction into memory; Read next instruction of program; END WHILE;
  • 26.  To allow more than one program to run at the same time, the memory is subdivided into FIXED PARTITIONS.
  • 28. PARTITION 1 PARTITION 2 PARTITION 3 PARTITION 4 PARTITION 5 250K 100K 25K 25K 50K 50K
  • 29.  This leaves us with less memory, but at least more than one user (and their user process) can be logged into the system at the same time.  If we want to adjust the size of the partitions we need to shut down the system, go into the boot login, and then restart.
  • 30. WHILE (there are still jobs in the queue) DO Determine the job’s requested memory size; IF Job size > Size of Largest Partition THEN Reject the Job; PRINT “Job Rejected: Not Enough Memory”; Exit; /* this iteration and get next job */ END IF; MyCounter := 1; WHILE (MyCounter <= Number of Partitions in Memory) DO IF (Job Size > Memory_Partition[Counter].Size THEN MyCounter := MyCounter + 1; ELSE IF (Memory_Partition[Counter].Status == “FREE”; THEN Load job into Memory_Partition[Counter]; Memory_Partition[Counter].Status := “BUSY”; Exit; /* this iteration and get next job */ ELSE MyCounter := MyCounter + 1; END IF; END WHILE; No partition available; put job in waiting queue; END WHILE;
  • 31.  To make this work, the Memory manager needs to keep a Partition Table to remember the status of all the partitions.
  • 32.  To make this work, the Memory manager needs to keep a Partition Table to remember the status of all the partitions. Partition Number Partition Size Memory Address Access Partition Status 1 100K 200K Job1 BUSY 2 25K 300K Job4 BUSY 3 25K 325K FREE 4 50K 350K Job2 BUSY 5 50K 400K FREE
  • 33.  Which looks like this in memory:
  • 34.  Which looks like this in memory: PARTITION 1 PARTITION 2 PARTITION 3 PARTITION 4 PARTITION 5 250K 100K 25K 25K 50K 50K
  • 35.  Let’s add some jobs in:
  • 36.  Let’s add some jobs in: PARTITION 1 PARTITION 2 PARTITION 3 PARTITION 4 PARTITION 5 100K 25K 25K 50K 50K 250K
  • 37.  Let’s add some jobs in: PARTITION 1 PARTITION 2 PARTITION 3 PARTITION 4 PARTITION 5 100K 25K 25K 50K 50K PROGRAM 1 250K
  • 38.  Let’s add some jobs in: PARTITION 1 PARTITION 2 PARTITION 3 PARTITION 4 PARTITION 5 100K 25K 25K 50K 50K PROGRAM 1 PROGRAM 2 250K
  • 39.  Let’s add some jobs in: PARTITION 1 PARTITION 2 PARTITION 3 PARTITION 4 PARTITION 5 100K 25K 25K 50K 50K PROGRAM 1 PROGRAM 2 250K PROGRAM 3
  • 40.  Let’s add some jobs in: PARTITION 1 PARTITION 2 PARTITION 3 PARTITION 4 PARTITION 5 100K 25K 25K 50K 50K PROGRAM 1 PROGRAM 2 PROGRAM 3 250K INTERNAL FRAGMENTATION
  • 41.  Let’s add some jobs in: PARTITION 1 PARTITION 2 PARTITION 3 PARTITION 4 PARTITION 5 100K 25K 25K 50K 50K PROGRAM 1 PROGRAM 2 PROGRAM 3 250K INTERNAL FRAGMENTATION INTERNAL FRAGMENTATION
  • 42.  Let’s add some jobs in: PARTITION 1 PARTITION 2 PARTITION 3 PARTITION 4 PARTITION 5 100K 25K 25K 50K 50K PROGRAM 1 PROGRAM 2 PROGRAM 3 250K INTERNAL FRAGMENTATION INTERNAL FRAGMENTATION EMPTY PARTITION
  • 43.  Let’s add some jobs in: PARTITION 1 PARTITION 2 PARTITION 3 PARTITION 4 PARTITION 5 100K 25K 25K 50K 50K PROGRAM 1 PROGRAM 2 PROGRAM 3 250K INTERNAL FRAGMENTATION INTERNAL FRAGMENTATION EMPTY PARTITION EMPTY PARTITION
  • 44.  Selecting the correct set of partition sizes is a tricky business, too small and larger jobs will be waiting forever to run, too big and there is a lot of wasted space.
  • 45.  An alternative is DYNAMIC PARTITIONS, where a job is given the space it requests, if there is space available for it.  This takes care of lots of problems.
  • 46.  Let’s add some jobs in: MAIN MEMORY 250K
  • 47.  Let’s add some jobs in: MAIN MEMORY 250K PROGRAM 1
  • 48.  Let’s add some jobs in: MAIN MEMORY PROGRAM 1 250K
  • 49.  Let’s add some jobs in: MAIN MEMORY PROGRAM 1 PROGRAM 2 250K
  • 50.  Let’s add some jobs in: MAIN MEMORY PROGRAM 1 PROGRAM 2 250K
  • 51.  Let’s add some jobs in: MAIN MEMORY PROGRAM 1 PROGRAM 2 PROGRAM 3 250K
  • 52.  Let’s add some jobs in: MAIN MEMORY PROGRAM 1 PROGRAM 2 PROGRAM 3250K
  • 53.  Let’s add some jobs in: MAIN MEMORY PROGRAM 1 PROGRAM 2 PROGRAM 3250KPROGRAM 4
  • 54.  Let’s add some jobs in: MAIN MEMORY PROGRAM 1 PROGRAM 2 PROGRAM 3250K PROGRAM 4
  • 55.  Let’s add some jobs in: MAIN MEMORY PROGRAM 1 PROGRAM 2 250K PROGRAM 4 PROGRAM 5 PROGRAM 3
  • 56.  Let’s add some jobs in: MAIN MEMORY PROGRAM 1 PROGRAM 2 250K PROGRAM 4 PROGRAM 5 PROGRAM 3
  • 57.  It isn’t perfect, because the next program will go into the slot that is freed up by a completed job.
  • 58.  Let’s add some jobs in: MAIN MEMORY PROGRAM 1 PROGRAM 2 250K PROGRAM 4 PROGRAM 5 PROGRAM 3
  • 59.  Let’s add some jobs in: MAIN MEMORY PROGRAM 1 PROGRAM 2 250K PROGRAM 4 PROGRAM 5 PROGRAM 3
  • 60.  Let’s add some jobs in: PROGRAM 1 PROGRAM 2 250K PROGRAM 4 PROGRAM 5
  • 61.  Let’s add some jobs in: PROGRAM 1 PROGRAM 2 250K PROGRAM 4 PROGRAM 5
  • 62.  Let’s add some jobs in: PROGRAM 1 PROGRAM 2 250K PROGRAM 4 PROGRAM 5 EXTERNAL FRAGMENTATION
  • 63.  So however we partition, we end up with fragmentation, one way or the other.
  • 64. PROGRAM 1 PROGRAM 2 250K PROGRAM 4 PROGRAM 5 PROGRAM 3
  • 65. PROGRAM 1 PROGRAM 2 250K PROGRAM 4 PROGRAM 5  So how do we decide where to slot in a new job? PROGRAM 3
  • 66.  So how do we decide where to slot in a new job? PROGRAM 1 PROGRAM 2 PROGRAM 3 250K PROGRAM 4 PROGRAM 5 PROGRAM 6
  • 67.  Here is the first slot free PROGRAM 1 PROGRAM 2 PROGRAM 3 250K PROGRAM 4 PROGRAM 5 PROGRAM 6
  • 68.  Here is the first slot free PROGRAM 1 PROGRAM 2 PROGRAM 3 250K PROGRAM 4 PROGRAM 5 PROGRAM 6
  • 69.  But here’s a better fit PROGRAM 1 PROGRAM 2 PROGRAM 3 250K PROGRAM 4 PROGRAM 5 PROGRAM 6
  • 70.  But here’s a better fit PROGRAM 1 PROGRAM 2 PROGRAM 3 250K PROGRAM 4 PROGRAM 5 PROGRAM 6
  • 71.  So we can either add the new block to the first available slot (FIRST-FIT ALGORITHM) or we can add the new block to the most suitable available slot (BEST-FIT ALGORITHM).
  • 72.  If the Memory Manager wants a FIRST-FIT ALGORITHM then it stores a table in order of memory locations.  If the Memory Manager wants a BEST-FIT ALGORITHM then it stores a table in order of size of memory locations. Starts Size Status 200 50 BUSY 250 50 FREE 300 15 BUSY 315 40 FREE 355 25 BUSY Starts Size Status 315 40 FREE 250 50 FREE 300 15 BUSY 355 25 BUSY 315 40 BUSY Starts Size Status
  • 73.  After a job is completed, there are three cases for deallocating space in memory:
  • 74.  1. There are jobs either side of the freed space: PROGRAM 3 PROGRAM 4 PROGRAM 6 PROGRAM 3 PROGRAM 4 PROGRAM 5 PROGRAM 5 PROGRAM 8 PROGRAM 8
  • 75.  2. There are is a job on one side, and it’s free on the other side of the freed space: PROGRAM 3 PROGRAM 6 PROGRAM 3 PROGRAM 5 PROGRAM 5 PROGRAM 8 PROGRAM 8
  • 76.  3. There are no jobs on either side of the freed space: PROGRAM 6 PROGRAM 5 PROGRAM 5 PROGRAM 8 PROGRAM 8
  • 77.  Let’s look at the implications of each of these cases in terms of what the Memory Manager has to do to remember the FREE and BUSY memory spaces.
  • 78.  1. There are jobs either side of the freed space: PROGRAM 3 PROGRAM 4 PROGRAM 6 PROGRAM 3 PROGRAM 4 PROGRAM 5 PROGRAM 5 PROGRAM 8 PROGRAM 8
  • 79.  1. There are jobs either side of the freed space: PROGRAM 3 PROGRAM 4 PROGRAM 6 PROGRAM 3 PROGRAM 4 PROGRAM 5 PROGRAM 5 PROGRAM 8 PROGRAM 8 250-300 315-340 300-315 200-250 355-380 340-355 250-300 315-340 300-315 200-250 355-380 340-355
  • 80.  1. There are jobs either side of the freed space: 250-300 315-340 300-315 200-250 355-380 340-355 250-300 315-340 300-315 200-250 355-380 340-355 Starts Size Status 200 50 BUSY 250 50 BUSY 300 15 BUSY 315 25 BUSY 340 15 FREE 355 25 BUSY Starts Size Status 200 50 BUSY 250 50 BUSY 300 15 FREE 315 25 BUSY 340 15 FREE 355 25 BUSY
  • 81.  2. There are is a job on one side, and it’s free on the other side of the freed space: PROGRAM 3 PROGRAM 6 PROGRAM 3 PROGRAM 5 PROGRAM 5 PROGRAM 8 PROGRAM 8
  • 82.  2. There are is a job on one side, and it’s free on the other side of the freed space: PROGRAM 3 PROGRAM 6 PROGRAM 3 PROGRAM 5 PROGRAM 5 PROGRAM 8 PROGRAM 8 250-300 300-315 200-250 355-380 315-355 250-300 200-250 355-380 300-355
  • 83.  2. There are is a job on one side, and it’s free on the other side of the freed space: 250-300 300-315 200-250 355-380 315-355 250-300 200-250 355-380 300-355 Starts Size Status 200 50 BUSY 250 50 BUSY 300 15 BUSY 315 40 FREE 355 25 BUSY Starts Size Status 200 50 BUSY 250 50 BUSY 300 15 FREE 315 40 FREE 355 25 BUSY
  • 84.  2. There are is a job on one side, and it’s free on the other side of the freed space: Starts Size Status 200 50 BUSY 250 50 BUSY 300 15 BUSY 315 40 FREE 355 25 BUSY Starts Size Status 200 50 BUSY 250 50 BUSY 300 15 FREE 315 40 FREE 355 25 BUSY
  • 85.  2. There are is a job on one side, and it’s free on the other side of the freed space: Starts Size Status 200 50 BUSY 250 50 BUSY 300 15 BUSY 315 40 FREE 355 25 BUSY Starts Size Status 200 50 BUSY 250 50 BUSY 300 15 FREE 315 40 FREE 355 25 BUSY Starts Size Status 200 50 BUSY 250 50 BUSY 300 55 FREE 355 25 BUSY
  • 86.  3. There are no jobs on either side of the freed space: PROGRAM 6 PROGRAM 5 PROGRAM 5 PROGRAM 8 PROGRAM 8
  • 87.  3. There are no jobs on either side of the freed space: PROGRAM 6 PROGRAM 5 PROGRAM 5 PROGRAM 8 PROGRAM 8 250-300 300-315 200-250 355-380 315-355 250-355 200-250 355-380
  • 88.  3. There are no jobs on either side of the freed space: 250-300 300-315 200-250 355-380 315-355 250-355 200-250 355-380 Starts Size Status 200 50 BUSY 250 50 FREE 300 15 BUSY 315 40 FREE 355 25 BUSY Starts Size Status 200 50 BUSY 250 50 FREE 300 15 FREE 315 40 FREE 355 25 BUSY
  • 89.  3. There are no jobs on either side of the freed space: Starts Size Status 200 50 BUSY 250 50 FREE 300 15 BUSY 315 40 FREE 355 25 BUSY Starts Size Status 200 50 BUSY 250 50 FREE 300 15 FREE 315 40 FREE 355 25 BUSY
  • 90.  3. There are no jobs on either side of the freed space: Starts Size Status 200 50 BUSY 250 50 FREE 300 15 BUSY 315 40 FREE 355 25 BUSY Starts Size Status 200 50 BUSY 250 50 FREE 300 15 FREE 315 40 FREE 355 25 BUSY Starts Size Status 200 50 BUSY 250 105 FREE 355 25 BUSY