SlideShare a Scribd company logo
BSD カーネルの設計と実装 読書会

   第 5 章 メモリ管理編

     5.5 共有メモリ
5.5 共有メモリ



           システムコール
         によるプロセス間通信


         プロセス
                      カーネル

         プロセス


  共有できるのは、テキストセグメントのみ
5.5 共有メモリ

プロセス間通信のデメリット


送受信に2つのシステムコールが必要、
通信量が多いとコストが高い
5.5 共有メモリ




           システムコール
         によるプロセス間通信


         プロセス                オーバヘッド
                      カーネル     大きい

         プロセス


  共有できるのは、テキストセグメントのみ
5.5 共有メモリ
 5.5 共有メモリ

 複数プロセス間で共有するアドレス空間
 システムコール不要



         プロセス
                アドレス空間
                 (共有)
         プロセス
5.5 共有メモリ


        メモリデータの競合をアプリ開発者が管理
                        ↓
    POSIX の pthread は共有メモリにセマフォを導入して
            ユーザプロセスで管理できるよ!
5.5.1 mmap モデル




●複数プロセスが共有メモリ領域を作成
●アドレス範囲に名前をつける

●サイズと初期内容を指定
5.5.1 mmap モデル




   ファイルがインタフェー
        ス!
        /tmp
5.5.1 mmap モデル


        基準アドレス
      リージョンの長さ
        保護モード
          フラグ
       ファイル識別子
        オフセット
5.5.1 mmap モデル


                           フラグ:共有かプライベートか
          アドレス   長さ
                          保護モード:アクセス権限

  プロセスの
  メモリ空間

    ファイル識別子       オフセット


   ファイル


     ※ プロセスが起動しなおしても、ファイルだから長期的に保存されてる
5.5.1 mmap モデル

mmap
 マップ確保

munmap
 マップを取り除く、 mmap の一部でも複数を内包しても OK

mprotect
 保護モードを変更

mlock
 ページアウトを防ぎたかったら、
 一般では、ロックできるのは物理メモリの 1/3

munlock
 ロックの開放
5.5.1 mmap モデル




msync
 一部マップだけ書き出す。
 特定のアドレス範囲のページがファイルシステムに書き出す
 ( fsync システムコールではすべてのダーティページを
 強制書き出しできるよ)
5.5.2 共有マッピング

   ファイルは、オブジェクトで表される
   プロセスとファイルのマッピング
    は、 vm_map_entry 構造体で表される

        プロセス A
       vm_map_entry

                       ファイル    ファイル
                      オブジェクト


        プロセス B
       vm_map_entry
5.5.3 プライベートマッピング

プライベートマッピングとは?


ファイルをマップしたメモリに対する変更を
   ファイルに反映しない
   他プロセスからファイルは参照不可
5.5.3 プライベートマッピング

プライベートマッピングとシャドウオブジェクト

                   ファイルへの変更伝播
                   他プロセスからの参照
                     を阻止します!




     プロセス A           シャドウ
    vm_map_entry     オブジェクト

                                 ファイル
                                オブジェクト
     プロセス B
    vm_map_entry
5.5.3 プライベートマッピング

シャドウオブジェクトの動作
プロセス プライベートマップ要求

プロセス アドレス空間にファイルオブジェクトをマップ 書き込み時コピー属性

プロセス ファイルオブジェクトの Page0 に書き込み  ->  ページフォルト

カーネル ファイルオブジェクトの Page0 複製 

カーネル シャドウオブジェクトに Page0' 連結



         プロセス A         シャドウ          ファイル
        vm_map_entry   オブジェクト        オブジェクト



                         Page0'        Page0
5.5.3 プライベートマッピング

デメリット
 ページがつねに複製され、メモリを使用する。
 入出力が行われる。


★FreeBSD では複製せず移動することはない。
5.5.3 プライベートマッピング

プライベートマップのページフォールト動作
プロセス ページフォールト発生

カーネル  vm_map_entry から始まるオブジェクトリストを走査、原因ページを探す。


                        走査順番



        プロセス A         シャドウ           ファイル
       vm_map_entry   オブジェクト         オブジェクト



                        Page0'         Page0

         つねに変更は、最初のオブジェクトが優先される
5.5.3 プライベートマッピング

プロセスのアドレス空間からマップ削除
プロセス  munmap , プロセス終了の暗黙処理
カーネル シャドウオブジェクトは、ファイルオブジェクトに書かずにメモリのフリー
リストに置かれる
5.5.3 プライベートマッピング


fork 時プライベートマッピング

  親プロセス A        シャドウ
 vm_map_entry   オブジェクト


                 Page1'




  子プロセス A        シャドウ       シャドウ      ファイル
 vm_map_entry   オブジェクト     オブジェクト    オブジェクト


                 Page0''    Page0'    Page0

                                      Page1
5.5.3 プライベートマッピング


fork 時プライベートマッピング

  親プロセス A        シャドウ
 vm_map_entry   オブジェクト
                                     Fork 前にプロセス A
                                        が行った変更
                 Page1'




  子プロセス A        シャドウ       シャドウ           ファイル
 vm_map_entry   オブジェクト     オブジェクト         オブジェクト


                 Page0''    Page0'           Page0

                                             Page1
5.5.3 プライベートマッピング


fork 時プライベートマッピング

                           Fork 後に親プロセス A
  親プロセス A        シャドウ
                               が行った変更
 vm_map_entry   オブジェクト


                 Page1'




  子プロセス A        シャドウ       シャドウ         ファイル
 vm_map_entry   オブジェクト     オブジェクト       オブジェクト


                 Page0''     Page0'         Page0

                                            Page1
5.5.3 プライベートマッピング


fork 時プライベートマッピング

  親プロセス A        シャドウ
 vm_map_entry   オブジェクト


                 Page1'




  子プロセス A        シャドウ         シャドウ        ファイル
 vm_map_entry   オブジェクト      オブジェクト      オブジェクト
                           Fork 後に子プロセス A
                               が行った変更

                 Page0''     Page0'     Page0

                                        Page1
5.5.3 プライベートマッピング

メモリ回収

メモリが少なくなるとシャドウオブジェクトを回収
する。
1 .カーネルがスワップページャを割り当て
2.スワップページャがシャドウオブジェクトの内
容全体 を保存できるデータ構造用意 【参照 5.10
節】
3.スワップページャがスワップ空間確保
4.スワップページャがスワップ空間に書き出し
5.5.4 シャドウオブジェクト連鎖圧縮




     シャドウオブジェクト連鎖圧縮
5.5.4 シャドウオブジェクト連鎖圧縮


親プロセス A 終了時

  親プロセス A        シャドウ
 vm_map_entry   オブジェクト


                 Page1'




  子プロセス A        シャドウ       シャドウ      ファイル
 vm_map_entry   オブジェクト     オブジェクト    オブジェクト


                 Page0''    Page0'    Page0

                                      Page1
5.5.4 シャドウオブジェクト連鎖圧縮


親プロセス A 終了時の圧縮

  親プロセス A        シャドウ
 vm_map_entry   オブジェクト


                 Page1'
    終わり




  子プロセス A        シャドウ       シャドウ      ファイル
 vm_map_entry   オブジェクト     オブジェクト    オブジェクト


                 Page0''    Page0'    Page0

                                      Page1
5.5.4 シャドウオブジェクト連鎖圧縮


親プロセス A 終了時

                 シャドウ
   参照なし
                オブジェクト
    削除


                 Page1'




  子プロセス A        シャドウ       シャドウ      ファイル
 vm_map_entry   オブジェクト     オブジェクト    オブジェクト


                 Page0''    Page0'    Page0

                                      Page1
5.5.4 シャドウオブジェクト連鎖圧縮


親プロセス A 終了時


                           シャドウオブジェクト
                            のデータ重複なので
                                削除




  子プロセス A        シャドウ            シャドウ      ファイル
 vm_map_entry   オブジェクト          オブジェクト    オブジェクト


                 Page0''         Page0'    Page0

                                           Page1
5.5.4 シャドウオブジェクト連鎖圧縮


親プロセス A 終了時



                    圧縮完成!


  子プロセス A        シャドウ        ファイル
 vm_map_entry   オブジェクト      オブジェクト


                 Page0''     Page0

                             Page1
5.5.4 シャドウオブジェクト連鎖圧縮


子プロセス A 終了時の圧縮

  親プロセス A        シャドウ
 vm_map_entry   オブジェクト


                 Page1'




  子プロセス A        シャドウ       シャドウ      ファイル
 vm_map_entry   オブジェクト     オブジェクト    オブジェクト


                 Page0''    Page0'    Page0
    終わり
                                      Page1
5.5.4 シャドウオブジェクト連鎖圧縮


子プロセス A 終了時の圧縮

  親プロセス A        シャドウ
 vm_map_entry   オブジェクト


                 Page1'




   参照なし          シャドウ       シャドウ      ファイル
    削除          オブジェクト     オブジェクト    オブジェクト


                 Page0''    Page0'    Page0

                                      Page1
5.5.4 シャドウオブジェクト連鎖圧縮


子プロセス A 終了時の圧縮

  親プロセス A        シャドウ
 vm_map_entry   オブジェクト


                 Page1'




                           シャドウ      ファイル
        上位シャドウオブジェクト      オブジェクト    オブジェクト
         に Page0 がないので
            移行する。
                           Page0'    Page0

                                     Page1
5.5.4 シャドウオブジェクト連鎖圧縮


子プロセス A 終了時の圧縮

  親プロセス A        シャドウ
 vm_map_entry   オブジェクト     シャドウオブジェクト
                            のデータ重複なので
                                削除
                 Page1'

                 Page0'


                           シャドウ     ファイル
                          オブジェクト   オブジェクト


                                    Page0

                                    Page1
5.5.4 シャドウオブジェクト連鎖圧縮


子プロセス A 終了時の圧縮

  親プロセス A        シャドウ
 vm_map_entry   オブジェクト

                          圧縮完成!
                 Page1'

                 Page0'


                             ファイル
                            オブジェクト


                             Page0

                             Page1
5.5.4 シャドウオブジェクト連鎖圧縮

スワップ領域も同じロジックで移行する
5.5.4 シャドウオブジェクト連鎖圧縮




    シャドウオブジェクトの増えすぎを
         なんとかしたい
5.5.4 シャドウオブジェクト連鎖圧縮




                     どんどん増えるシャドウ




  親プロセス A        シャドウ           シャドウ         ファイル
 vm_map_entry   オブジェクト         オブジェクト       オブジェクト


                 Page1'            Page0'    Page0

                                             Page1
5.5.4 シャドウオブジェクト連鎖圧縮




  親プロセス A        シャドウ         シャドウ       ファイル
 vm_map_entry   オブジェクト       オブジェクト     オブジェクト


                 Page1'        Page0'     Page0

                 Page0'                   Page1

                Page0 のページフォールト時に
          他のシャドウオブジェクトの page を内包するかチェック
                内包していれば、参照を飛ばす
5.5.4 シャドウオブジェクト連鎖圧縮



                    ファイルオブジェクトを直接参照




  親プロセス A        シャドウ          シャドウ      ファイル
 vm_map_entry   オブジェクト        オブジェクト    オブジェクト


                 Page1'        Page0'    Page0

                 Page0'                  Page1


激しく fork を繰り返してもシャドウの連鎖は 3 、 4 回程度に抑えられる
5.5.5 プライベートスナップショット




     プライベートスナップショット
5.5.5 プライベートスナップショット
 仮定
 プロセス A とプロセス B の共有マッピング
 プロセス B のプライベートマッピング



  プロセス A
 vm_map_entry


                            ファイル
                           オブジェクト


                            Page0
  プロセス B         シャドウ
 vm_map_entry   オブジェクト      Page1
5.5.5 プライベートスナップショット
 プロセス B が Page0 に変更




  プロセス A
 vm_map_entry


                                      ファイル
                                     オブジェクト


                                       Page0
  プロセス B         シャドウ
 vm_map_entry   オブジェクト                 Page1



                 Page0'   Page0 をスナップショット
5.5.5 プライベートスナップショット
 概念的に正しく動作するか検証



                正:プロセス A から Page 0の変更は見えない
  プロセス A
 vm_map_entry


                                         ファイル
   正:プロセス B から Page 0の変更は見える            オブジェクト


                                             Page0
  プロセス B         シャドウ
 vm_map_entry   オブジェクト                       Page1



                  Page0'
5.5.5 プライベートスナップショット
 プロセス A が Page0 に変更




  プロセス A
 vm_map_entry


                                        ファイル
                                       オブジェクト


                                         Page0''
  プロセス B         シャドウ
 vm_map_entry   オブジェクト                   Page1



                 Page0'   プロセス A が Page0 を変更
5.5.5 プライベートスナップショット
 概念的に正しく動作するか検証



                正:プロセス A から Page 0 '' の変更が見える。
  プロセス A
 vm_map_entry


                                            ファイル
 誤:プロセス B から Page 0 '' の変更は見えない            オブジェクト


                                             Page0''
  プロセス B          シャドウ
 vm_map_entry    オブジェクト                      Page1



                   Page0'
5.5.5 プライベートスナップショット




        コピーオブジェクト
5.5.5 プライベートスナップショット
 元ファイルのスナップショットをとったコピーオブジェクトで改善できる。
 Mach と 4.4BSD では実装されたが、パフォーマンス的な問題で現在は削除
 されている。



  プロセス A
 vm_map_entry


                                   コピー
                                 オブジェクト?



  プロセス B         シャドウ
 vm_map_entry   オブジェクト

More Related Content

Recently uploaded

Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライドHumanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
tazaki1
 
Generating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language ModelsGenerating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language Models
harmonylab
 
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMMハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
osamut
 
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
嶋 是一 (Yoshikazu SHIMA)
 
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
Osaka University
 
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobodyロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
azuma satoshi
 
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
Toru Tamaki
 

Recently uploaded (7)

Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライドHumanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
 
Generating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language ModelsGenerating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language Models
 
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMMハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
 
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
 
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
 
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobodyロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
 
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
 

Featured

AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
marketingartwork
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
Skeleton Technologies
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
SpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Lily Ray
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
Rajiv Jayarajah, MAppComm, ACC
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
Christy Abraham Joy
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
Vit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
MindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
GetSmarter
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
Alireza Esmikhani
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
Project for Public Spaces & National Center for Biking and Walking
 

Featured (20)

AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 

BSDカーネル メモリ管理 共有メモリ