 Security Beyond Memory SafetyPerspective Security Beyond Memory Safety Using Modern C++ to Avoid Vulnerabilities by DesignMax Hoffmann Security Beyond Memory Safety CppCon 2024 2 Security Beyond Memory Safety Using Modern C++ to Security Beyond Memory Safety CppCon 2024 3 FIFTY SHADES OF SHOOTING YOURSELF IN THE FOOT WITH A RAILGUNMax Hoffmann Security Beyond Memory Safety CppCon 2024 4Max Hoffmann Security Beyond Memory Safety CppCon Security Beyond Memory Safety CppCon 2024 6Max Hoffmann Security Beyond Memory Safety CppCon 2024 7Max Hoffmann Security Beyond Memory Safety CppCon 2024 8Max Hoffmann Security Beyond Memory Safety CppCon0 码力 | 79 页 | 4.15 MB | 6 月前3 Security Beyond Memory SafetyPerspective Security Beyond Memory Safety Using Modern C++ to Avoid Vulnerabilities by DesignMax Hoffmann Security Beyond Memory Safety CppCon 2024 2 Security Beyond Memory Safety Using Modern C++ to Security Beyond Memory Safety CppCon 2024 3 FIFTY SHADES OF SHOOTING YOURSELF IN THE FOOT WITH A RAILGUNMax Hoffmann Security Beyond Memory Safety CppCon 2024 4Max Hoffmann Security Beyond Memory Safety CppCon Security Beyond Memory Safety CppCon 2024 6Max Hoffmann Security Beyond Memory Safety CppCon 2024 7Max Hoffmann Security Beyond Memory Safety CppCon 2024 8Max Hoffmann Security Beyond Memory Safety CppCon0 码力 | 79 页 | 4.15 MB | 6 月前3
 A Relaxed Guide to memory_order_relaxedA Relaxed Guide to memory_order_relaxed Hans Boehm Paul E. McKenney Google Facebook CPPCON 2020std::atomic/std::atomic_ref and memory_order_relaxed ● C++ atomic sacrificing the simple threads-as-interleaving semantics ● by passing memory_order enum values to explicit atomic operations. ● In particular, memory_order_relaxed allows arbitrary visibility reordering with respect About memory_order_relaxed? ● Just a load, just a store: Full control, excellent efficiency and scalability! ○ Assuming aligned machine-sized atomic objects, that is…What is Not to Like About memory_order_relaxed0 码力 | 32 页 | 278.53 KB | 6 月前3 A Relaxed Guide to memory_order_relaxedA Relaxed Guide to memory_order_relaxed Hans Boehm Paul E. McKenney Google Facebook CPPCON 2020std::atomic/std::atomic_ref and memory_order_relaxed ● C++ atomic sacrificing the simple threads-as-interleaving semantics ● by passing memory_order enum values to explicit atomic operations. ● In particular, memory_order_relaxed allows arbitrary visibility reordering with respect About memory_order_relaxed? ● Just a load, just a store: Full control, excellent efficiency and scalability! ○ Assuming aligned machine-sized atomic objects, that is…What is Not to Like About memory_order_relaxed0 码力 | 32 页 | 278.53 KB | 6 月前3
 Installing Ubuntu from a USB memory stickUbuntu from a USB memory stick This guide will help you install Ubuntu on your computer by using a USB memory stick. USB memory sticks are sometimes known as flash drives, memory pens or USB Mass Storage Storage devices. Installing from a memory stick is useful if you have a computer without a CD drive (like a netbook), or prefer the convenience of a memory stick. Alternative methods are available, are running Windows. 1. What do I need to get started? To install Ubuntu from a USB memory stick you need: • A memory stick with a capacity of at least 2GB. It will be formatted (erased) during this process0 码力 | 3 页 | 128.18 KB | 1 年前3 Installing Ubuntu from a USB memory stickUbuntu from a USB memory stick This guide will help you install Ubuntu on your computer by using a USB memory stick. USB memory sticks are sometimes known as flash drives, memory pens or USB Mass Storage Storage devices. Installing from a memory stick is useful if you have a computer without a CD drive (like a netbook), or prefer the convenience of a memory stick. Alternative methods are available, are running Windows. 1. What do I need to get started? To install Ubuntu from a USB memory stick you need: • A memory stick with a capacity of at least 2GB. It will be formatted (erased) during this process0 码力 | 3 页 | 128.18 KB | 1 年前3
 Practical memory pool based allocators for Modern C++© 2019 Apex.AI, Inc. Safe and certified software for autonomous mobility TM Practical memory pool based allocators for Modern C++ by Misha Shalem misha.shalem@apex.ai © 2020 Apex.AI, Inc.● CppCon Andreas Pasternak ● Quote: “Memory pools and allocators are only one piece of the solution” Today we going to talk about this one piece in (more) depth © 2020 Apex.AI, Inc.Memory allocations in real-time practically for C++ memory allocations? We asked an independent 3rd party safety assessor and the answer was “It should comply to Autosar C++ 14 Coding Guidelines regarding memory allocations” © 20200 码力 | 49 页 | 986.95 KB | 6 月前3 Practical memory pool based allocators for Modern C++© 2019 Apex.AI, Inc. Safe and certified software for autonomous mobility TM Practical memory pool based allocators for Modern C++ by Misha Shalem misha.shalem@apex.ai © 2020 Apex.AI, Inc.● CppCon Andreas Pasternak ● Quote: “Memory pools and allocators are only one piece of the solution” Today we going to talk about this one piece in (more) depth © 2020 Apex.AI, Inc.Memory allocations in real-time practically for C++ memory allocations? We asked an independent 3rd party safety assessor and the answer was “It should comply to Autosar C++ 14 Coding Guidelines regarding memory allocations” © 20200 码力 | 49 页 | 986.95 KB | 6 月前3
 Object Introspection: A Revolutionary Memory Profiler for C++ ObjectsBar std::string Bar std::string Bar std::stringObject Introspection (OI) Goals • Byte level memory footprint analysis for objects • Complete object type hierarchies • Dynamic allocations and containers hierarchy from a given root type • Understand the layout in memory of the entire hierarchy • Understand how to interpret data at memory offsets • Understand containers • Compiler generated debug Object Introspection Measurement Code Code GenerationApplied Example 1 • Unused container memory: Unused Sz = (C.capacity() - C.size()) * sizeof(element) Name TypeName Number ElemStatSz Length0 码力 | 62 页 | 2.24 MB | 6 月前3 Object Introspection: A Revolutionary Memory Profiler for C++ ObjectsBar std::string Bar std::string Bar std::stringObject Introspection (OI) Goals • Byte level memory footprint analysis for objects • Complete object type hierarchies • Dynamic allocations and containers hierarchy from a given root type • Understand the layout in memory of the entire hierarchy • Understand how to interpret data at memory offsets • Understand containers • Compiler generated debug Object Introspection Measurement Code Code GenerationApplied Example 1 • Unused container memory: Unused Sz = (C.capacity() - C.size()) * sizeof(element) Name TypeName Number ElemStatSz Length0 码力 | 62 页 | 2.24 MB | 6 月前3
 C++ Memory Model: from C++11 to C++23Memory Model C++11 – C++23About Me: alex.dathskovsky@speedata.io www.linkedin.com/in/alexdathskovsky https://www.cppnext.comAlex Dathskovsky | alex.dathskovsky@speedata.io | www.linkedin.com/in/a hazards • an instruction can be executed when its operands have been calculated or loaded from memory • an instruction stalls if operands are not availableAlex Dathskovsky | alex.dathskovsky@speedata com/in/alexdathskovsky Reordering Types • Data dependencies must be honored • C++ compiler may reorder any memory access under the as-if rule • Different processors have different reordering guarantiesAlex0 码力 | 112 页 | 5.17 MB | 6 月前3 C++ Memory Model: from C++11 to C++23Memory Model C++11 – C++23About Me: alex.dathskovsky@speedata.io www.linkedin.com/in/alexdathskovsky https://www.cppnext.comAlex Dathskovsky | alex.dathskovsky@speedata.io | www.linkedin.com/in/a hazards • an instruction can be executed when its operands have been calculated or loaded from memory • an instruction stalls if operands are not availableAlex Dathskovsky | alex.dathskovsky@speedata com/in/alexdathskovsky Reordering Types • Data dependencies must be honored • C++ compiler may reorder any memory access under the as-if rule • Different processors have different reordering guarantiesAlex0 码力 | 112 页 | 5.17 MB | 6 月前3
 Heterogeneous Modern C++ with SYCL 2020Chair of WG21 SG14 Games Dev/Low Latency/Financial Trading/Embedded ● Editor: C++ SG5 Transactional Memory Technical Specification ● Editor: C++ SG1 Concurrency Technical Specification ● MISRA C++ and 1. SYCL, oneAPI, and ecosystem 2. SYCL 2020 features • Moving with the Times and Any Backend • Memory Spaces and Dimensions • Reductions and Group Algorithms 3. SYCL futures 9© The Khronos® Group Embedded Systems through Desktops to Supercomputers 12SYCL 2020 Major Features • Unified Shared Memory (USM) • Code with pointers can work naturally without buffers or accessors • Simplifies porting0 码力 | 114 页 | 7.94 MB | 6 月前3 Heterogeneous Modern C++ with SYCL 2020Chair of WG21 SG14 Games Dev/Low Latency/Financial Trading/Embedded ● Editor: C++ SG5 Transactional Memory Technical Specification ● Editor: C++ SG1 Concurrency Technical Specification ● MISRA C++ and 1. SYCL, oneAPI, and ecosystem 2. SYCL 2020 features • Moving with the Times and Any Backend • Memory Spaces and Dimensions • Reductions and Group Algorithms 3. SYCL futures 9© The Khronos® Group Embedded Systems through Desktops to Supercomputers 12SYCL 2020 Major Features • Unified Shared Memory (USM) • Code with pointers can work naturally without buffers or accessors • Simplifies porting0 码力 | 114 页 | 7.94 MB | 6 月前3
 Using Modern C++ to Build XOffsetDatastructureThe input in this case is the memory data structure. • As shown in the diagram, the data in a memory data structure is distributed across various locations in memory, interconnected through pointers XOffsetDatastructure, CppCon 2024 27 Memory Data Structure2.2.1 The First Category • Serialization • The output is a data buffer. • The process involves transforming the memory data structure into a data buffer • The input is the data buffer. • The output is the memory data structure. • The process entails converting the data buffer back into a memory data structure. This conversion needs traversing and0 码力 | 111 页 | 3.03 MB | 6 月前3 Using Modern C++ to Build XOffsetDatastructureThe input in this case is the memory data structure. • As shown in the diagram, the data in a memory data structure is distributed across various locations in memory, interconnected through pointers XOffsetDatastructure, CppCon 2024 27 Memory Data Structure2.2.1 The First Category • Serialization • The output is a data buffer. • The process involves transforming the memory data structure into a data buffer • The input is the data buffer. • The output is the memory data structure. • The process entails converting the data buffer back into a memory data structure. This conversion needs traversing and0 码力 | 111 页 | 3.03 MB | 6 月前3
 Back to Basics: Pointersnullptr’s, double frees, memory leaks). However, with modern C++, we can abstract away some of these problems using various “smart pointers” built into the standard library in <memory>. Attendees will leave pointer correctly on the first try 8 ● And maybe as a C or C++ programmer you have a similar memory or ‘eureka’ moment. ○ My sophomore year in college where I remember doing lots of small pointer at this point that I had more computer systems knowledge. ○ I had a mental model of a computer's memory ○ I was building data structures which were using pointers ○ And I could explain how to use pointers0 码力 | 152 页 | 5.61 MB | 6 月前3 Back to Basics: Pointersnullptr’s, double frees, memory leaks). However, with modern C++, we can abstract away some of these problems using various “smart pointers” built into the standard library in <memory>. Attendees will leave pointer correctly on the first try 8 ● And maybe as a C or C++ programmer you have a similar memory or ‘eureka’ moment. ○ My sophomore year in college where I remember doing lots of small pointer at this point that I had more computer systems knowledge. ○ I had a mental model of a computer's memory ○ I was building data structures which were using pointers ○ And I could explain how to use pointers0 码力 | 152 页 | 5.61 MB | 6 月前3
 VMware Greenplum v6.18 DocumentationSystems 260 Validating Your Systems 0 Validating Network Performance 260 Validating Disk I/O and Memory Bandwidth 261 To run the disk and stream tests 261 Initializing a Greenplum Database System 262 Storage 308 Security 308 Amazon Web Services (AWS) 308 Virtual Machine Type 308 Compute 309 Memory 309 Network 309 Storage 309 Elastic Block Storage (EBS) 309 Ephemeral 310 AWS Recommendations Master 310 Segments 310 Google Compute Platform (GCP) 310 Virtual Machine Type 310 Compute 310 Memory 310 Network 311 VMware Greenplum v6.18 Documentation VMware, Inc. 13 Storage 311 GCP Recommendations0 码力 | 1959 页 | 19.73 MB | 1 年前3 VMware Greenplum v6.18 DocumentationSystems 260 Validating Your Systems 0 Validating Network Performance 260 Validating Disk I/O and Memory Bandwidth 261 To run the disk and stream tests 261 Initializing a Greenplum Database System 262 Storage 308 Security 308 Amazon Web Services (AWS) 308 Virtual Machine Type 308 Compute 309 Memory 309 Network 309 Storage 309 Elastic Block Storage (EBS) 309 Ephemeral 310 AWS Recommendations Master 310 Segments 310 Google Compute Platform (GCP) 310 Virtual Machine Type 310 Compute 310 Memory 310 Network 311 VMware Greenplum v6.18 Documentation VMware, Inc. 13 Storage 311 GCP Recommendations0 码力 | 1959 页 | 19.73 MB | 1 年前3
共 1000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 100














 
  
  
 