The document discusses Solaris memory management. It describes Solaris' memory architecture including backing store, virtual memory system, and process memory allocation. It then discusses Solaris' memory management techniques, including swapping and demand paging. Demand paging loads pages of memory on demand to lower memory footprint and startup time, while swapping is used as a last resort. Memory is shared between processes and protected via virtual memory and page protections.
Memory management is the act of managing computer memory. The essential requirement of memory management is to provide ways to dynamically allocate portions of memory to programs at their request, and free it for reuse when no longer needed. This is critical to any advanced computer system where more than a single process might be underway at any time
Linux Memory Management
1.Memory Structure of Linux OS.
2.How Program is loaded into the memory.
3.Address Translation.
4.Feature for Multithreading and Multiprocessing.
This ppt covers different aspects about timing issues and various algorithms involved in having better sync between different systems in a distributed environment
Memory management is the act of managing computer memory. The essential requirement of memory management is to provide ways to dynamically allocate portions of memory to programs at their request, and free it for reuse when no longer needed. This is critical to any advanced computer system where more than a single process might be underway at any time
Linux Memory Management
1.Memory Structure of Linux OS.
2.How Program is loaded into the memory.
3.Address Translation.
4.Feature for Multithreading and Multiprocessing.
This ppt covers different aspects about timing issues and various algorithms involved in having better sync between different systems in a distributed environment
Summary
Highest grade security
Award – winning OS reliability
Guaranteed compatibility
Largest enterprise application offering
Throughput Computing leadership
Flexibility with #1 Unix OS and Linux
Innovation , safety , agility , and value
a glance on memory management in operating system.
this note is useful for those who are keen to know about how the OS works and a brief explanation regarding several terms such
-paging
segmentation
fragmentation
virtual memory
page table
to A Level A2 Computing students, this light note may be helpful for your revision
This project includes need of solar power, project set up, analysis on various parameters, management approval & appraisals and other required factors for its installation.
Linux Kernel Booting Process (2) - For NLKBshimosawa
Describes the bootstrapping part in Linux, and related architectural mechanisms and technologies.
This is the part two of the slides, and the succeeding slides may contain the errata for this slide.
Virtual memory is a memory management capability of an OS that uses hardware and software to allow a computer to compensate for physical memory shortages by temporarily transferring data from random access memory (RAM) to disk storage.
Linux Memory Management with CMA (Contiguous Memory Allocator)Pankaj Suryawanshi
Fundamentals of Linux Memory Management and CMA (Contiguous Memory Allocator) In Linux.
Virtual Memory, Physical Memory, Swap Space, DMA, IOMMU, Paging, Segmentation, TLB, Hugepages, Ion google memory manager
Abhaycavirtual memory and the pagehit.pptxwemoji5816
in this ppt we are learning about the concept of the virtual memory incomputer science with the help of which we run large program in less primary memory
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfPeter Spielvogel
Building better applications for business users with SAP Fiori.
• What is SAP Fiori and why it matters to you
• How a better user experience drives measurable business benefits
• How to get started with SAP Fiori today
• How SAP Fiori elements accelerates application development
• How SAP Build Code includes SAP Fiori tools and other generative artificial intelligence capabilities
• How SAP Fiori paves the way for using AI in SAP apps
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
Welcome to the first live UiPath Community Day Dubai! Join us for this unique occasion to meet our local and global UiPath Community and leaders. You will get a full view of the MEA region's automation landscape and the AI Powered automation technology capabilities of UiPath. Also, hosted by our local partners Marc Ellis, you will enjoy a half-day packed with industry insights and automation peers networking.
📕 Curious on our agenda? Wait no more!
10:00 Welcome note - UiPath Community in Dubai
Lovely Sinha, UiPath Community Chapter Leader, UiPath MVPx3, Hyper-automation Consultant, First Abu Dhabi Bank
10:20 A UiPath cross-region MEA overview
Ashraf El Zarka, VP and Managing Director MEA, UiPath
10:35: Customer Success Journey
Deepthi Deepak, Head of Intelligent Automation CoE, First Abu Dhabi Bank
11:15 The UiPath approach to GenAI with our three principles: improve accuracy, supercharge productivity, and automate more
Boris Krumrey, Global VP, Automation Innovation, UiPath
12:15 To discover how Marc Ellis leverages tech-driven solutions in recruitment and managed services.
Brendan Lingam, Director of Sales and Business Development, Marc Ellis
The Metaverse and AI: how can decision-makers harness the Metaverse for their...Jen Stirrup
The Metaverse is popularized in science fiction, and now it is becoming closer to being a part of our daily lives through the use of social media and shopping companies. How can businesses survive in a world where Artificial Intelligence is becoming the present as well as the future of technology, and how does the Metaverse fit into business strategy when futurist ideas are developing into reality at accelerated rates? How do we do this when our data isn't up to scratch? How can we move towards success with our data so we are set up for the Metaverse when it arrives?
How can you help your company evolve, adapt, and succeed using Artificial Intelligence and the Metaverse to stay ahead of the competition? What are the potential issues, complications, and benefits that these technologies could bring to us and our organizations? In this session, Jen Stirrup will explain how to start thinking about these technologies as an organisation.
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™UiPathCommunity
In questo evento online gratuito, organizzato dalla Community Italiana di UiPath, potrai esplorare le nuove funzionalità di Autopilot, il tool che integra l'Intelligenza Artificiale nei processi di sviluppo e utilizzo delle Automazioni.
📕 Vedremo insieme alcuni esempi dell'utilizzo di Autopilot in diversi tool della Suite UiPath:
Autopilot per Studio Web
Autopilot per Studio
Autopilot per Apps
Clipboard AI
GenAI applicata alla Document Understanding
👨🏫👨💻 Speakers:
Stefano Negro, UiPath MVPx3, RPA Tech Lead @ BSP Consultant
Flavio Martinelli, UiPath MVP 2023, Technical Account Manager @UiPath
Andrei Tasca, RPA Solutions Team Lead @NTT Data
Enhancing Performance with Globus and the Science DMZGlobus
ESnet has led the way in helping national facilities—and many other institutions in the research community—configure Science DMZs and troubleshoot network issues to maximize data transfer performance. In this talk we will present a summary of approaches and tips for getting the most out of your network infrastructure using Globus Connect Server.
2. Agenda
Introduction to Solaris
History of solaris
Solaris memory architecture.
Backing store
VM system.
Solaris memory management.
Swapping
Demand paging.
9/3/2012 2
3. Introduction to solaris
Solaris is a Unix operating system originally
developed by Sun Microsystems.
Solaris is known for its scalability especially on
SPARC systems and for originating many
innovative features such as DTrace, ZFS and Time
Slider.
Solaris supports SPARC-based and x-86 based
workstation and servers from Sun and other
vendors.
Solaris has a reputation for being well-suited to
symmetric multiprocessing, supporting a large
number of CPUs.
Programmed in C.
9/3/2012 3
Its source model is Mixed open source/closed
4. History of solaris
In earlier days SunOS is implemented in
uniprocessor workstation.
In 1980’s distributed and network-based computing
became popular, so they went to multiprocessor
system to speedup.
In 1987, AT&T bell and Sun joined together for a
project and developed a new OS by merging the
existing OS.(SunOS,BSD,SVR3,Xenix).
That new OS is named as System V Release 4
(SVR4) and then its name changed as Solaris 2.
Latest version is Solaris 11.
9/3/2012 4
5. Solaris Memory Architecture
Physical memory is divided into fixed-sized pieces
called pages.
The size of the page varies from platform to
platform.
The common size is 8 Kbytes.
Each page is associated with a file and offset.
The file and offset identify the backing store for the
page.
9/3/2012 5
6. Backing store
Backing store is the location to which the physical
page contents will be migrated when that page is
need to be taken for another process.
The pages are migrated to slower medium like disk
and that is called swap space.
The location where the pages are migrated is
called page-out.
When again that pages are needed by the process,
the location from which the pages are read back
again is called page-in.
9/3/2012 6
7. Virtual memory System
Virtual memory system is the core for a Solaris
system.
Why have a Virtual memory System?
It presents simple memory programming model.
It allows process to see linear range of bytes,
regardless of fragmentation of the real memory.
It gives programming model with a larger size than
available physical storage.
9/3/2012 7
8. Jobs of VM System
The job of VM system is to keep the most
frequently referenced portions of memory in
primary storage.
When RAM shortage comes, VM is required to free
the RAM by transfering infrequently used memory
out to the backing store.
By doing so,the VM system optimizes the
performance.
VM system supports multiple users and sharing of
pages and thus provide protection.
9/3/2012 8
9. Process Memory Allocation
A process will have a linear virtual address space.
The linear Virtual address space of a process is
divided into segments like
Executable-text : Executable instructions in
binary form
Executable-Data : Initialized variables in the
executable
Heap space : Memory allocated by malloc()
Process Stack and so on……
9/3/2012 9
12. Virtual memory management unit(MMU)
Solaris kernel breaks the process into segments
and segments into pages.
The hardware MMU maps those pages into
physical memory by using a platform-specific set of
translation tables.
Each entry in the table has the physical address of
the page of the RAM,so that memory access can
be converted on-the-fly in hardware.
9/3/2012 12
14. Solaris Memory Management
Two basic types of memory management manage
the allocation and migration of physical pages of
memory to and from swap space :
1.Swapping
2.Demand paging
The VM system uses a global paging model that
implements a single global policy to manage the
allocation of memory between the processes.
9/3/2012 14
15. Swapping
The swapping algorithm uses user process as the
granularity for managing memory.
If there is a shortage of memory, then all the pages
of the least active process will be swapped out to
the swap device, freeing memory for other
processes.
Then the corresponding flag in the process table is
set to indicate that this process has been swapped
out.
9/3/2012 15
16. Memory Scheduler
The memory scheduler is launched at boot time
and does nothing.
If the memory is consistently less, it starts looking
for processes that it can completely swap out.
If shortage is minimal, then soft swap takes place.
Otherwise hard-swap.
9/3/2012 16
17. Soft Swapping
If the process have been inactive for atleast
maxslp(default 20 seconds) seconds, then memory
sceduler swaps out all the pages for that process.
9/3/2012 17
18. Hard Swapping
Hard swapping takes place when all of the
following are true :
Atleast two processes are on the run queue,
waiting for CPU.
The average free memory over 30 seconds is
consistently less than minimum.
Excessive paging (page-out + page-in is high).
9/3/2012 18
19. Pros and Cons of Swapping
Pros:
1.This is the inexpensive way to conserve
memory.
2. Easy implementation.
Cons:
1. It dramatically affects a process’s
performance.
So the swapping is used only as a last resort when
the system is desperate for memory.
9/3/2012 19
20. Demand paging
The Demand paging model uses a page as the
granularity for memory management.
Pages of memory are allocated on demand.
When memory is first referenced, a page fault
occurs and memory is allocated one page at a
time.
The page scanner and the virtual memory page
fault mechanism are the core of the demand paged
memory management.
9/3/2012 20
21. Page Scanner
The page scanner is a kernel thread, which is
awakened when the amount of memory on the
free-page list falls below a system threshhold,
typically 1/64 th of total physical memory.
Scanner (pageout_scanner) tracks pages by
reading the state of the hardware bits in MMU
– MMU bits maintain state of referenced and
written
(dirty).
– Uses a twohanded clock algorithm to
determine
eviction.
9/3/2012 21
22. Two Handed Clock Algorithm
Both hands rotate clock-wise.
The front hand clears the referenced and modified
bit of each page.
The trailing back hand then inspects the referenced
and modified bits some time later.
9/3/2012 22
23. Scan Rate
The scan rate changes during the course of the
page scanners operation
Scanners scans at slowscan when memory is
below lotsfree and then increases to fastscan
when memory has fallen below minfree
threshold
Slowscan is set to 100 pages by default.
Fastscan is set to physicalmemory/2 capped
at 8192 pages
9/3/2012 23
24. Page Faults
When do Page Faults occur?
MMU-generated exceptions (trap) tell the operating
system when a memory access cannot continue
without the kernel’s intervention.
Three major types of memory-related hardware
exceptions can occur:
Major page faults
Minor page faults
Protection faults
9/3/2012 24
25. Advantages of Demand
paging
Loading pages of memory on demand dramatically
lowers the memory footprint
Memory footprint refers to the amount of main memory
that a program uses or references while running.
And startup time of the process.
9/3/2012 25
26. Memory sharing
Multiple users’ processes can share memory
Multiple processes can sharing program binaries
and application data.
The Solaris kernel introduced dynamically linked
libraries.
9/3/2012 26
27. Memory protection
A user’s process must not be able access the
memory of another process.
A program fault in one program could cause
another program (or the entire operating system) to
fail.
The protection is implemented by using protection
modes read, write, execute and boundary
checking.
9/3/2012 27
28. Kernel Virtual Memory Layout
The kernel uses virtual memory and MMU like the
process.
The kernel uses top 256 Mbytes or 512 Mbytes in
common virtual address space.
Most of the kernel memory are not pageable.
This characteristics avoids the deadlocks.
The kernel cannot rely on the global paging.
9/3/2012 28
29. Kernel Memory Allocation
Kernel memory is allocated at different levels.
Page allocator
It allocates unmapped pages from the free list
to the kernel address space.
Solaris uses Resource map allocator to
allocate the free memory to the kernel.
Resource map allocator uses first-fit
algorithm.
9/3/2012 29
30. Kernel Memory Slab Allocator
Solaris provides a general-purpose memory
allocator that provides arbitrarily sized memory
allocations.
We use the slab allocator for memory requests that
are:
Smaller than a page size
Not an even multiple of a page size
Frequently going to be allocated and freed, so
would otherwise fragment the kernel map
9/3/2012 30
31. Why Slab Allocator?
The reasons for introducing the slab allocator were
as follows:
The SVR4 allocator was slow to satisfy allocation
requests.
Significant fragmentation problems arose with use
of the SVR4 allocator.
The allocator footprint was large, wasting a lot of
memory.
With no clean interfaces for memory allocation,
code was duplicated in many places.
9/3/2012 31
33. The slab allocator uses the term object to describe
a single memory allocation unit.
Cache to refer to a pool of like objects.
Slab to refer to a group of objects that reside within
the cache.
Slab allocator solves many of the fragmentation
issues by grouping different sized memory objects.
Many cache will be activate at once in the solaris
kernel.
9/3/2012 33