狠狠撸

狠狠撸Share a Scribd company logo
POSIX Threads
2015/10/06
0x64 Tales
#01 Parallel / Concurrent
Livesense Inc.
HORINOUCHI Masato
pthread ってなに? (1)
? 正式名称は POSIX Threads で、その名の通り POSIX 標準の非同
期処理(thread)の API 群。
? 仕様は IEEE Std 1003.1c-1995 で定義している。
? API 群なので使用する言語は問わない。
? 基本的に C言語向けのライブラリーを各言語に移植。
pthread ってなに? (2)
? あくまで API を規定しているだけなので、どのような実装かは
OS (正確には Kernel と Library) による。
? POSIX準拠のシステムであれば使用できるのはもちろん、
Win32 実装もあったりする。
? ただし 3rd party 製(現状 RedHat)。
Linux のスレッド
? ところで "Linux kernel のスレッドって結局はプロセス" って話
を聞いたことないですかね。
? 今回はこの点を簡単に説明することにします。
pthread デモ
? 食事する哲学者の問題 を問いてみよう。
? source は Sun Studio 12 のページ から持ってきました。
? din_philo.c はデッドロックの可能性あり。
? din_philo_fix1.c はトークン (セマフォ) を用いてデッド
ロックを解決している。
ps -Lf
UID PID PPID LWP C NLWP STIME TTY TIME CMD
horinou+ 21135 1804 21135 0 6 16:51 pts/1 00:00:00 ./din_philo
horinou+ 21135 1804 21136 0 6 16:51 pts/1 00:00:00 ./din_philo
horinou+ 21135 1804 21137 0 6 16:51 pts/1 00:00:00 ./din_philo
horinou+ 21135 1804 21138 0 6 16:51 pts/1 00:00:00 ./din_philo
horinou+ 21135 1804 21139 0 6 16:51 pts/1 00:00:00 ./din_philo
horinou+ 21135 1804 21140 0 6 16:51 pts/1 00:00:00 ./din_philo
? PID (process ID) が同一で LWP (thread ID) が違うスレッドを 5
つ生成できた。
Linux の pthreads 実装
? モダンな Linux + glibc では Na/ve POSIX Threads Library
(NPTL) が用いられる。
? 初期の Linux 2.6 では LinuxThreads が用いられていた。
? より前はユーザーランドで実装していた (名称不明)。
? Lightweight Process (LWP) を使用して実装している。
? LWP は複数の LWP同士でリソースを共有することが可能。
NPTL
? LWP とスレッドが 1:1 の実装、いわゆる 1:1 モデルを採用。
? それぞれのスレッドが Kernel スケジュール実体に 1:1 マッピ
ングとなる。
? プロセスもスレッド (LWP) も task_struct 構造体で管理し、
プロセススケジューリングは同一のキューで行なう。
? 要するにプロセスとスレッドの違いはほとんとない。
プロセスとスレッドのメモリ管理
? プロセス
? fork 時に新しく仮想アドレス空間を生成し親のメモリを子に
コピー。
? スレッド
? 複数のスレッドが 1つの仮想アドレス空間を共有。
プロセスの仮想アドレス空間
マルチスレッドのコンテキスト切り替えに伴うコスト から引用。
スレッドの仮想アドレス空間
マルチスレッドのコンテキスト切り替えに伴うコスト から引用。
NPTL の利点
? kernel からはスレッドもプロセス(1:1モデル)として扱えるの
で…
? 1つのプロセススケジューラーだけで管理するのでシンプ
ル。
? SMP システムでも複数のコアでスレッドの並列処理をするの
が簡単。
Linux 以外だと
? ちなみに Linux 以外の POSIX システムは M:N モデル採用例が
多い。
? FreeBSD
? Kernel Scheduler En;;es (KSE)
? Solaris
? Solaris Lightweight Process (LWP)
ご清聴ありがとうございました

More Related Content

What's hot (17)

Reading kernel org
Reading kernel orgReading kernel org
Reading kernel org
Kai Sasaki
?
圧缩?伸张?アーカイブサポートの现状と课题
圧缩?伸张?アーカイブサポートの现状と课题圧缩?伸张?アーカイブサポートの现状と课题
圧缩?伸张?アーカイブサポートの现状と课题
Hiroshi Miura
?
Meltdown を正しく理解する
Meltdown を正しく理解するMeltdown を正しく理解する
Meltdown を正しく理解する
Norimasa FUJITA
?
Lispマシン ドキュメント和訳とか、 ちびLispとか
Lispマシン ドキュメント和訳とか、 ちびLispとかLispマシン ドキュメント和訳とか、 ちびLispとか
Lispマシン ドキュメント和訳とか、 ちびLispとか
たけおか しょうぞう
?
Lisp_chibi_machine 190427
Lisp_chibi_machine 190427Lisp_chibi_machine 190427
Lisp_chibi_machine 190427
たけおか しょうぞう
?
qpstudy05 lignhing talk - virtio
qpstudy05 lignhing talk - virtioqpstudy05 lignhing talk - virtio
qpstudy05 lignhing talk - virtio
Takeshi HASEGAWA
?
ここんとーく in 大分 (opencoconのご紹介と次期バージョンの予告)
ここんとーく in 大分 (opencoconのご紹介と次期バージョンの予告)ここんとーく in 大分 (opencoconのご紹介と次期バージョンの予告)
ここんとーく in 大分 (opencoconのご紹介と次期バージョンの予告)
shimadah
?
32bit UEFIマシンで遊ぶ
32bit UEFIマシンで遊ぶ32bit UEFIマシンで遊ぶ
32bit UEFIマシンで遊ぶ
shimadah
?
虫86冲64向け自作翱厂の绍介
虫86冲64向け自作翱厂の绍介虫86冲64向け自作翱厂の绍介
虫86冲64向け自作翱厂の绍介
Yuma Ohgami
?
ターミナル上での厂飞颈蹿迟运用 ver.1.1
ターミナル上での厂飞颈蹿迟运用 ver.1.1ターミナル上での厂飞颈蹿迟运用 ver.1.1
ターミナル上での厂飞颈蹿迟运用 ver.1.1
HarutakaMatsumoto
?
ターミナル上での厂飞颈蹿迟运用
ターミナル上での厂飞颈蹿迟运用ターミナル上での厂飞颈蹿迟运用
ターミナル上での厂飞颈蹿迟运用
HarutakaMatsumoto
?
痴础贰で游んでみる
痴础贰で游んでみる痴础贰で游んでみる
痴础贰で游んでみる
超史 宮崎
?
尝颈蝉辫マシン?シミュレータの绍介
尝颈蝉辫マシン?シミュレータの绍介尝颈蝉辫マシン?シミュレータの绍介
尝颈蝉辫マシン?シミュレータの绍介
たけおか しょうぞう
?
丑辫颈苍驳で作るパケット
丑辫颈苍驳で作るパケット丑辫颈苍驳で作るパケット
丑辫颈苍驳で作るパケット
Takaaki Hoyo
?
鲍贰贵滨向け自作翱厂の绍介
鲍贰贵滨向け自作翱厂の绍介鲍贰贵滨向け自作翱厂の绍介
鲍贰贵滨向け自作翱厂の绍介
Yuma Ohgami
?
罢鲍滨作业で便利なソフト2题
罢鲍滨作业で便利なソフト2题罢鲍滨作业で便利なソフト2题
罢鲍滨作业で便利なソフト2题
shimadah
?
Reading kernel org
Reading kernel orgReading kernel org
Reading kernel org
Kai Sasaki
?
圧缩?伸张?アーカイブサポートの现状と课题
圧缩?伸张?アーカイブサポートの现状と课题圧缩?伸张?アーカイブサポートの现状と课题
圧缩?伸张?アーカイブサポートの现状と课题
Hiroshi Miura
?
Meltdown を正しく理解する
Meltdown を正しく理解するMeltdown を正しく理解する
Meltdown を正しく理解する
Norimasa FUJITA
?
Lispマシン ドキュメント和訳とか、 ちびLispとか
Lispマシン ドキュメント和訳とか、 ちびLispとかLispマシン ドキュメント和訳とか、 ちびLispとか
Lispマシン ドキュメント和訳とか、 ちびLispとか
たけおか しょうぞう
?
qpstudy05 lignhing talk - virtio
qpstudy05 lignhing talk - virtioqpstudy05 lignhing talk - virtio
qpstudy05 lignhing talk - virtio
Takeshi HASEGAWA
?
ここんとーく in 大分 (opencoconのご紹介と次期バージョンの予告)
ここんとーく in 大分 (opencoconのご紹介と次期バージョンの予告)ここんとーく in 大分 (opencoconのご紹介と次期バージョンの予告)
ここんとーく in 大分 (opencoconのご紹介と次期バージョンの予告)
shimadah
?
32bit UEFIマシンで遊ぶ
32bit UEFIマシンで遊ぶ32bit UEFIマシンで遊ぶ
32bit UEFIマシンで遊ぶ
shimadah
?
虫86冲64向け自作翱厂の绍介
虫86冲64向け自作翱厂の绍介虫86冲64向け自作翱厂の绍介
虫86冲64向け自作翱厂の绍介
Yuma Ohgami
?
ターミナル上での厂飞颈蹿迟运用 ver.1.1
ターミナル上での厂飞颈蹿迟运用 ver.1.1ターミナル上での厂飞颈蹿迟运用 ver.1.1
ターミナル上での厂飞颈蹿迟运用 ver.1.1
HarutakaMatsumoto
?
ターミナル上での厂飞颈蹿迟运用
ターミナル上での厂飞颈蹿迟运用ターミナル上での厂飞颈蹿迟运用
ターミナル上での厂飞颈蹿迟运用
HarutakaMatsumoto
?
痴础贰で游んでみる
痴础贰で游んでみる痴础贰で游んでみる
痴础贰で游んでみる
超史 宮崎
?
丑辫颈苍驳で作るパケット
丑辫颈苍驳で作るパケット丑辫颈苍驳で作るパケット
丑辫颈苍驳で作るパケット
Takaaki Hoyo
?
鲍贰贵滨向け自作翱厂の绍介
鲍贰贵滨向け自作翱厂の绍介鲍贰贵滨向け自作翱厂の绍介
鲍贰贵滨向け自作翱厂の绍介
Yuma Ohgami
?
罢鲍滨作业で便利なソフト2题
罢鲍滨作业で便利なソフト2题罢鲍滨作业で便利なソフト2题
罢鲍滨作业で便利なソフト2题
shimadah
?

Similar to POSIX Threads (20)

翱厂惫の概要と実装
翱厂惫の概要と実装翱厂惫の概要と実装
翱厂惫の概要と実装
Takuya ASADA
?
DevConf.cz 2020参加報告
DevConf.cz 2020参加報告DevConf.cz 2020参加報告
DevConf.cz 2020参加報告
Hitachi, Ltd. OSS Solution Center.
?
最小セットOS Ssp fun
最小セットOS Ssp fun最小セットOS Ssp fun
最小セットOS Ssp fun
Kiyoshi Ogawa
?
Bsd suki
Bsd sukiBsd suki
Bsd suki
yamori813
?
ロボットシステム学2015年第5回
ロボットシステム学2015年第5回ロボットシステム学2015年第5回
ロボットシステム学2015年第5回
Ryuichi Ueda
?
ロボットシステムのつくりかた ?Robot Operating Systemというアプローチ?
ロボットシステムのつくりかた ?Robot Operating Systemというアプローチ?ロボットシステムのつくりかた ?Robot Operating Systemというアプローチ?
ロボットシステムのつくりかた ?Robot Operating Systemというアプローチ?
Hideki Takase
?
尝笔滨颁レベル1技术解説セミナー(2012/11/11)
尝笔滨颁レベル1技术解説セミナー(2012/11/11)尝笔滨颁レベル1技术解説セミナー(2012/11/11)
尝笔滨颁レベル1技术解説セミナー(2012/11/11)
Kazuko Itoda
?
Portacle : Common Lispのオールインワン開発環境
Portacle : Common Lispのオールインワン開発環境Portacle : Common Lispのオールインワン開発環境
Portacle : Common Lispのオールインワン開発環境
Satoshi imai
?
Delphi Countdown
Delphi CountdownDelphi Countdown
Delphi Countdown
Hikaru Fukushi
?
OpenRTM-aistおよび RTコンポーネントプログラミングの概要
OpenRTM-aistおよび RTコンポーネントプログラミングの概要OpenRTM-aistおよび RTコンポーネントプログラミングの概要
OpenRTM-aistおよび RTコンポーネントプログラミングの概要
openrtm
?
Hydrogen → Helium での Linux kernel の違い
Hydrogen → Helium での Linux kernel の違いHydrogen → Helium での Linux kernel の違い
Hydrogen → Helium での Linux kernel の違い
Masakazu Asama
?
Tizen & Crosswalk
Tizen & CrosswalkTizen & Crosswalk
Tizen & Crosswalk
Naruto TAKAHASHI
?
OSvのご紹介 in OSC2014 Tokyo/Fall
OSvのご紹介 in OSC2014 Tokyo/FallOSvのご紹介 in OSC2014 Tokyo/Fall
OSvのご紹介 in OSC2014 Tokyo/Fall
Takuya ASADA
?
産学間連携推進室(AC部屋) 2012 成果報告会
産学間連携推進室(AC部屋) 2012 成果報告会産学間連携推進室(AC部屋) 2012 成果報告会
産学間連携推進室(AC部屋) 2012 成果報告会
Hirotaka Kawata
?
200923 01jp
200923 01jp200923 01jp
200923 01jp
openrtm
?
ZFS on Linux @ZFS Day 2011.10
ZFS on Linux @ZFS Day 2011.10ZFS on Linux @ZFS Day 2011.10
ZFS on Linux @ZFS Day 2011.10
Kazuhisa Hara
?
搁补蝉辫产别谤谤测笔颈(翱厂贬)の产业利用の现状
搁补蝉辫产别谤谤测笔颈(翱厂贬)の产业利用の现状搁补蝉辫产别谤谤测笔颈(翱厂贬)の产业利用の现状
搁补蝉辫产别谤谤测笔颈(翱厂贬)の产业利用の现状
Device WebAPI Consortium
?
OpeLa: セルフホストなOSと言語処理系を作るプロジェクト
OpeLa: セルフホストなOSと言語処理系を作るプロジェクトOpeLa: セルフホストなOSと言語処理系を作るプロジェクト
OpeLa: セルフホストなOSと言語処理系を作るプロジェクト
uchan_nos
?
プログラミング .NET Framework 第4版
プログラミング .NET Framework 第4版プログラミング .NET Framework 第4版
プログラミング .NET Framework 第4版
信之 岩永
?
20120519 #qpstudy インターフェース入門
20120519 #qpstudy インターフェース入門20120519 #qpstudy インターフェース入門
20120519 #qpstudy インターフェース入門
Hiyou Shinnonome
?
翱厂惫の概要と実装
翱厂惫の概要と実装翱厂惫の概要と実装
翱厂惫の概要と実装
Takuya ASADA
?
最小セットOS Ssp fun
最小セットOS Ssp fun最小セットOS Ssp fun
最小セットOS Ssp fun
Kiyoshi Ogawa
?
ロボットシステム学2015年第5回
ロボットシステム学2015年第5回ロボットシステム学2015年第5回
ロボットシステム学2015年第5回
Ryuichi Ueda
?
ロボットシステムのつくりかた ?Robot Operating Systemというアプローチ?
ロボットシステムのつくりかた ?Robot Operating Systemというアプローチ?ロボットシステムのつくりかた ?Robot Operating Systemというアプローチ?
ロボットシステムのつくりかた ?Robot Operating Systemというアプローチ?
Hideki Takase
?
尝笔滨颁レベル1技术解説セミナー(2012/11/11)
尝笔滨颁レベル1技术解説セミナー(2012/11/11)尝笔滨颁レベル1技术解説セミナー(2012/11/11)
尝笔滨颁レベル1技术解説セミナー(2012/11/11)
Kazuko Itoda
?
Portacle : Common Lispのオールインワン開発環境
Portacle : Common Lispのオールインワン開発環境Portacle : Common Lispのオールインワン開発環境
Portacle : Common Lispのオールインワン開発環境
Satoshi imai
?
OpenRTM-aistおよび RTコンポーネントプログラミングの概要
OpenRTM-aistおよび RTコンポーネントプログラミングの概要OpenRTM-aistおよび RTコンポーネントプログラミングの概要
OpenRTM-aistおよび RTコンポーネントプログラミングの概要
openrtm
?
Hydrogen → Helium での Linux kernel の違い
Hydrogen → Helium での Linux kernel の違いHydrogen → Helium での Linux kernel の違い
Hydrogen → Helium での Linux kernel の違い
Masakazu Asama
?
OSvのご紹介 in OSC2014 Tokyo/Fall
OSvのご紹介 in OSC2014 Tokyo/FallOSvのご紹介 in OSC2014 Tokyo/Fall
OSvのご紹介 in OSC2014 Tokyo/Fall
Takuya ASADA
?
産学間連携推進室(AC部屋) 2012 成果報告会
産学間連携推進室(AC部屋) 2012 成果報告会産学間連携推進室(AC部屋) 2012 成果報告会
産学間連携推進室(AC部屋) 2012 成果報告会
Hirotaka Kawata
?
200923 01jp
200923 01jp200923 01jp
200923 01jp
openrtm
?
ZFS on Linux @ZFS Day 2011.10
ZFS on Linux @ZFS Day 2011.10ZFS on Linux @ZFS Day 2011.10
ZFS on Linux @ZFS Day 2011.10
Kazuhisa Hara
?
搁补蝉辫产别谤谤测笔颈(翱厂贬)の产业利用の现状
搁补蝉辫产别谤谤测笔颈(翱厂贬)の产业利用の现状搁补蝉辫产别谤谤测笔颈(翱厂贬)の产业利用の现状
搁补蝉辫产别谤谤测笔颈(翱厂贬)の产业利用の现状
Device WebAPI Consortium
?
OpeLa: セルフホストなOSと言語処理系を作るプロジェクト
OpeLa: セルフホストなOSと言語処理系を作るプロジェクトOpeLa: セルフホストなOSと言語処理系を作るプロジェクト
OpeLa: セルフホストなOSと言語処理系を作るプロジェクト
uchan_nos
?
プログラミング .NET Framework 第4版
プログラミング .NET Framework 第4版プログラミング .NET Framework 第4版
プログラミング .NET Framework 第4版
信之 岩永
?
20120519 #qpstudy インターフェース入門
20120519 #qpstudy インターフェース入門20120519 #qpstudy インターフェース入門
20120519 #qpstudy インターフェース入門
Hiyou Shinnonome
?

More from Masato HORINOUCHI (9)

Church Numerals
Church NumeralsChurch Numerals
Church Numerals
Masato HORINOUCHI
?
CPS & CTO
CPS & CTOCPS & CTO
CPS & CTO
Masato HORINOUCHI
?
FM synthesis
FM synthesisFM synthesis
FM synthesis
Masato HORINOUCHI
?
Inside mml2wav.rb
Inside mml2wav.rbInside mml2wav.rb
Inside mml2wav.rb
Masato HORINOUCHI
?
A440
A440A440
A440
Masato HORINOUCHI
?
Scheme Interpreter in Ruby
Scheme Interpreter in RubyScheme Interpreter in Ruby
Scheme Interpreter in Ruby
Masato HORINOUCHI
?
Clock / Timer
Clock / TimerClock / Timer
Clock / Timer
Masato HORINOUCHI
?
Hash Tree
Hash TreeHash Tree
Hash Tree
Masato HORINOUCHI
?
贰濒颈虫颈谤绍介
贰濒颈虫颈谤绍介贰濒颈虫颈谤绍介
贰濒颈虫颈谤绍介
Masato HORINOUCHI
?

Recently uploaded (11)

空间オーディオを用いたヘッドパスワードの提案と音源提示手法の最适化
空间オーディオを用いたヘッドパスワードの提案と音源提示手法の最适化空间オーディオを用いたヘッドパスワードの提案と音源提示手法の最适化
空间オーディオを用いたヘッドパスワードの提案と音源提示手法の最适化
sugiuralab
?
第1回日本理学疗法推论学会学术大会での発表资料(2025年3月2日 高桥可奈恵)
第1回日本理学疗法推论学会学术大会での発表资料(2025年3月2日 高桥可奈恵)第1回日本理学疗法推论学会学术大会での発表资料(2025年3月2日 高桥可奈恵)
第1回日本理学疗法推论学会学术大会での発表资料(2025年3月2日 高桥可奈恵)
Matsushita Laboratory
?
LF Decentralized Trust Tokyo Meetup 3
LF Decentralized Trust Tokyo Meetup 3LF Decentralized Trust Tokyo Meetup 3
LF Decentralized Trust Tokyo Meetup 3
LFDT Tokyo Meetup
?
狈辞诲补滨迟蝉耻办颈冲反省観点の分类に基づく试合の振り返り支援システムに関する有用性検証冲顿贰滨惭2025
狈辞诲补滨迟蝉耻办颈冲反省観点の分类に基づく试合の振り返り支援システムに関する有用性検証冲顿贰滨惭2025狈辞诲补滨迟蝉耻办颈冲反省観点の分类に基づく试合の振り返り支援システムに関する有用性検証冲顿贰滨惭2025
狈辞诲补滨迟蝉耻办颈冲反省観点の分类に基づく试合の振り返り支援システムに関する有用性検証冲顿贰滨惭2025
Matsushita Laboratory
?
测距センサと滨惭鲍センサを用いた指轮型デバイスにおける颜认証システムの提案
测距センサと滨惭鲍センサを用いた指轮型デバイスにおける颜认証システムの提案测距センサと滨惭鲍センサを用いた指轮型デバイスにおける颜认証システムの提案
测距センサと滨惭鲍センサを用いた指轮型デバイスにおける颜认証システムの提案
sugiuralab
?
ラズパイを使って作品を作ったらラズパイコンテストで碍厂驰赏を貰って、さらに、文化庁メディア芸术祭で审査员推荐作品に选ばれてしまった件?自作チップでラズパイ...
ラズパイを使って作品を作ったらラズパイコンテストで碍厂驰赏を貰って、さらに、文化庁メディア芸术祭で审査员推荐作品に选ばれてしまった件?自作チップでラズパイ...ラズパイを使って作品を作ったらラズパイコンテストで碍厂驰赏を貰って、さらに、文化庁メディア芸术祭で审査员推荐作品に选ばれてしまった件?自作チップでラズパイ...
ラズパイを使って作品を作ったらラズパイコンテストで碍厂驰赏を貰って、さらに、文化庁メディア芸术祭で审査员推荐作品に选ばれてしまった件?自作チップでラズパイ...
Industrial Technology Research Institute (ITRI)(工業技術研究院, 工研院)
?
贬补谤耻办颈厂丑颈苍办补飞补冲尝尝惭を利用した果树农家の経験知の対话的蓄积支援冲诲别颈尘2025
贬补谤耻办颈厂丑颈苍办补飞补冲尝尝惭を利用した果树农家の経験知の対话的蓄积支援冲诲别颈尘2025贬补谤耻办颈厂丑颈苍办补飞补冲尝尝惭を利用した果树农家の経験知の対话的蓄积支援冲诲别颈尘2025
贬补谤耻办颈厂丑颈苍办补飞补冲尝尝惭を利用した果树农家の経験知の対话的蓄积支援冲诲别颈尘2025
Matsushita Laboratory
?
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
CRI Japan, Inc.
?
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
NTT DATA Technology & Innovation
?
【卒业论文】尝尝惭を用いた惭耻濒迟颈-础驳别苍迟-顿别产补迟别における反论の効果に関する研究
【卒业论文】尝尝惭を用いた惭耻濒迟颈-础驳别苍迟-顿别产补迟别における反论の効果に関する研究【卒业论文】尝尝惭を用いた惭耻濒迟颈-础驳别苍迟-顿别产补迟别における反论の効果に関する研究
【卒业论文】尝尝惭を用いた惭耻濒迟颈-础驳别苍迟-顿别产补迟别における反论の効果に関する研究
harmonylab
?
【卒业论文】深层学习によるログ异常検知モデルを用いたサイバー攻撃検知に関する研究
【卒业论文】深层学习によるログ异常検知モデルを用いたサイバー攻撃検知に関する研究【卒业论文】深层学习によるログ异常検知モデルを用いたサイバー攻撃検知に関する研究
【卒业论文】深层学习によるログ异常検知モデルを用いたサイバー攻撃検知に関する研究
harmonylab
?
空间オーディオを用いたヘッドパスワードの提案と音源提示手法の最适化
空间オーディオを用いたヘッドパスワードの提案と音源提示手法の最适化空间オーディオを用いたヘッドパスワードの提案と音源提示手法の最适化
空间オーディオを用いたヘッドパスワードの提案と音源提示手法の最适化
sugiuralab
?
第1回日本理学疗法推论学会学术大会での発表资料(2025年3月2日 高桥可奈恵)
第1回日本理学疗法推论学会学术大会での発表资料(2025年3月2日 高桥可奈恵)第1回日本理学疗法推论学会学术大会での発表资料(2025年3月2日 高桥可奈恵)
第1回日本理学疗法推论学会学术大会での発表资料(2025年3月2日 高桥可奈恵)
Matsushita Laboratory
?
LF Decentralized Trust Tokyo Meetup 3
LF Decentralized Trust Tokyo Meetup 3LF Decentralized Trust Tokyo Meetup 3
LF Decentralized Trust Tokyo Meetup 3
LFDT Tokyo Meetup
?
狈辞诲补滨迟蝉耻办颈冲反省観点の分类に基づく试合の振り返り支援システムに関する有用性検証冲顿贰滨惭2025
狈辞诲补滨迟蝉耻办颈冲反省観点の分类に基づく试合の振り返り支援システムに関する有用性検証冲顿贰滨惭2025狈辞诲补滨迟蝉耻办颈冲反省観点の分类に基づく试合の振り返り支援システムに関する有用性検証冲顿贰滨惭2025
狈辞诲补滨迟蝉耻办颈冲反省観点の分类に基づく试合の振り返り支援システムに関する有用性検証冲顿贰滨惭2025
Matsushita Laboratory
?
测距センサと滨惭鲍センサを用いた指轮型デバイスにおける颜认証システムの提案
测距センサと滨惭鲍センサを用いた指轮型デバイスにおける颜认証システムの提案测距センサと滨惭鲍センサを用いた指轮型デバイスにおける颜认証システムの提案
测距センサと滨惭鲍センサを用いた指轮型デバイスにおける颜认証システムの提案
sugiuralab
?
ラズパイを使って作品を作ったらラズパイコンテストで碍厂驰赏を貰って、さらに、文化庁メディア芸术祭で审査员推荐作品に选ばれてしまった件?自作チップでラズパイ...
ラズパイを使って作品を作ったらラズパイコンテストで碍厂驰赏を貰って、さらに、文化庁メディア芸术祭で审査员推荐作品に选ばれてしまった件?自作チップでラズパイ...ラズパイを使って作品を作ったらラズパイコンテストで碍厂驰赏を貰って、さらに、文化庁メディア芸术祭で审査员推荐作品に选ばれてしまった件?自作チップでラズパイ...
ラズパイを使って作品を作ったらラズパイコンテストで碍厂驰赏を貰って、さらに、文化庁メディア芸术祭で审査员推荐作品に选ばれてしまった件?自作チップでラズパイ...
Industrial Technology Research Institute (ITRI)(工業技術研究院, 工研院)
?
贬补谤耻办颈厂丑颈苍办补飞补冲尝尝惭を利用した果树农家の経験知の対话的蓄积支援冲诲别颈尘2025
贬补谤耻办颈厂丑颈苍办补飞补冲尝尝惭を利用した果树农家の経験知の対话的蓄积支援冲诲别颈尘2025贬补谤耻办颈厂丑颈苍办补飞补冲尝尝惭を利用した果树农家の経験知の対话的蓄积支援冲诲别颈尘2025
贬补谤耻办颈厂丑颈苍办补飞补冲尝尝惭を利用した果树农家の経験知の対话的蓄积支援冲诲别颈尘2025
Matsushita Laboratory
?
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
CRI Japan, Inc.
?
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
NTT DATA Technology & Innovation
?
【卒业论文】尝尝惭を用いた惭耻濒迟颈-础驳别苍迟-顿别产补迟别における反论の効果に関する研究
【卒业论文】尝尝惭を用いた惭耻濒迟颈-础驳别苍迟-顿别产补迟别における反论の効果に関する研究【卒业论文】尝尝惭を用いた惭耻濒迟颈-础驳别苍迟-顿别产补迟别における反论の効果に関する研究
【卒业论文】尝尝惭を用いた惭耻濒迟颈-础驳别苍迟-顿别产补迟别における反论の効果に関する研究
harmonylab
?
【卒业论文】深层学习によるログ异常検知モデルを用いたサイバー攻撃検知に関する研究
【卒业论文】深层学习によるログ异常検知モデルを用いたサイバー攻撃検知に関する研究【卒业论文】深层学习によるログ异常検知モデルを用いたサイバー攻撃検知に関する研究
【卒业论文】深层学习によるログ异常検知モデルを用いたサイバー攻撃検知に関する研究
harmonylab
?

POSIX Threads

  • 1. POSIX Threads 2015/10/06 0x64 Tales #01 Parallel / Concurrent Livesense Inc. HORINOUCHI Masato
  • 2. pthread ってなに? (1) ? 正式名称は POSIX Threads で、その名の通り POSIX 標準の非同 期処理(thread)の API 群。 ? 仕様は IEEE Std 1003.1c-1995 で定義している。 ? API 群なので使用する言語は問わない。 ? 基本的に C言語向けのライブラリーを各言語に移植。
  • 3. pthread ってなに? (2) ? あくまで API を規定しているだけなので、どのような実装かは OS (正確には Kernel と Library) による。 ? POSIX準拠のシステムであれば使用できるのはもちろん、 Win32 実装もあったりする。 ? ただし 3rd party 製(現状 RedHat)。
  • 4. Linux のスレッド ? ところで "Linux kernel のスレッドって結局はプロセス" って話 を聞いたことないですかね。 ? 今回はこの点を簡単に説明することにします。
  • 5. pthread デモ ? 食事する哲学者の問題 を問いてみよう。 ? source は Sun Studio 12 のページ から持ってきました。 ? din_philo.c はデッドロックの可能性あり。 ? din_philo_fix1.c はトークン (セマフォ) を用いてデッド ロックを解決している。
  • 6. ps -Lf UID PID PPID LWP C NLWP STIME TTY TIME CMD horinou+ 21135 1804 21135 0 6 16:51 pts/1 00:00:00 ./din_philo horinou+ 21135 1804 21136 0 6 16:51 pts/1 00:00:00 ./din_philo horinou+ 21135 1804 21137 0 6 16:51 pts/1 00:00:00 ./din_philo horinou+ 21135 1804 21138 0 6 16:51 pts/1 00:00:00 ./din_philo horinou+ 21135 1804 21139 0 6 16:51 pts/1 00:00:00 ./din_philo horinou+ 21135 1804 21140 0 6 16:51 pts/1 00:00:00 ./din_philo ? PID (process ID) が同一で LWP (thread ID) が違うスレッドを 5 つ生成できた。
  • 7. Linux の pthreads 実装 ? モダンな Linux + glibc では Na/ve POSIX Threads Library (NPTL) が用いられる。 ? 初期の Linux 2.6 では LinuxThreads が用いられていた。 ? より前はユーザーランドで実装していた (名称不明)。 ? Lightweight Process (LWP) を使用して実装している。 ? LWP は複数の LWP同士でリソースを共有することが可能。
  • 8. NPTL ? LWP とスレッドが 1:1 の実装、いわゆる 1:1 モデルを採用。 ? それぞれのスレッドが Kernel スケジュール実体に 1:1 マッピ ングとなる。 ? プロセスもスレッド (LWP) も task_struct 構造体で管理し、 プロセススケジューリングは同一のキューで行なう。 ? 要するにプロセスとスレッドの違いはほとんとない。
  • 9. プロセスとスレッドのメモリ管理 ? プロセス ? fork 時に新しく仮想アドレス空間を生成し親のメモリを子に コピー。 ? スレッド ? 複数のスレッドが 1つの仮想アドレス空間を共有。
  • 12. NPTL の利点 ? kernel からはスレッドもプロセス(1:1モデル)として扱えるの で… ? 1つのプロセススケジューラーだけで管理するのでシンプ ル。 ? SMP システムでも複数のコアでスレッドの並列処理をするの が簡単。
  • 13. Linux 以外だと ? ちなみに Linux 以外の POSIX システムは M:N モデル採用例が 多い。 ? FreeBSD ? Kernel Scheduler En;;es (KSE) ? Solaris ? Solaris Lightweight Process (LWP)