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 plate and gadgets (later in term) â€? The total working condition of a procedure as well as portion is de? ned by its information in memory (and registers) â€? Thusly, 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 territory to: â€? Present as much memory as in the least expensive innovation â€? Give access at speed o? ered by th e 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 legitimately to registers and principle memory â€? Register access in one CPU clock (or less) â€? Principle memory can take numerous cycles †¢? Store sits between principle 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 straightforward implementa. on is through base and cutoff registers Mulâ€â ­? stepProcessi ng of a Program for Execu-on †¢? Prepara-on of a program for execu-on includes segments at: †¢? Addresses can be bound to ?nal values anyplace in this way †¢? Dynamic Libraries â€? Arrange - me (I. e. â€Å"gcc†) â€? Connection/Load - me (unix â€Å"ld† does interface) â€? Execu-on - me (e. g. dynamic libs) â€? Relies upon equipment support â€? Likewise relies upon drama ng framework â€? Connecting delayed un-l execu-on â€? Little bit of code, stub, used to find the proper memory- ­? occupant 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 preparing of the program summons †¢? The proper u-lity (the square shape) †¢? Creates the necessary module at each progression (the circle) †¢? Essentially, it is abo ut tie †address mapping. Authoritative of Instruc9ons and Data to Memory †¢? Address authoritative of instruc-ons and information to memory locations can occur at three di? erent stages â€? Gather 9me: If memory loca-on known from the earlier, outright code can be produced; must recompile code if star-ng loca-on changes â€? Burden 9me: Must produce relocatable tribute if memory loca-on isn't known at arrange - me â€? Execu9on 9me: Binding deferred un-l run - me if the procedure can be moved during its execu-on starting with one memory portion then onto the next. Need equipment support for address maps (e. g. , base and cutoff registers) †¢? Controlled cover: †¢? Address Type: â€? Separate condition of strings ought not crash in physical memory. Clearly, sudden cover causes disorder! â€? On the other hand, might want the capacity to cover when wanted (for communica-on) â€? A physical (outright) address is a physical loca-on in fundamental memory. â€? A consistent (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 consistent locations. â€? A rela-ve address is a case of consistent 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 decipher 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 keep 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 uncommon conduct (Read Only, Invisible to client programs, and so forth). †¢? Portion information shielded from User programs †¢? Projects shielded from themselves Base and Limit Registers †¢? Each procedure has a different memory space (coherent/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 portion  »? Gets to are rela9ve to section so don’t must be moved 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 important Mul-programming †¢? Issue: Run mul-ple app lica-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 lumps of memory into self-assertive places in clients address space †¢? Not constrained to modest number of portions †¢? Think about this as giving an enormous number (a large number of) ?xed- ­? measured fragments (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.