SlideShare a Scribd company logo
オペ―レーティングシステムの読み書き#4
                2011/11/21
            Nagoya geekbar
今回は

アドレス空間の切り替え
コンテキストの退避・復元
割り込みが起こると……..
                           PSWのモードがカーネル
          CPU
                           モードに変わり、空間が切り
           PC
                           替わる。割り込みの種類に応
                 ②
  ①                        じて、ベクターテーブルの値
                           がPCに書き込まれる
  text          ③ text

  data            data     割り込みの種類に応じて、ベ
                           クターテーブルの値がPCに
  bss                bss   書き込まれる


アプリケーション        カーネル



  stack           stack
空間の切り替え 1
                  CPU
                   PC
アプリケーション                        カーネル
                  PSW
                  00: カーネルモード
   text           11: ユーザモード
                                   text

   data    11用          00用        data
           APR0         APR0
           APR1         APR1
   bss     APR2         APR2
                                   bss
           APR3         APR3
           APR4         APR4
           APR5         APR5
           APR6         APR6    struct user
  stack    APR7         APR7
                                  stack



                                I/Oレジスタ
アプリケーションの動作時
  PSW          PC            •PSWのモードはユーザ
                             •PCはアプリのtextセグメントを指す
  text
  data
  bss

           user      user      user     user
          kstack    kstack    kstack   kstack
  IOレジスタ

         1 text     text       text    text
           data     data       data    data
           bss      bss        bss     bss

           stack    stack      stack   stack
割り込みの発生-空間の切り替え
  PSW          PC
                               •PSWのモードがカーネルに
                               •アドレス空間の制御レジスタ
  text                         がカーネルモードに切り替わる
  data
  bss

           user      user     user     user
          kstack    kstack   kstack   kstack
  IOレジスタ

         1 text     text     text     text
           data     data     data     data
           bss      bss      bss      bss

           stack    stack    stack    stack
割り込みの発生-割り込みベクタ
     PSW         PC
                                 •割り込みベクタのエントリを
     text                        選択してPCに
     data
     bss

              user     user     user     user
             kstack   kstack   kstack   kstack

     IOレジスタ

            1 text    text     text     text
              data    data     data     data
              bss     bss      bss      bss

•1のアドレスと割り込み時の
レジスタを退避  stack        stack    stack    stack
割り込みの発生-割り込みベクタ
  PSW         PC
                                               •割り込みベクタのエントリを
 text                                          選択してPCに
 data
 bss               Vector             device

                     004      Bus Timeout

          user        user Illegal instruction
                     010                 user             user
         kstack      kstackBpt-trace kstack
                     014                                 kstack
                     024      iot              Vector            device      entry
 IOレジスタ              034      Power failur       060    Teletype input       klin

                     114      Emulator tarp      064    Teletype output      klou
                              instruction
        1 text         text                 text 070       text
                                                        Paper tape input     pcin
          data       240
                      data    11/10 parity data            data
                                                  074   Paper tape output    pcou
          bss        244
                       bss    Floting point error
                                            bss 100        bss
                                                        Line clock           kwlp
                     250      Segmentation violation
                                                  104   Programmable clock   kwlp

          stack       stack              stack200         stack
                                                        Line printer         lpou

                                                 220    RK disk driver       rkio
割り込みの発生ーハンドラの処理
  PSW        PC

                  2
  text
  data
  bss

          user         user     user     user
         kstack       kstack   kstack   kstack
  IOレジスタ

         text         text     text     text
         data         data     data     data
         bss          bss      bss      bss

         stack        stack    stack    stack
割り込みの発生ーハンドラの処理
        PSW             PC
カーネル用
 APR0   text
 APR1   data
 APR2
 APR3
        bss
 APR4
 APR5
 APR6
                 user         user      user     user
 APR7           kstack       kstack    kstack   kstack
        IOレジスタ                        •処理が終わったら、退避したレジス
アプリ用                                  タ、PCを復元して、PSWをアプリ
               1 text        text     モードに
                                         text text
 APR0
 APR1                                 •割り込み時点に復帰
                 data        data        data data
 APR2
 APR3
                 bss         bss         bss  bss
 APR4
 APR5
 APR6
                stack        stack     stack    stack
 APR7
 以上の説明は、割り込み発生時から、復帰ま
  でにプロセスの切り替えが発生しない場合
 条件によっては以下の処理でプロセスの切り
  替えが発生
    1. procの検索と選択
    2. user構造の切り替え
    3. User構造+kstackに退避した状態の復元
    4. アプリへの復帰
プロセスの切り替えー選択
  PSW       PC
                    Procの検索(スケジューラ)
 text
 data                     ↑次に動かすアプリ(プロセス)
 bss                      のprocを見つける

         user     user      user     user
        kstack   kstack    kstack   kstack
 IOレジスタ

        text     text      text     text
        data     data      data     data
        bss      bss       bss      bss

        stack    stack     stack    stack
プロセスの切り替えーuserの切り替え
  PSW        PC

  text
  data            proc
  bss

          user            user     user     user
         kstack          kstack   kstack   kstack
  IOレジスタ

         text            text     text     text
         data            data     data     data
         bss             bss      bss      bss

         stack           stack    stack    stack
プロセスの切り替えーuserの切り替え
        PSW        PC

        text
        data            proc
        bss

                user            user     user     user
               kstack          kstack   kstack   kstack
        IOレジスタ
アプリ用
        空間管理用のレジスタを更新
 APR0          text            text     text     text
 APR1          data            data     data     data
 APR2
 APR3
               bss             bss      bss      bss
 APR4
 APR5
 APR6
               stack           stack    stack    stack
 APR7
プロセスの切り替えーモードの切り替え
                                  •PSWをユーザに切り替え
        PSW        PC             •PCを復元
                                  •退避していた、PCとレジスタを復元
        text
        data            proc
        bss

                user            user     user     user
               kstack          kstack   kstack   kstack
        IOレジスタ
アプリ用
 APR0          text            text     text     text
 APR1          data            data     data     data
 APR2
 APR3
               bss             bss      bss      bss
 APR4
 APR5
 APR6
               stack           stack    stack    stack
 APR7
プロセスの切り替えー完了
        PSW        PC

        text
        data            proc
        bss

                user            user     user     user
               kstack          kstack   kstack   kstack
        IOレジスタ
アプリ用
 APR0          text            text     text     text
 APR1          data            data     data     data
 APR2
 APR3
               bss             bss      bss      bss
 APR4
 APR5
 APR6
               stack           stack    stack    stack
 APR7
おわり

More Related Content

What's hot

20140531 JPUGしくみ+アプリケーション分科会 勉強会資料
20140531 JPUGしくみ+アプリケーション分科会 勉強会資料20140531 JPUGしくみ+アプリケーション分科会 勉強会資料
20140531 JPUGしくみ+アプリケーション分科会 勉強会資料kasaharatt
 
C/C++プログラマのための開発ツール
C/C++プログラマのための開発ツールC/C++プログラマのための開発ツール
C/C++プログラマのための開発ツール
MITSUNARI Shigeo
 
PostgreSQL v9.5の新機能~CustomScan/Join Interface
PostgreSQL v9.5の新機能~CustomScan/Join InterfacePostgreSQL v9.5の新機能~CustomScan/Join Interface
PostgreSQL v9.5の新機能~CustomScan/Join Interface
Kohei KaiGai
 
Gangliaはじめました
GangliaはじめましたGangliaはじめました
Gangliaはじめましたyuzorock
 
AutoDock_Raccoon_japanese_ver.1.0
AutoDock_Raccoon_japanese_ver.1.0AutoDock_Raccoon_japanese_ver.1.0
AutoDock_Raccoon_japanese_ver.1.0
Satoshi Kume
 
[20170922 Sapporo Tech Bar] 地図用データを高速処理!オープンソースGPUデータベースMapDってどんなもの?? by 株式会社...
[20170922 Sapporo Tech Bar] 地図用データを高速処理!オープンソースGPUデータベースMapDってどんなもの?? by 株式会社...[20170922 Sapporo Tech Bar] 地図用データを高速処理!オープンソースGPUデータベースMapDってどんなもの?? by 株式会社...
[20170922 Sapporo Tech Bar] 地図用データを高速処理!オープンソースGPUデータベースMapDってどんなもの?? by 株式会社...
Insight Technology, Inc.
 
並列クエリを実行するPostgreSQLのアーキテクチャ
並列クエリを実行するPostgreSQLのアーキテクチャ並列クエリを実行するPostgreSQLのアーキテクチャ
並列クエリを実行するPostgreSQLのアーキテクチャ
Kohei KaiGai
 
Reconf 201506
Reconf 201506Reconf 201506
Reconf 201506
Takefumi MIYOSHI
 
Osc2015 hokkaido postgresql-semi-stuructured-datatype
Osc2015 hokkaido postgresql-semi-stuructured-datatypeOsc2015 hokkaido postgresql-semi-stuructured-datatype
Osc2015 hokkaido postgresql-semi-stuructured-datatype
Toshi Harada
 
20210511_PGStrom_GpuCache
20210511_PGStrom_GpuCache20210511_PGStrom_GpuCache
20210511_PGStrom_GpuCache
Kohei KaiGai
 
HandlerSocket plugin for MySQL
HandlerSocket plugin for MySQLHandlerSocket plugin for MySQL
HandlerSocket plugin for MySQLakirahiguchi
 
Osc2012 tokyo fall_home_san_nayamaguti
Osc2012 tokyo fall_home_san_nayamagutiOsc2012 tokyo fall_home_san_nayamaguti
Osc2012 tokyo fall_home_san_nayamagutiNoriyuki Yamaguchi
 
Spectre/Meltdownとその派生
Spectre/Meltdownとその派生Spectre/Meltdownとその派生
Spectre/Meltdownとその派生
MITSUNARI Shigeo
 
C16 45分でわかるPostgreSQLの仕組み by 山田努
C16 45分でわかるPostgreSQLの仕組み by 山田努C16 45分でわかるPostgreSQLの仕組み by 山田努
C16 45分でわかるPostgreSQLの仕組み by 山田努Insight Technology, Inc.
 
ライブドア様xKLab合同勉強会 システムモニタリングツール「Ganglia」の紹介
ライブドア様xKLab合同勉強会 システムモニタリングツール「Ganglia」の紹介ライブドア様xKLab合同勉強会 システムモニタリングツール「Ganglia」の紹介
ライブドア様xKLab合同勉強会 システムモニタリングツール「Ganglia」の紹介Kazuya Yokogawa
 
5ステップで始めるPostgreSQLレプリケーション@hbstudy#13
5ステップで始めるPostgreSQLレプリケーション@hbstudy#135ステップで始めるPostgreSQLレプリケーション@hbstudy#13
5ステップで始めるPostgreSQLレプリケーション@hbstudy#13Uptime Technologies LLC (JP)
 
Postgre sql9.3 newlockmode_and_etc
Postgre sql9.3 newlockmode_and_etcPostgre sql9.3 newlockmode_and_etc
Postgre sql9.3 newlockmode_and_etckasaharatt
 
PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)
PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)
PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)
Uptime Technologies LLC (JP)
 
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
Hironobu Suzuki
 
仮想マシンにおけるメモリ管理
仮想マシンにおけるメモリ管理仮想マシンにおけるメモリ管理
仮想マシンにおけるメモリ管理
Akari Asai
 

What's hot (20)

20140531 JPUGしくみ+アプリケーション分科会 勉強会資料
20140531 JPUGしくみ+アプリケーション分科会 勉強会資料20140531 JPUGしくみ+アプリケーション分科会 勉強会資料
20140531 JPUGしくみ+アプリケーション分科会 勉強会資料
 
C/C++プログラマのための開発ツール
C/C++プログラマのための開発ツールC/C++プログラマのための開発ツール
C/C++プログラマのための開発ツール
 
PostgreSQL v9.5の新機能~CustomScan/Join Interface
PostgreSQL v9.5の新機能~CustomScan/Join InterfacePostgreSQL v9.5の新機能~CustomScan/Join Interface
PostgreSQL v9.5の新機能~CustomScan/Join Interface
 
Gangliaはじめました
GangliaはじめましたGangliaはじめました
Gangliaはじめました
 
AutoDock_Raccoon_japanese_ver.1.0
AutoDock_Raccoon_japanese_ver.1.0AutoDock_Raccoon_japanese_ver.1.0
AutoDock_Raccoon_japanese_ver.1.0
 
[20170922 Sapporo Tech Bar] 地図用データを高速処理!オープンソースGPUデータベースMapDってどんなもの?? by 株式会社...
[20170922 Sapporo Tech Bar] 地図用データを高速処理!オープンソースGPUデータベースMapDってどんなもの?? by 株式会社...[20170922 Sapporo Tech Bar] 地図用データを高速処理!オープンソースGPUデータベースMapDってどんなもの?? by 株式会社...
[20170922 Sapporo Tech Bar] 地図用データを高速処理!オープンソースGPUデータベースMapDってどんなもの?? by 株式会社...
 
並列クエリを実行するPostgreSQLのアーキテクチャ
並列クエリを実行するPostgreSQLのアーキテクチャ並列クエリを実行するPostgreSQLのアーキテクチャ
並列クエリを実行するPostgreSQLのアーキテクチャ
 
Reconf 201506
Reconf 201506Reconf 201506
Reconf 201506
 
Osc2015 hokkaido postgresql-semi-stuructured-datatype
Osc2015 hokkaido postgresql-semi-stuructured-datatypeOsc2015 hokkaido postgresql-semi-stuructured-datatype
Osc2015 hokkaido postgresql-semi-stuructured-datatype
 
20210511_PGStrom_GpuCache
20210511_PGStrom_GpuCache20210511_PGStrom_GpuCache
20210511_PGStrom_GpuCache
 
HandlerSocket plugin for MySQL
HandlerSocket plugin for MySQLHandlerSocket plugin for MySQL
HandlerSocket plugin for MySQL
 
Osc2012 tokyo fall_home_san_nayamaguti
Osc2012 tokyo fall_home_san_nayamagutiOsc2012 tokyo fall_home_san_nayamaguti
Osc2012 tokyo fall_home_san_nayamaguti
 
Spectre/Meltdownとその派生
Spectre/Meltdownとその派生Spectre/Meltdownとその派生
Spectre/Meltdownとその派生
 
C16 45分でわかるPostgreSQLの仕組み by 山田努
C16 45分でわかるPostgreSQLの仕組み by 山田努C16 45分でわかるPostgreSQLの仕組み by 山田努
C16 45分でわかるPostgreSQLの仕組み by 山田努
 
ライブドア様xKLab合同勉強会 システムモニタリングツール「Ganglia」の紹介
ライブドア様xKLab合同勉強会 システムモニタリングツール「Ganglia」の紹介ライブドア様xKLab合同勉強会 システムモニタリングツール「Ganglia」の紹介
ライブドア様xKLab合同勉強会 システムモニタリングツール「Ganglia」の紹介
 
5ステップで始めるPostgreSQLレプリケーション@hbstudy#13
5ステップで始めるPostgreSQLレプリケーション@hbstudy#135ステップで始めるPostgreSQLレプリケーション@hbstudy#13
5ステップで始めるPostgreSQLレプリケーション@hbstudy#13
 
Postgre sql9.3 newlockmode_and_etc
Postgre sql9.3 newlockmode_and_etcPostgre sql9.3 newlockmode_and_etc
Postgre sql9.3 newlockmode_and_etc
 
PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)
PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)
PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)
 
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
 
仮想マシンにおけるメモリ管理
仮想マシンにおけるメモリ管理仮想マシンにおけるメモリ管理
仮想マシンにおけるメモリ管理
 

Similar to V6read#4

PostgreSQL 9.2 新機能 - OSC 2012 Kansai@Kyoto
PostgreSQL 9.2 新機能 - OSC 2012 Kansai@KyotoPostgreSQL 9.2 新機能 - OSC 2012 Kansai@Kyoto
PostgreSQL 9.2 新機能 - OSC 2012 Kansai@Kyoto
Shigeru Hanada
 
PostgreSQL 9.2 新機能 - 新潟オープンソースセミナー2012
PostgreSQL 9.2 新機能 - 新潟オープンソースセミナー2012PostgreSQL 9.2 新機能 - 新潟オープンソースセミナー2012
PostgreSQL 9.2 新機能 - 新潟オープンソースセミナー2012
Shigeru Hanada
 
遊休リソースを用いた 相同性検索処理の並列化とその評価
遊休リソースを用いた相同性検索処理の並列化とその評価遊休リソースを用いた相同性検索処理の並列化とその評価
遊休リソースを用いた 相同性検索処理の並列化とその評価Satoshi Nagayasu
 
CPUの同時実行機能
CPUの同時実行機能CPUの同時実行機能
CPUの同時実行機能
Shinichiro Niiyama
 
pgconfasia2016 lt ssd2gpu
pgconfasia2016 lt ssd2gpupgconfasia2016 lt ssd2gpu
pgconfasia2016 lt ssd2gpu
Kohei KaiGai
 
ASPLOS2017: Building Durable Transactions with Decoupling for Persistent Memory
ASPLOS2017: Building Durable Transactions with Decoupling for Persistent MemoryASPLOS2017: Building Durable Transactions with Decoupling for Persistent Memory
ASPLOS2017: Building Durable Transactions with Decoupling for Persistent Memory
Atsushi Koshiba
 
Rps・rfs等最新linux kernel事例
Rps・rfs等最新linux kernel事例Rps・rfs等最新linux kernel事例
Rps・rfs等最新linux kernel事例Takuya ASADA
 
Linux packet-forwarding
Linux packet-forwardingLinux packet-forwarding
Linux packet-forwardingMasakazu Asama
 
やりたいことから考えるMicrosoft Azure 上の データストアの選び方とデータサイエンティスト向け活用法。KVSからDWHまで
やりたいことから考えるMicrosoft Azure 上の データストアの選び方とデータサイエンティスト向け活用法。KVSからDWHまでやりたいことから考えるMicrosoft Azure 上の データストアの選び方とデータサイエンティスト向け活用法。KVSからDWHまで
やりたいことから考えるMicrosoft Azure 上の データストアの選び方とデータサイエンティスト向け活用法。KVSからDWHまで
Daisuke Masubuchi
 
SQL Server 使いのための Azure Synapse Analytics - Spark 入門
SQL Server 使いのための Azure Synapse Analytics - Spark 入門SQL Server 使いのための Azure Synapse Analytics - Spark 入門
SQL Server 使いのための Azure Synapse Analytics - Spark 入門
Daiyu Hatakeyama
 
OSC ver : MariaDB ColumnStore ベンチマークしちゃいませんか?
OSC ver : MariaDB ColumnStore ベンチマークしちゃいませんか?OSC ver : MariaDB ColumnStore ベンチマークしちゃいませんか?
OSC ver : MariaDB ColumnStore ベンチマークしちゃいませんか?
KAWANO KAZUYUKI
 
SDN Japan: ovs-hw
SDN Japan: ovs-hwSDN Japan: ovs-hw
SDN Japan: ovs-hw
ykuga
 
Boston Viridis - Carxeda EnergyCore SoC (ARM Cortex A9) based cluster applian...
Boston Viridis - Carxeda EnergyCore SoC (ARM Cortex A9) based cluster applian...Boston Viridis - Carxeda EnergyCore SoC (ARM Cortex A9) based cluster applian...
Boston Viridis - Carxeda EnergyCore SoC (ARM Cortex A9) based cluster applian...
Atsushi Suzuki
 
Snr005 レノボだから実現
Snr005 レノボだから実現Snr005 レノボだから実現
Snr005 レノボだから実現
Tech Summit 2016
 
プロとしてのOracleアーキテクチャ入門 ~番外編~ @ Developers Summit 2009
プロとしてのOracleアーキテクチャ入門 ~番外編~ @ Developers Summit 2009プロとしてのOracleアーキテクチャ入門 ~番外編~ @ Developers Summit 2009
プロとしてのOracleアーキテクチャ入門 ~番外編~ @ Developers Summit 2009
Ryota Watabe
 
社内サーバインフラ勉強会(DB)
社内サーバインフラ勉強会(DB)社内サーバインフラ勉強会(DB)
社内サーバインフラ勉強会(DB)
Masahiro NAKAYAMA
 
[db tech showcase Tokyo 2014] B13: PCIe SSDを用いたMySQL 5.6と5.7 のパフォーマンス対決!~MySQ...
[db tech showcase Tokyo 2014] B13: PCIe SSDを用いたMySQL 5.6と5.7 のパフォーマンス対決!~MySQ...[db tech showcase Tokyo 2014] B13: PCIe SSDを用いたMySQL 5.6と5.7 のパフォーマンス対決!~MySQ...
[db tech showcase Tokyo 2014] B13: PCIe SSDを用いたMySQL 5.6と5.7 のパフォーマンス対決!~MySQ...
Insight Technology, Inc.
 
Dbts2012 unconference wttrw_yazekatsu_publish
Dbts2012 unconference wttrw_yazekatsu_publishDbts2012 unconference wttrw_yazekatsu_publish
Dbts2012 unconference wttrw_yazekatsu_publishYohei Azekatsu
 
[よくわかるクラウドデータベース] Amazon RDS for PostgreSQL検証報告
[よくわかるクラウドデータベース] Amazon RDS for PostgreSQL検証報告[よくわかるクラウドデータベース] Amazon RDS for PostgreSQL検証報告
[よくわかるクラウドデータベース] Amazon RDS for PostgreSQL検証報告Amazon Web Services Japan
 

Similar to V6read#4 (20)

V6read#3
V6read#3V6read#3
V6read#3
 
PostgreSQL 9.2 新機能 - OSC 2012 Kansai@Kyoto
PostgreSQL 9.2 新機能 - OSC 2012 Kansai@KyotoPostgreSQL 9.2 新機能 - OSC 2012 Kansai@Kyoto
PostgreSQL 9.2 新機能 - OSC 2012 Kansai@Kyoto
 
PostgreSQL 9.2 新機能 - 新潟オープンソースセミナー2012
PostgreSQL 9.2 新機能 - 新潟オープンソースセミナー2012PostgreSQL 9.2 新機能 - 新潟オープンソースセミナー2012
PostgreSQL 9.2 新機能 - 新潟オープンソースセミナー2012
 
遊休リソースを用いた 相同性検索処理の並列化とその評価
遊休リソースを用いた相同性検索処理の並列化とその評価遊休リソースを用いた相同性検索処理の並列化とその評価
遊休リソースを用いた 相同性検索処理の並列化とその評価
 
CPUの同時実行機能
CPUの同時実行機能CPUの同時実行機能
CPUの同時実行機能
 
pgconfasia2016 lt ssd2gpu
pgconfasia2016 lt ssd2gpupgconfasia2016 lt ssd2gpu
pgconfasia2016 lt ssd2gpu
 
ASPLOS2017: Building Durable Transactions with Decoupling for Persistent Memory
ASPLOS2017: Building Durable Transactions with Decoupling for Persistent MemoryASPLOS2017: Building Durable Transactions with Decoupling for Persistent Memory
ASPLOS2017: Building Durable Transactions with Decoupling for Persistent Memory
 
Rps・rfs等最新linux kernel事例
Rps・rfs等最新linux kernel事例Rps・rfs等最新linux kernel事例
Rps・rfs等最新linux kernel事例
 
Linux packet-forwarding
Linux packet-forwardingLinux packet-forwarding
Linux packet-forwarding
 
やりたいことから考えるMicrosoft Azure 上の データストアの選び方とデータサイエンティスト向け活用法。KVSからDWHまで
やりたいことから考えるMicrosoft Azure 上の データストアの選び方とデータサイエンティスト向け活用法。KVSからDWHまでやりたいことから考えるMicrosoft Azure 上の データストアの選び方とデータサイエンティスト向け活用法。KVSからDWHまで
やりたいことから考えるMicrosoft Azure 上の データストアの選び方とデータサイエンティスト向け活用法。KVSからDWHまで
 
SQL Server 使いのための Azure Synapse Analytics - Spark 入門
SQL Server 使いのための Azure Synapse Analytics - Spark 入門SQL Server 使いのための Azure Synapse Analytics - Spark 入門
SQL Server 使いのための Azure Synapse Analytics - Spark 入門
 
OSC ver : MariaDB ColumnStore ベンチマークしちゃいませんか?
OSC ver : MariaDB ColumnStore ベンチマークしちゃいませんか?OSC ver : MariaDB ColumnStore ベンチマークしちゃいませんか?
OSC ver : MariaDB ColumnStore ベンチマークしちゃいませんか?
 
SDN Japan: ovs-hw
SDN Japan: ovs-hwSDN Japan: ovs-hw
SDN Japan: ovs-hw
 
Boston Viridis - Carxeda EnergyCore SoC (ARM Cortex A9) based cluster applian...
Boston Viridis - Carxeda EnergyCore SoC (ARM Cortex A9) based cluster applian...Boston Viridis - Carxeda EnergyCore SoC (ARM Cortex A9) based cluster applian...
Boston Viridis - Carxeda EnergyCore SoC (ARM Cortex A9) based cluster applian...
 
Snr005 レノボだから実現
Snr005 レノボだから実現Snr005 レノボだから実現
Snr005 レノボだから実現
 
プロとしてのOracleアーキテクチャ入門 ~番外編~ @ Developers Summit 2009
プロとしてのOracleアーキテクチャ入門 ~番外編~ @ Developers Summit 2009プロとしてのOracleアーキテクチャ入門 ~番外編~ @ Developers Summit 2009
プロとしてのOracleアーキテクチャ入門 ~番外編~ @ Developers Summit 2009
 
社内サーバインフラ勉強会(DB)
社内サーバインフラ勉強会(DB)社内サーバインフラ勉強会(DB)
社内サーバインフラ勉強会(DB)
 
[db tech showcase Tokyo 2014] B13: PCIe SSDを用いたMySQL 5.6と5.7 のパフォーマンス対決!~MySQ...
[db tech showcase Tokyo 2014] B13: PCIe SSDを用いたMySQL 5.6と5.7 のパフォーマンス対決!~MySQ...[db tech showcase Tokyo 2014] B13: PCIe SSDを用いたMySQL 5.6と5.7 のパフォーマンス対決!~MySQ...
[db tech showcase Tokyo 2014] B13: PCIe SSDを用いたMySQL 5.6と5.7 のパフォーマンス対決!~MySQ...
 
Dbts2012 unconference wttrw_yazekatsu_publish
Dbts2012 unconference wttrw_yazekatsu_publishDbts2012 unconference wttrw_yazekatsu_publish
Dbts2012 unconference wttrw_yazekatsu_publish
 
[よくわかるクラウドデータベース] Amazon RDS for PostgreSQL検証報告
[よくわかるクラウドデータベース] Amazon RDS for PostgreSQL検証報告[よくわかるクラウドデータベース] Amazon RDS for PostgreSQL検証報告
[よくわかるクラウドデータベース] Amazon RDS for PostgreSQL検証報告
 

More from magoroku Yamamoto

Deep learning入門
Deep learning入門Deep learning入門
Deep learning入門
magoroku Yamamoto
 
自動並列化コンパイラをAndroidに適用してみた
自動並列化コンパイラをAndroidに適用してみた自動並列化コンパイラをAndroidに適用してみた
自動並列化コンパイラをAndroidに適用してみたmagoroku Yamamoto
 
Oscar compiler for power reduction
Oscar compiler for power reduction Oscar compiler for power reduction
Oscar compiler for power reduction
magoroku Yamamoto
 
Android builders summit slide tour
Android builders summit slide tourAndroid builders summit slide tour
Android builders summit slide tourmagoroku Yamamoto
 
第4回名古屋Android勉強会資料
第4回名古屋Android勉強会資料第4回名古屋Android勉強会資料
第4回名古屋Android勉強会資料magoroku Yamamoto
 
Poorman’s adk トレーナ
Poorman’s adk トレーナPoorman’s adk トレーナ
Poorman’s adk トレーナmagoroku Yamamoto
 
Unixファイルシステムの歴史
Unixファイルシステムの歴史Unixファイルシステムの歴史
Unixファイルシステムの歴史magoroku Yamamoto
 
Androidの入力システム
Androidの入力システムAndroidの入力システム
Androidの入力システムmagoroku Yamamoto
 
ぐだ生システム再構成4
ぐだ生システム再構成4ぐだ生システム再構成4
ぐだ生システム再構成4magoroku Yamamoto
 

More from magoroku Yamamoto (20)

Deep learning入門
Deep learning入門Deep learning入門
Deep learning入門
 
波形で見るBig.little
波形で見るBig.little波形で見るBig.little
波形で見るBig.little
 
自動並列化コンパイラをAndroidに適用してみた
自動並列化コンパイラをAndroidに適用してみた自動並列化コンパイラをAndroidに適用してみた
自動並列化コンパイラをAndroidに適用してみた
 
Oscar compiler for power reduction
Oscar compiler for power reduction Oscar compiler for power reduction
Oscar compiler for power reduction
 
Unix v6 セミナー vol. 5
Unix v6 セミナー vol. 5Unix v6 セミナー vol. 5
Unix v6 セミナー vol. 5
 
Adk2012
Adk2012Adk2012
Adk2012
 
Android binder-ipc
Android binder-ipcAndroid binder-ipc
Android binder-ipc
 
ぐだ生システム#2
ぐだ生システム#2ぐだ生システム#2
ぐだ生システム#2
 
ぐだ生って何
ぐだ生って何ぐだ生って何
ぐだ生って何
 
Android builders summit slide tour
Android builders summit slide tourAndroid builders summit slide tour
Android builders summit slide tour
 
第4回名古屋Android勉強会資料
第4回名古屋Android勉強会資料第4回名古屋Android勉強会資料
第4回名古屋Android勉強会資料
 
Poorman’s adk トレーナ
Poorman’s adk トレーナPoorman’s adk トレーナ
Poorman’s adk トレーナ
 
Poormans sdk
Poormans sdkPoormans sdk
Poormans sdk
 
Ngk2011 b
Ngk2011 bNgk2011 b
Ngk2011 b
 
オレオレ家電
オレオレ家電オレオレ家電
オレオレ家電
 
Unixファイルシステムの歴史
Unixファイルシステムの歴史Unixファイルシステムの歴史
Unixファイルシステムの歴史
 
Pdp11 on-fpga
Pdp11 on-fpgaPdp11 on-fpga
Pdp11 on-fpga
 
V6read#2
V6read#2V6read#2
V6read#2
 
Androidの入力システム
Androidの入力システムAndroidの入力システム
Androidの入力システム
 
ぐだ生システム再構成4
ぐだ生システム再構成4ぐだ生システム再構成4
ぐだ生システム再構成4
 

V6read#4

  • 3. 割り込みが起こると…….. PSWのモードがカーネル CPU モードに変わり、空間が切り PC 替わる。割り込みの種類に応 ② ① じて、ベクターテーブルの値 がPCに書き込まれる text ③ text data data 割り込みの種類に応じて、ベ クターテーブルの値がPCに bss bss 書き込まれる アプリケーション カーネル stack stack
  • 4. 空間の切り替え 1 CPU PC アプリケーション カーネル PSW 00: カーネルモード text 11: ユーザモード text data 11用 00用 data APR0 APR0 APR1 APR1 bss APR2 APR2 bss APR3 APR3 APR4 APR4 APR5 APR5 APR6 APR6 struct user stack APR7 APR7 stack I/Oレジスタ
  • 5. アプリケーションの動作時 PSW PC •PSWのモードはユーザ •PCはアプリのtextセグメントを指す text data bss user user user user kstack kstack kstack kstack IOレジスタ 1 text text text text data data data data bss bss bss bss stack stack stack stack
  • 6. 割り込みの発生-空間の切り替え PSW PC •PSWのモードがカーネルに •アドレス空間の制御レジスタ text がカーネルモードに切り替わる data bss user user user user kstack kstack kstack kstack IOレジスタ 1 text text text text data data data data bss bss bss bss stack stack stack stack
  • 7. 割り込みの発生-割り込みベクタ PSW PC •割り込みベクタのエントリを text 選択してPCに data bss user user user user kstack kstack kstack kstack IOレジスタ 1 text text text text data data data data bss bss bss bss •1のアドレスと割り込み時の レジスタを退避 stack stack stack stack
  • 8. 割り込みの発生-割り込みベクタ PSW PC •割り込みベクタのエントリを text 選択してPCに data bss Vector device 004 Bus Timeout user user Illegal instruction 010 user user kstack kstackBpt-trace kstack 014 kstack 024 iot Vector device entry IOレジスタ 034 Power failur 060 Teletype input klin 114 Emulator tarp 064 Teletype output klou instruction 1 text text text 070 text Paper tape input pcin data 240 data 11/10 parity data data 074 Paper tape output pcou bss 244 bss Floting point error bss 100 bss Line clock kwlp 250 Segmentation violation 104 Programmable clock kwlp stack stack stack200 stack Line printer lpou 220 RK disk driver rkio
  • 9. 割り込みの発生ーハンドラの処理 PSW PC 2 text data bss user user user user kstack kstack kstack kstack IOレジスタ text text text text data data data data bss bss bss bss stack stack stack stack
  • 10. 割り込みの発生ーハンドラの処理 PSW PC カーネル用 APR0 text APR1 data APR2 APR3 bss APR4 APR5 APR6 user user user user APR7 kstack kstack kstack kstack IOレジスタ •処理が終わったら、退避したレジス アプリ用 タ、PCを復元して、PSWをアプリ 1 text text モードに text text APR0 APR1 •割り込み時点に復帰 data data data data APR2 APR3 bss bss bss bss APR4 APR5 APR6 stack stack stack stack APR7
  • 11.  以上の説明は、割り込み発生時から、復帰ま でにプロセスの切り替えが発生しない場合  条件によっては以下の処理でプロセスの切り 替えが発生 1. procの検索と選択 2. user構造の切り替え 3. User構造+kstackに退避した状態の復元 4. アプリへの復帰
  • 12. プロセスの切り替えー選択 PSW PC Procの検索(スケジューラ) text data ↑次に動かすアプリ(プロセス) bss のprocを見つける user user user user kstack kstack kstack kstack IOレジスタ text text text text data data data data bss bss bss bss stack stack stack stack
  • 13. プロセスの切り替えーuserの切り替え PSW PC text data proc bss user user user user kstack kstack kstack kstack IOレジスタ text text text text data data data data bss bss bss bss stack stack stack stack
  • 14. プロセスの切り替えーuserの切り替え PSW PC text data proc bss user user user user kstack kstack kstack kstack IOレジスタ アプリ用 空間管理用のレジスタを更新 APR0 text text text text APR1 data data data data APR2 APR3 bss bss bss bss APR4 APR5 APR6 stack stack stack stack APR7
  • 15. プロセスの切り替えーモードの切り替え •PSWをユーザに切り替え PSW PC •PCを復元 •退避していた、PCとレジスタを復元 text data proc bss user user user user kstack kstack kstack kstack IOレジスタ アプリ用 APR0 text text text text APR1 data data data data APR2 APR3 bss bss bss bss APR4 APR5 APR6 stack stack stack stack APR7
  • 16. プロセスの切り替えー完了 PSW PC text data proc bss user user user user kstack kstack kstack kstack IOレジスタ アプリ用 APR0 text text text text APR1 data data data data APR2 APR3 bss bss bss bss APR4 APR5 APR6 stack stack stack stack APR7