Wednesday, August 26, 2020

Memory Management Strategies

ITCS 343 Opera-ng System Principles Memory Management Strategies Virtualizing Resources †¢? Physical Reality: Di? erent Processes/Threads share a similar equipment â€? Need to mul-plex CPU (Just ?nished: planning) â€? Need to mul-plex utilization of Memory (Today) â€? Need to mul-plex circle and gadgets (later in term) â€? The total working condition of a procedure as well as part is de? ned by its information in memory (and registers) â€? Subsequently, can't simply let di? erent strings of control utilize a similar memory â€? Presumably don’t need di? erent strings to try and approach each other’s memory (protec-on) †¢?Physics: two di? erent bits of information can't possess the equivalent loca-ons in memory †¢? Why stress over memory sharing? Memory Hierarchy of a Modern Computer System †¢? Exploit the standard of region to: â€? Present as much memory as in the least expensive innovation â€? Give access at speed o? ered by t he quickest innovation Processor Control Second Level Cache (SRAM) Main Memory (DRAM) Secondary Storage (Disk) Tertiary Storage (Tape) On-Chip Cache Registers 1s 100s Datapath Speed (ns): Size (bytes): 10s- ­? 100s Ks- ­? Ms 100s Ms 10,000,000s 10,000,000,000s (10s ms) (10s sec) Gs Ts Background ? Program must be brought (from plate) into memory and set inside a procedure for it to be run †¢? CPU can get to straightforwardly to registers and primary memory â€? Register access in one CPU clock (or less) â€? Principle memory can take numerous cycles †¢? Store sits between fundamental memory and CPU registers -  ­? to lessen CPU inactive .me and make the accessible information quicker to get to. †¢? Protec-on of memory guarantees right show on â€? to secure the show. ng framework from access by client forms and, â€? to shield client forms from each other. â€? One basic implementa. on is through base and cutoff registers Mulâ€â ­? stepProcessing o f a Program for Execu-on †¢? Prepara-on of a program for execu-on includes parts at: †¢? Addresses can be bound to ?nal values anyplace in this way †¢? Dynamic Libraries â€? Order - me (I. e. â€Å"gcc†) â€? Connection/Load - me (unix â€Å"ld† does interface) â€? Execu-on - me (e. g. dynamic libs) â€? Relies upon equipment support â€? Additionally relies upon show ng framework â€? Connecting deferred un-l execu-on â€? Little bit of code, stub, used to find the fitting memory- ­? inhabitant library rou-ne â€? Stub replaces itself with the location of the rou-ne, and executes rou-ne Mulâ€â ­? step Processing of a Program or Execu-on †¢? Client programs experience a few stages before having the option to run. †¢? This mulâ€â ­? step handling of the program summons †¢? The proper u-lity (the square shape) †¢? Creates the necessary module at each progression (the circle) †¢? Fundamentally, it is abou t tie †address mapping. Authoritative of Instruc9ons and Data to Memory †¢? Address official of instruc-ons and information to memory locations can occur at three di? erent stages â€? Aggregate 9me: If memory loca-on known from the earlier, total code can be created; must recompile code if star-ng loca-on changes â€? Burden 9me: Must create relocatable tribute if memory loca-on isn't known at aggregate - me â€? Execu9on 9me: Binding postponed un-l run - me if the procedure can be moved during its execu-on starting with one memory section then onto the next. Need equipment support for address maps (e. g. , base and breaking point registers) †¢? Controlled cover: †¢? Address Type: â€? Separate condition of strings ought not crash in physical memory. Clearly, sudden cover causes mayhem! â€? On the other hand, might want the capacity to cover when wanted (for communica-on) â€? A physical (supreme) address is a physical loca-on in fundamental memory. â€? A coherent (virtual) address is an eference to a memory loca-on that is autonomous of the physical organiza-on of memory. â€? All memory references in client process are intelligent locations. â€? A rela-ve address is a case of intelligent location where the location is communicated as a loca-on rela-ve to some known point in the program (ex: the starting location). †¢? Transla-on: †¢? Protec-on: â€? Capacity to interpret gets to from one location space (virtual) to a di? erent one (physical) â€? When transla-on exists, processor utilizes virtual locations, physical memory utilizes physical locations â€? Side e? ects: Can be utilized to stay away from overlap,Can be utilized to give uniform perspective on memory to programs â€? Forestall access to private memory of different procedures †¢? Di? erent pages of memory can be given exceptional conduct (Read Only, Invisible to client programs, and so on). †¢? Piece information shielded from U ser programs †¢? Projects shielded from themselves Base and Limit Registers †¢? Each procedure has a different memory space (legitimate/client address space). †¢? A couple of base and cutoff registers de? ne the intelligent location space â€? base register holds the littlest lawful physical location â€? limit register speci? es the size of the scope of a procedure †¢? Could se base/limit for dynamic location transla9on (oBen called â€Å"segmenta9on†): â€? Adjust address of each heap/store by including â€Å"base† â€? Client permitted to peruse/compose inside section  »? Gets to are rela9ve to fragment so don’t must be migrated when program moved to di? erent section â€? Client may have mul9ple fragments accessible (e. g x86)  »? Loads and stores incorporate fragment ID in opcode: x86 Example: mov [es:bx],ax.  »? Opera9ng framework moves around fragment base pointers as fundamental Mul-programming †¢? Issue: Run mul- ple applica-ons so that they are shielded from each other †¢? Objectives: â€?Isolate procedures and piece from each other â€? Permit ?exible transla-on that: †¢? Doesn’t lead to fragmenta-on †¢? Permits simple sharing between forms †¢? Permits just piece of procedure to be occupant in physical memory †¢? (A portion of the required) Hardware Mechanisms: â€? General Address Transla-on â€? Double Mode Opera-on †¢? Adaptable: Can ?t physical pieces of memory into subjective places in clients address space †¢? Not constrained to modest number of fragments †¢? Think about this as giving an enormous number (a large number of) ?xed- ­? estimated portions (called â€Å"pages†) †¢? Protec-on base including piece/client dis-nc-on

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.