FE-Logo
  • Home
  • Study Material
  • Computer System and Operating System Overview and Process management
    • Overview of computer operating systems
    • Computer System Organization
    • Operating System Structure
    • Distributed system
    • Operating System services
    • System Calls
    • System Programs
    • Operating System Generation
    • Operating-System Services
    • Operating-System Interface
    • Process Management
    • Process Control Block
    • Schedulers
    • Context switch
    • Operations on Processes
    • Interprocess Communication
    • Remote Procedure Calls
    • Remote method invocation

  • CPU SchedulingSynchronization Deadlocks and Threads
    • Threads
    • Multithreading Models
    • Thread Libraries
    • Threading Issues
    • CPU scheduling
    • Scheduling Criteria
    • Scheduling Algorithms
    • Multiple-Processor Scheduling
    • Symmetric Multithreading
    • Thread Scheduling
    • Solaris Scheduling
    • Windows XP Scheduling
    • Linux Scheduling
    • Algorithm Evaluation
    • Process Synchronization
    • The Critical Section Problem
    • Synchronization Hardware
    • Semaphores
    • Classic problems of synchronization
    • Monitors
    • Atomic Transactions
    • Deadlocks
    • Deadlock Characterization
    • Methods for handling deadlocks
    • Deadlock Prevention
    • Deadlock Avoidance
    • Banker's algorithm
    • Deadlock Detection
    • Recovery from Deadlock

  • Memory Mangement strategies,Virtual memory and File Concept
    • Memory Management Strategies
    • Address Binding
    • Logical versus Physical Address Space
    • Dynamic Linking and Loading
    • Swapping
    • Contiguous Memory Allocation
    • Fragmentation
    • Paging
    • Hardware Support in paging
    • Shared Pages
    • Segmentation
    • Virtual memory
    • System libraries
    • Demand Paging
    • Copy-on-Write
    • Page Replacement
    • FIFO Page Replacement
    • Optimal Page Replacement
    • LRU Page Replacement
    • Enhanced Second-Chance Algorithm
    • Allocation of Frames
    • Thrashing
    • Working-Set Model
    • Page-Fault Frequency
    • Memory-Mapped Files
    • Shared Memory in the Win32 API
    • Allocating Kernel Memory
    • File Concept
    • File Operations
    • File Types
    • Directory Structure
    • Directory
    • File System Mounting
    • File System Structure
    • File System Implementation
    • Directory Implementation
    • Free Space Management
    • Recovery
    • Log-Structured File Systems
    • Network file systems
    • Network file systems protocol

  • Mass-Storage Structure and IO Systems
    • Magnetic Disks
    • Disk Structure
    • Disk Attachment
    • Disk Scheduling
    • Disk Management
    • Boot Block
    • Bad Blocks
    • Swap-Space Management
    • I/O Systems
    • Polling
    • Direct Memory Access
    • Application I/O Interface
    • Kernel I/O Subsystem
    • Transforming I/O Requests to Hardware Operations
    • Streams
    • Performance

  • Protection and Security
    • Protection
    • Access Matrix
    • Implementation of Access Matrix
    • Access Control
    • Language-Based Protection
    • The Security Problem
    • Malicious codes
    • System and Network Threats
    • Cryptography as a Security Tool
    • Authentication
    • Key Distribution
    • User Authentication

  • Distributed System Structures
    • Distributed System Structures
    • Types of Distributed Operating Systems
    • Distributed Operating Systems
    • Network Structure
    • Network Topology
    • Communication Protocols
    • Robustness

Branch : Electronics and Communication Engineering
Subject : Operating systems
Unit : Memory Mangement strategies,Virtual memory and File Concept

Address Binding


Introduction:-A program resides on a disk a binary executable file. To be executed, the program must be brought into memory and placed within a process. The processes on the disk that are waiting to be brought into memory for execution form the input queue.

One process from the input queue is selected and loaded into memory. As the process is executed, it accesses instructions and data from memory. Later the process terminates and its memory space is declared available.

A user program goes through the following the steps before getting executed. Addresses may be represented in different ways during these steps.

The binding of instructions and data to memory addresses can be done at:

Compile time – If you know at compile time, where the process will reside in memory, then absolute code can be generated.

 Load time – If it is not known at compile time where the process will reside in memory, then the compiler must generate relocatable code. Final binding is delayed until load time.

Execution time – If the process can be moved during its execution from one memory segment to another, then binding must be delayed until run time.

Questions of this topic


Ask your question

<
>