Submit Search
Upload
[Basic 7] OS の基本 / 割り込み / システム コール / メモリ管理
•
0 likes
•
1,338 views
Yuto Takei
Follow
早稲田大学 高度データ関連人材育成コンソーシアム D-DATa ブロックチェーン エンジニアリング 基礎編 第7回 2018/2/25
Read less
Read more
Education
Report
Share
Report
Share
1 of 33
Download now
Download to read offline
Recommended
Linuxカーネルから紐解くAndroid
Linuxカーネルから紐解くAndroid
demuyan
低レイヤー入門
低レイヤー入門
demuyan
ラズパイでデバイスドライバを作ってみた。
ラズパイでデバイスドライバを作ってみた。
Kazuki Onishi
Dalvik仮想マシンのアーキテクチャ 改訂版
Dalvik仮想マシンのアーキテクチャ 改訂版
Takuya Matsunaga
「電車でGO!!」アーケード大型3画面筐体で実在の街並みを表現するUE4開発事例
「電車でGO!!」アーケード大型3画面筐体で実在の街並みを表現するUE4開発事例
エピック・ゲームズ・ジャパン Epic Games Japan
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
Mr. Vengineer
Lxc で始めるケチケチ仮想化生活?!
Lxc で始めるケチケチ仮想化生活?!
Etsuji Nakai
遠隔デバイスとの信頼を築くための技術とその標準(TEEP RATS)
遠隔デバイスとの信頼を築くための技術とその標準(TEEP RATS)
Kuniyasu Suzaki
Recommended
Linuxカーネルから紐解くAndroid
Linuxカーネルから紐解くAndroid
demuyan
低レイヤー入門
低レイヤー入門
demuyan
ラズパイでデバイスドライバを作ってみた。
ラズパイでデバイスドライバを作ってみた。
Kazuki Onishi
Dalvik仮想マシンのアーキテクチャ 改訂版
Dalvik仮想マシンのアーキテクチャ 改訂版
Takuya Matsunaga
「電車でGO!!」アーケード大型3画面筐体で実在の街並みを表現するUE4開発事例
「電車でGO!!」アーケード大型3画面筐体で実在の街並みを表現するUE4開発事例
エピック・ゲームズ・ジャパン Epic Games Japan
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
Mr. Vengineer
Lxc で始めるケチケチ仮想化生活?!
Lxc で始めるケチケチ仮想化生活?!
Etsuji Nakai
遠隔デバイスとの信頼を築くための技術とその標準(TEEP RATS)
遠隔デバイスとの信頼を築くための技術とその標準(TEEP RATS)
Kuniyasu Suzaki
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
sairoutine
Twitterのsnowflakeについて
Twitterのsnowflakeについて
moai kids
カスタムメモリマネージャと高速なメモリアロケータについて
カスタムメモリマネージャと高速なメモリアロケータについて
alwei
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
SEGADevTech
AlmaLinux と Rocky Linux の誕生経緯&比較
AlmaLinux と Rocky Linux の誕生経緯&比較
beyond Co., Ltd.
IETF111 RATS: Remote Attestation ProcedureS 報告
IETF111 RATS: Remote Attestation ProcedureS 報告
Kuniyasu Suzaki
インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方
Shohei Koyama
サポート エンジニアが語る、トラブルを未然に防ぐための Azure インフラ設計
サポート エンジニアが語る、トラブルを未然に防ぐための Azure インフラ設計
ShuheiUda
明日から始める! ソフトウェアのグリーン化(GSF MeetUp Tokyo 発表資料)
明日から始める! ソフトウェアのグリーン化(GSF MeetUp Tokyo 発表資料)
NTT DATA Technology & Innovation
ESP32開発環境まとめ
ESP32開発環境まとめ
Kenta IDA
WebAssemblyのWeb以外のことぜんぶ話す
WebAssemblyのWeb以外のことぜんぶ話す
Takaya Saeki
軽量Kubernetes環境 K3Sのご紹介
軽量Kubernetes環境 K3Sのご紹介
Tetsurou Yano
【学習メモ#1st】12ステップで作る組込みOS自作入門
【学習メモ#1st】12ステップで作る組込みOS自作入門
sandai
あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界
Yoshinori Nakanishi
初心者向けデバイスドライバ講座(1)
初心者向けデバイスドライバ講座(1)
Study Group by SciencePark Corp.
DSIRNLP #3 LZ4 の速さの秘密に迫ってみる
DSIRNLP #3 LZ4 の速さの秘密に迫ってみる
Atsushi KOMIYA
『SHOWROOM』の大規模化に伴う技術課題のソリューション ~演者・視聴者の熱量を支える負荷対策、HTML5対応など~
『SHOWROOM』の大規模化に伴う技術課題のソリューション ~演者・視聴者の熱量を支える負荷対策、HTML5対応など~
DeNA
20111015 勉強会 (PCIe / SR-IOV)
20111015 勉強会 (PCIe / SR-IOV)
Kentaro Ebisawa
いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0
Masakazu Matsushita
/etc/network/interfaces について
/etc/network/interfaces について
Kazuhiro Nishiyama
PFI Seminar 2010/01/21
PFI Seminar 2010/01/21
Preferred Networks
Dbts2012 unconference wttrw_yazekatsu_publish
Dbts2012 unconference wttrw_yazekatsu_publish
Yohei Azekatsu
More Related Content
What's hot
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
sairoutine
Twitterのsnowflakeについて
Twitterのsnowflakeについて
moai kids
カスタムメモリマネージャと高速なメモリアロケータについて
カスタムメモリマネージャと高速なメモリアロケータについて
alwei
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
SEGADevTech
AlmaLinux と Rocky Linux の誕生経緯&比較
AlmaLinux と Rocky Linux の誕生経緯&比較
beyond Co., Ltd.
IETF111 RATS: Remote Attestation ProcedureS 報告
IETF111 RATS: Remote Attestation ProcedureS 報告
Kuniyasu Suzaki
インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方
Shohei Koyama
サポート エンジニアが語る、トラブルを未然に防ぐための Azure インフラ設計
サポート エンジニアが語る、トラブルを未然に防ぐための Azure インフラ設計
ShuheiUda
明日から始める! ソフトウェアのグリーン化(GSF MeetUp Tokyo 発表資料)
明日から始める! ソフトウェアのグリーン化(GSF MeetUp Tokyo 発表資料)
NTT DATA Technology & Innovation
ESP32開発環境まとめ
ESP32開発環境まとめ
Kenta IDA
WebAssemblyのWeb以外のことぜんぶ話す
WebAssemblyのWeb以外のことぜんぶ話す
Takaya Saeki
軽量Kubernetes環境 K3Sのご紹介
軽量Kubernetes環境 K3Sのご紹介
Tetsurou Yano
【学習メモ#1st】12ステップで作る組込みOS自作入門
【学習メモ#1st】12ステップで作る組込みOS自作入門
sandai
あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界
Yoshinori Nakanishi
初心者向けデバイスドライバ講座(1)
初心者向けデバイスドライバ講座(1)
Study Group by SciencePark Corp.
DSIRNLP #3 LZ4 の速さの秘密に迫ってみる
DSIRNLP #3 LZ4 の速さの秘密に迫ってみる
Atsushi KOMIYA
『SHOWROOM』の大規模化に伴う技術課題のソリューション ~演者・視聴者の熱量を支える負荷対策、HTML5対応など~
『SHOWROOM』の大規模化に伴う技術課題のソリューション ~演者・視聴者の熱量を支える負荷対策、HTML5対応など~
DeNA
20111015 勉強会 (PCIe / SR-IOV)
20111015 勉強会 (PCIe / SR-IOV)
Kentaro Ebisawa
いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0
Masakazu Matsushita
/etc/network/interfaces について
/etc/network/interfaces について
Kazuhiro Nishiyama
What's hot
(20)
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
Twitterのsnowflakeについて
Twitterのsnowflakeについて
カスタムメモリマネージャと高速なメモリアロケータについて
カスタムメモリマネージャと高速なメモリアロケータについて
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
AlmaLinux と Rocky Linux の誕生経緯&比較
AlmaLinux と Rocky Linux の誕生経緯&比較
IETF111 RATS: Remote Attestation ProcedureS 報告
IETF111 RATS: Remote Attestation ProcedureS 報告
インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方
サポート エンジニアが語る、トラブルを未然に防ぐための Azure インフラ設計
サポート エンジニアが語る、トラブルを未然に防ぐための Azure インフラ設計
明日から始める! ソフトウェアのグリーン化(GSF MeetUp Tokyo 発表資料)
明日から始める! ソフトウェアのグリーン化(GSF MeetUp Tokyo 発表資料)
ESP32開発環境まとめ
ESP32開発環境まとめ
WebAssemblyのWeb以外のことぜんぶ話す
WebAssemblyのWeb以外のことぜんぶ話す
軽量Kubernetes環境 K3Sのご紹介
軽量Kubernetes環境 K3Sのご紹介
【学習メモ#1st】12ステップで作る組込みOS自作入門
【学習メモ#1st】12ステップで作る組込みOS自作入門
あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界
初心者向けデバイスドライバ講座(1)
初心者向けデバイスドライバ講座(1)
DSIRNLP #3 LZ4 の速さの秘密に迫ってみる
DSIRNLP #3 LZ4 の速さの秘密に迫ってみる
『SHOWROOM』の大規模化に伴う技術課題のソリューション ~演者・視聴者の熱量を支える負荷対策、HTML5対応など~
『SHOWROOM』の大規模化に伴う技術課題のソリューション ~演者・視聴者の熱量を支える負荷対策、HTML5対応など~
20111015 勉強会 (PCIe / SR-IOV)
20111015 勉強会 (PCIe / SR-IOV)
いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0
/etc/network/interfaces について
/etc/network/interfaces について
Similar to [Basic 7] OS の基本 / 割り込み / システム コール / メモリ管理
PFI Seminar 2010/01/21
PFI Seminar 2010/01/21
Preferred Networks
Dbts2012 unconference wttrw_yazekatsu_publish
Dbts2012 unconference wttrw_yazekatsu_publish
Yohei Azekatsu
計算機理論入門08
計算機理論入門08
Tomoyuki Tarumi
RouterBOARD with OpenFlow
RouterBOARD with OpenFlow
Toshiki Tsuboi
seccamp2012 チューター発表
seccamp2012 チューター発表
Hirotaka Kawata
2010 04クラウド技術講座
2010 04クラウド技術講座
sisawa
SaaS/クラウドコンピューティングでのオープンソース活用とセキュリティ
SaaS/クラウドコンピューティングでのオープンソース活用とセキュリティ
Kuniyasu Suzaki
産学間連携推進室(AC部屋) 2012 成果報告会
産学間連携推進室(AC部屋) 2012 成果報告会
Hirotaka Kawata
[db tech showcase Tokyo 2016] D13: NVMeフラッシュストレージを用いた高性能高拡張高可用なデータベースシステムの実現方...
[db tech showcase Tokyo 2016] D13: NVMeフラッシュストレージを用いた高性能高拡張高可用なデータベースシステムの実現方...
Insight Technology, Inc.
HandlerSocket plugin for MySQL
HandlerSocket plugin for MySQL
akirahiguchi
Fpga online seminar by fixstars (1st)
Fpga online seminar by fixstars (1st)
Fixstars Corporation
D35 NonStop SQLはなぜグローバルに分散DBを構築できるのか、データの整合性を保てるのか、その深層に迫る byToshimitsu Hara
D35 NonStop SQLはなぜグローバルに分散DBを構築できるのか、データの整合性を保てるのか、その深層に迫る byToshimitsu Hara
Insight Technology, Inc.
SCUGJ第18回勉強会:よろしい、ならばVMMだ
SCUGJ第18回勉強会:よろしい、ならばVMMだ
wind06106
[db tech showcase Tokyo 2017] D21: ついに Red Hat Enterprise Linuxで SQL Serverが使...
[db tech showcase Tokyo 2017] D21: ついに Red Hat Enterprise Linuxで SQL Serverが使...
Insight Technology, Inc.
Cld002 windows server_2016_で作るシンプ
Cld002 windows server_2016_で作るシンプ
Tech Summit 2016
ディペンダブルなクラウドコンピューティング基盤を目指して
ディペンダブルなクラウドコンピューティング基盤を目指して
Kazuhiko Kato
Linux/DB Tuning (DevSumi2010, Japanese)
Linux/DB Tuning (DevSumi2010, Japanese)
Yoshinori Matsunobu
Apache cloudstack4.0インストール
Apache cloudstack4.0インストール
Yasuhiro Arai
Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会
Dai Utsui
[db tech showcase Tokyo 2015] B12:カラムストアデータベースの技術と活用法 by 日本電気株式会社 田村稔
[db tech showcase Tokyo 2015] B12:カラムストアデータベースの技術と活用法 by 日本電気株式会社 田村稔
Insight Technology, Inc.
Similar to [Basic 7] OS の基本 / 割り込み / システム コール / メモリ管理
(20)
PFI Seminar 2010/01/21
PFI Seminar 2010/01/21
Dbts2012 unconference wttrw_yazekatsu_publish
Dbts2012 unconference wttrw_yazekatsu_publish
計算機理論入門08
計算機理論入門08
RouterBOARD with OpenFlow
RouterBOARD with OpenFlow
seccamp2012 チューター発表
seccamp2012 チューター発表
2010 04クラウド技術講座
2010 04クラウド技術講座
SaaS/クラウドコンピューティングでのオープンソース活用とセキュリティ
SaaS/クラウドコンピューティングでのオープンソース活用とセキュリティ
産学間連携推進室(AC部屋) 2012 成果報告会
産学間連携推進室(AC部屋) 2012 成果報告会
[db tech showcase Tokyo 2016] D13: NVMeフラッシュストレージを用いた高性能高拡張高可用なデータベースシステムの実現方...
[db tech showcase Tokyo 2016] D13: NVMeフラッシュストレージを用いた高性能高拡張高可用なデータベースシステムの実現方...
HandlerSocket plugin for MySQL
HandlerSocket plugin for MySQL
Fpga online seminar by fixstars (1st)
Fpga online seminar by fixstars (1st)
D35 NonStop SQLはなぜグローバルに分散DBを構築できるのか、データの整合性を保てるのか、その深層に迫る byToshimitsu Hara
D35 NonStop SQLはなぜグローバルに分散DBを構築できるのか、データの整合性を保てるのか、その深層に迫る byToshimitsu Hara
SCUGJ第18回勉強会:よろしい、ならばVMMだ
SCUGJ第18回勉強会:よろしい、ならばVMMだ
[db tech showcase Tokyo 2017] D21: ついに Red Hat Enterprise Linuxで SQL Serverが使...
[db tech showcase Tokyo 2017] D21: ついに Red Hat Enterprise Linuxで SQL Serverが使...
Cld002 windows server_2016_で作るシンプ
Cld002 windows server_2016_で作るシンプ
ディペンダブルなクラウドコンピューティング基盤を目指して
ディペンダブルなクラウドコンピューティング基盤を目指して
Linux/DB Tuning (DevSumi2010, Japanese)
Linux/DB Tuning (DevSumi2010, Japanese)
Apache cloudstack4.0インストール
Apache cloudstack4.0インストール
Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会
[db tech showcase Tokyo 2015] B12:カラムストアデータベースの技術と活用法 by 日本電気株式会社 田村稔
[db tech showcase Tokyo 2015] B12:カラムストアデータベースの技術と活用法 by 日本電気株式会社 田村稔
More from Yuto Takei
51% 攻撃の原理とシミュレーション
51% 攻撃の原理とシミュレーション
Yuto Takei
これから始めるAzure Kubernetes Service入門
これから始めるAzure Kubernetes Service入門
Yuto Takei
ブロックチェーンと仮想通貨 -- 新しいビジネスに挑戦
ブロックチェーンと仮想通貨 -- 新しいビジネスに挑戦
Yuto Takei
開発チームにおける多様性のススメ
開発チームにおける多様性のススメ
Yuto Takei
ブロックチェーン神話に迫る - 本当に使える? 使えない?
ブロックチェーン神話に迫る - 本当に使える? 使えない?
Yuto Takei
ブロックチェーン技術者が夢見る未来
ブロックチェーン技術者が夢見る未来
Yuto Takei
ブロックチェーン技術の課題と社会応用
ブロックチェーン技術の課題と社会応用
Yuto Takei
Windows コンテナを AKS に追加する
Windows コンテナを AKS に追加する
Yuto Takei
ブロックチェーンの不動産登記への応用に関する検討
ブロックチェーンの不動産登記への応用に関する検討
Yuto Takei
51% 攻撃の原理とシミュレーション
51% 攻撃の原理とシミュレーション
Yuto Takei
[Intermediate 04] ブロックチェーンの動作原理
[Intermediate 04] ブロックチェーンの動作原理
Yuto Takei
[Intermediate 03] MinChain - 教育用ブロックチェーンの紹介
[Intermediate 03] MinChain - 教育用ブロックチェーンの紹介
Yuto Takei
[Intermediate 02] シェルの使い方 / Git, GitHub について
[Intermediate 02] シェルの使い方 / Git, GitHub について
Yuto Takei
[Intermediate 01] イントロダクション / Bitcoin を動作させる
[Intermediate 01] イントロダクション / Bitcoin を動作させる
Yuto Takei
[Basic 15] ソフトウェアと知的財産権 / ブロックチェーンと計算機科学 / MinChain の紹介
[Basic 15] ソフトウェアと知的財産権 / ブロックチェーンと計算機科学 / MinChain の紹介
Yuto Takei
[Basic 14] 暗号について / RSA 暗号 / 楕円曲線暗号
[Basic 14] 暗号について / RSA 暗号 / 楕円曲線暗号
Yuto Takei
[Basic 13] 型推論 / 最適化とコード出力
[Basic 13] 型推論 / 最適化とコード出力
Yuto Takei
[Basic 12] 関数型言語 / 型理論
[Basic 12] 関数型言語 / 型理論
Yuto Takei
[Basic 11] 文脈自由文法 / 構文解析 / 言語解析プログラミング
[Basic 11] 文脈自由文法 / 構文解析 / 言語解析プログラミング
Yuto Takei
[Basic 10] 形式言語 / 字句解析
[Basic 10] 形式言語 / 字句解析
Yuto Takei
More from Yuto Takei
(20)
51% 攻撃の原理とシミュレーション
51% 攻撃の原理とシミュレーション
これから始めるAzure Kubernetes Service入門
これから始めるAzure Kubernetes Service入門
ブロックチェーンと仮想通貨 -- 新しいビジネスに挑戦
ブロックチェーンと仮想通貨 -- 新しいビジネスに挑戦
開発チームにおける多様性のススメ
開発チームにおける多様性のススメ
ブロックチェーン神話に迫る - 本当に使える? 使えない?
ブロックチェーン神話に迫る - 本当に使える? 使えない?
ブロックチェーン技術者が夢見る未来
ブロックチェーン技術者が夢見る未来
ブロックチェーン技術の課題と社会応用
ブロックチェーン技術の課題と社会応用
Windows コンテナを AKS に追加する
Windows コンテナを AKS に追加する
ブロックチェーンの不動産登記への応用に関する検討
ブロックチェーンの不動産登記への応用に関する検討
51% 攻撃の原理とシミュレーション
51% 攻撃の原理とシミュレーション
[Intermediate 04] ブロックチェーンの動作原理
[Intermediate 04] ブロックチェーンの動作原理
[Intermediate 03] MinChain - 教育用ブロックチェーンの紹介
[Intermediate 03] MinChain - 教育用ブロックチェーンの紹介
[Intermediate 02] シェルの使い方 / Git, GitHub について
[Intermediate 02] シェルの使い方 / Git, GitHub について
[Intermediate 01] イントロダクション / Bitcoin を動作させる
[Intermediate 01] イントロダクション / Bitcoin を動作させる
[Basic 15] ソフトウェアと知的財産権 / ブロックチェーンと計算機科学 / MinChain の紹介
[Basic 15] ソフトウェアと知的財産権 / ブロックチェーンと計算機科学 / MinChain の紹介
[Basic 14] 暗号について / RSA 暗号 / 楕円曲線暗号
[Basic 14] 暗号について / RSA 暗号 / 楕円曲線暗号
[Basic 13] 型推論 / 最適化とコード出力
[Basic 13] 型推論 / 最適化とコード出力
[Basic 12] 関数型言語 / 型理論
[Basic 12] 関数型言語 / 型理論
[Basic 11] 文脈自由文法 / 構文解析 / 言語解析プログラミング
[Basic 11] 文脈自由文法 / 構文解析 / 言語解析プログラミング
[Basic 10] 形式言語 / 字句解析
[Basic 10] 形式言語 / 字句解析
Recently uploaded
リアル戦国探究in米沢 当日講座1(スタッフ共有用)『兵は詐をもって立つ』についてのスライド
リアル戦国探究in米沢 当日講座1(スタッフ共有用)『兵は詐をもって立つ』についてのスライド
Ken Fukui
リアル戦国探究in米沢 当日講座2スライド(スタッフ共有用)『人を致すも人に致されず』についてのスライド
リアル戦国探究in米沢 当日講座2スライド(スタッフ共有用)『人を致すも人に致されず』についてのスライド
Ken Fukui
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
koheioishi1
TEAMIN Service overview for customer_20240422.pdf
TEAMIN Service overview for customer_20240422.pdf
yukisuga3
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ssusere0a682
リアル戦国探究in米沢 事前講座2スライド(スタッフ共有用)『両雄の強さの秘密』についてのスライド
リアル戦国探究in米沢 事前講座2スライド(スタッフ共有用)『両雄の強さの秘密』についてのスライド
Ken Fukui
リアル戦国探究in米沢 事前講座1スライド(スタッフ共有用)『川中島の謎』についてのスライド
リアル戦国探究in米沢 事前講座1スライド(スタッフ共有用)『川中島の謎』についてのスライド
Ken Fukui
リアル戦国探究in米沢 当日講座3スライド(スタッフ共有用)『糧は三度はさいせず』についてのスライド
リアル戦国探究in米沢 当日講座3スライド(スタッフ共有用)『糧は三度はさいせず』についてのスライド
Ken Fukui
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
YukiTerazawa
UniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScript
yuitoakatsukijp
Recently uploaded
(10)
リアル戦国探究in米沢 当日講座1(スタッフ共有用)『兵は詐をもって立つ』についてのスライド
リアル戦国探究in米沢 当日講座1(スタッフ共有用)『兵は詐をもって立つ』についてのスライド
リアル戦国探究in米沢 当日講座2スライド(スタッフ共有用)『人を致すも人に致されず』についてのスライド
リアル戦国探究in米沢 当日講座2スライド(スタッフ共有用)『人を致すも人に致されず』についてのスライド
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
TEAMIN Service overview for customer_20240422.pdf
TEAMIN Service overview for customer_20240422.pdf
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
リアル戦国探究in米沢 事前講座2スライド(スタッフ共有用)『両雄の強さの秘密』についてのスライド
リアル戦国探究in米沢 事前講座2スライド(スタッフ共有用)『両雄の強さの秘密』についてのスライド
リアル戦国探究in米沢 事前講座1スライド(スタッフ共有用)『川中島の謎』についてのスライド
リアル戦国探究in米沢 事前講座1スライド(スタッフ共有用)『川中島の謎』についてのスライド
リアル戦国探究in米沢 当日講座3スライド(スタッフ共有用)『糧は三度はさいせず』についてのスライド
リアル戦国探究in米沢 当日講座3スライド(スタッフ共有用)『糧は三度はさいせず』についてのスライド
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
UniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScript
[Basic 7] OS の基本 / 割り込み / システム コール / メモリ管理
1.
前回の情報の訂正 ● 特権ポート番号 (Privileged
ports) は 255 未満ではなく、1024 未満、でした ○ https://stackoverflow.com/questions/10182798/why-are-ports-below-1024-privileged ○ https://unix.stackexchange.com/questions/16564/why-are-the-first-1024-ports-restricted-to-the -root-user-only ● SDN の分類などに関する説明が間違っていました ○ 正しくは、オーバーレイ ネットワークと呼ばれる分野があり、 SDN はその中の一つです。 P2P 通信 や、それに用いる DHT なども、オーバーレイ ネットワーク分野に分類されるようです
2.
前回の情報の補足 ● TCP と
UDP の性質の差について補足 ○ TCP: Stream 通信 … データは流れとして扱われる。分けて送っても、ひとかたまりで届く ○ UDP: Datagram 通信 … データの境界が保存。 10 バイトを 10 回送ったら、そのまま届く ● Mac OS X Yosemite (10.10) では Visual Studio for Mac が使えない ○ 確認が甘かったです、すみません。 El Capitan (10.11) 以降しかサポートされていないようでした。 実機がないのでテストできていないですが、 Mono は 10.7 以降に対応しているようなので、そちら でお試しください http://www.mono-project.com/download/stable/
3.
第7回 オペレーティング システム 1. OS
の基本 2. 割り込みとシステム コール 3. メモリ管理 詳解 Linuxカーネル Daniel P. Bovet, Marco Cesati (著) ISBN: 9784873113135 画像は https://www.amazon.co.jp/dp/487311313X より引用
4.
7-1OS の基本
5.
オペレーティング システム (OS)
の役割 ● 異なるハードウェアを抽象化する ○ 現代のコンピュータには、多くのハードウェア資源や周辺装置 (NIC, GPU, etc…) が接続されてい る。これらに共通する入出力方法を規定する必要がある ○ ハードウェア資源を実態よりも仮想的に多く見せ、各プログラムに資源の限界を気にする必要をな くす ● 複数のプログラムを走れるようにする ○ 専用の計算だけを行う機械としてでなく、任意のプログラムを目的に応じて切り替えられるようにす る ○ 複数のプログラムを同時に走らせられるようにする
6.
OS が具体的に提供する機能 ● マルチタスク機能の提供 ○
プロセスのライフサイクルの管理 ○ 異なるプロセスの時間多重切り替え ○ プロセス間通信 ● メモリ資源の管理 ○ カーネル空間とユーザ空間の切り分け ○ 仮想記憶領域 / メモリ保護 ● ハードウェアとのやり取り ○ 割り込み処理 ● ファイル システム ● ユーザ インタフェース (シェル) キーボード マウス NIC USB … デバイス ドライバ システム コール インタフェース システム サービス, シェル等 ユーザ アプリケーション メモリ管理 ネットワーク制御 ハードウェア管理 プロセス管理 …
7.
特権モード (カーネル モード) システムの重要な部分について、ユーザ アプリケーションが、故意または誤って メモリ上の状態を書き換えることを防ぐ ため、特権モードで動作する ユーザ
モードのプログラムは、特権モード のプログラムが利用するメモリ領域に アクセスすることはできない CPU は、特権モードとユーザ モードとの 区別を管理する キーボード マウス NIC USB … デバイス ドライバ システム コール インタフェース システム サービス, シェル等 ユーザ アプリケーション メモリ管理 ネットワーク制御 ハードウェア管理 プロセス管理 …
8.
モノリシック / マイクロ
カーネル OS の中心的な役割をするソフトウェア群をカーネルと呼ぶ。カーネルの構成の仕方は 大きく以下のようにわけられる ● モノリシック カーネル (Monolithic Kernel) OS の機能がひとつの巨大なプログラムとして構成され、カーネルのメモリ空間で動作するもの (例: Linux) ● マイクロ カーネル (Micro Kernel) メモリ管理やプロセス管理などの最低限をカーネルモードに残し、残りの部分はシステムサー ビスとして動作させ、アプリケーションとプロセス間通信を行うもの ● ハイブリッド カーネル 上記の折衷 (例: Windows, macOS)
9.
コンピュータが起動するまで 1. 電源が投入される。メモリはまだ空。CPU は
ROM (不揮発性メモリ) 上の BIOS を起動 2. 各機器のテスト (POST) を実施。ブート ローダー が保存されているデバイスを検索 3. ハード ディスク上に MBR が見つかったら、その コードを実行し、アクティブ パーティションの ブート セクタ (IPL) にさらに制御を移す 参考: https://wiki.osdev.org/MBR_(x86) 4. 最終的に OS のコードがメモリに読み込まれ、特権モードで実行される https://en.wikipedia.org/wiki/BIOS より引用
10.
マスタ ブート レコード IBM
PC/AT 互換機からの従来のアーキテクチャ ではハード ディスクなどの補助記憶装置の先頭に MBR と呼ばれる領域がある アクティブなパーティションを検索し、そのブート セクタをメモリに読みこんで、さらに二段階目の ブートを行う 参考: https://technet.microsoft.com/library/cc976786.aspx ブート ストラップ コー ド領域 (446 バイト) 第1 パーティション 第2 パーティション 第3 パーティション 第4 パーティション 終端記号 (0x55AA) 0x000 0x1BE 0x1CE 0x1DE 0x1EE 0x1FE 0x200 パーティション テーブル (記憶装置上の区切りに関する 情報が格納されている)
11.
その他の現代的な起動方式 ● Preboot Execution
Environment (PXE) ネットワーク経由で OS を読み込んで起動する方法。NIC がブート機能を担う。 DHCP で IP を割り当ててもらい、指定された TFTP サーバから OS のイメージを ダウンロードして、制御を移転する ● Unified Extensible Firmware Interface (UEFI) BIOS に代わる、現在最新のコンピュータの多くが用いるブート ローダー。記憶装 置の大容量化、周辺装置の高度化に伴い、起動前処理もカスタマイズできるように する要請から生まれた
12.
OS の役割: プロセス管理 プログラムを実行する単位として、OS
はプロセスという単位で管理する。稼働できるプ ロセスは、スケジューラによって短時間 (クオンタム) ごとに切り替えられながら、順番に 実行される プロセス A プロセス B プロセス C オペレーティング システム
13.
OS の役割: メモリ管理 メモリは、コンピュータの開始時は空
(どの番地にも値が 書き込まれていない状態) であるが、OS の起動やプログ ラムの起動とともに、メモリが順番に割り当てられていく OS はメモリについて次のような処理を行う ● アプリケーションからのメモリ割り当て要求に応える ● 割り当てられていない領域へのアクセスを取り締まる ● メモリが不足した場合に、補助記憶装置にメモリの一部 を退避させる アプリ 1 領域 空き カーネル 領域 アプリ 2 領域 アプリ 3 領域 ストレージ
14.
OS の役割: ファイル
システム アプリケーションは、情報を補助記憶装置にいれることで永続化させる。OS はこれらへ のインタフェースを提供する ● ファイルの作成、読み書き、削除 ● アクセス権限の管理 また、記憶装置の機器の種別に依存せずに これらの操作を透過的に提供する bin/ boot bash cat chmod ⋮ ⋮
15.
OS の役割: ネットワーク 前回までに話した
TCP / IP などの通信は、現代のコンピュータが当然必要な機能とし て、OS の一部として実装されている。次のような操作が透過的に行える ● NIC の管理 ● IP, TCP, UDP, DNS, DHCP などの基本的なプロトコルのサポート ● ソケット通信の提供
16.
OS 界隈の歴史 1969 年に
AT&T ベル研究所にてケン・トンプソン、デニス・リッチーらが開発したオペ レーティング システム。のちに同氏らが C 言語を開発し、ほぼ全面的に C 言語で書き 直す。1980 年後半には、カリフォルニア大学バークレー校から Unix の派生となる BSD がリリース 1983 年に、リチャード・ストールマンが GNU プロジェクトを創設。エディタや多くのソフト ウェアがフリー ソフトウェア ライセンスにて開発される 1988 年に、IEEE が各種 OS が備えるべき共通仕様として POSIX を策定 1990 年に、リーナス・トーバルズが Unix と互換性をもちつつ、GPL のもと完全にフリー な OS として Linux をリリース
17.
7-2割り込みとシステム コール
18.
割り込み (Interrupt) 計算機の動作上、実行中のプログラムを強制的に中断して、特定の処理を要求できる 機構を割り込みと呼ぶ。OS は割り込み時の処理を管理する ●
ソフトウェア割り込み ○ システム コール呼び出し (スーパバイザ コール) ○ プログラム割り込み (トラップ, 例外): ゼロ除算, オーバーフロー, ページ フォールト, ブレークポイン ト ● ハードウェア割り込み ○ 入出力割り込み: マウスやキーボードの入力、周辺機器の IO 完了 ○ タイマ割り込み ○ マシン チェック割り込み: 機械異常などの信号
19.
割り込みを利用するメリット ● 毎度チェックするのに代わり、必要な場合だけ呼び出してもらえる ○ 例外:
演算時の異常など ● 他のプログラム実行時にでも、緊急な対応ができる ○ マシン異常に関する場合 ○ 死活監視に関する信号など ● 入出力のように長い待ち時間がある場合、終わるまでの間に他のタスクを処理でき る
20.
割り込み時の処理の流れ 割り込みハンドラ (aka 割り込みサービス
ルーチン, ISR) とよばれる特定のコードに飛 び、緊急で必要な処理を実行して、元のコードにもどる 1. 割り込み要求 (IRQ) を受けて特権モードへ移行 2. 割り込みベクタ テーブルから ISR のアドレスを取得 3. 必要に応じて、実行中のレジスタ状態を保存 4. 割り込みへの対応処理 5. 場合によっては、後続処理を予定 6. レジスタ状態を復帰 7. ユーザ モードで元のコードへ戻る 0x1000 … … … … 0x7D 0x7E 0x7F 0x80 0x81 int 0x80 ... x86 プログラム switch (eax) { case 0x00: ... } 割り込みハンドラ 割り込みベクタ
21.
割り込み中の割り込み 割り込み中であっても、他の割り込みが発生する可能性がある。優先度が高い割り込み であれば、割り込み処理中にもさらに中断をして、他の処理を継続する 割り込みを禁止する場合には IMR (割り込みマスク
レジスタ) を編集する。一方、非マ スカブル割り込み (NMI) では、最重要な割り込みなので、割り込み禁止にすることがで きない 参考: http://infocenter.arm.com/help/topic/com.arm.doc.den0024a/ch10s05.html 割り込み ハンドラ A 割り込み ハンドラ B
22.
システム コール ユーザ プログラムは、ユーザ
モードで実行される。以下のような操作を行うためには特 権レベルが必要。OS はシステム コールによってこれらの機能を提供 ● プロセス管理 - fork / execve / wait / kill / _exit ● ファイル IO - open / pipe / close / write / read / dup / poll / select / link / unlink ● ソケット通信 - socket / connect / bind / listen / accept / send / recv ● デバイス管理 - ioctl ● 情報 - time / getpid 上記は一部の例。数百の API がある。Manpage Section 2 に載っている システム コールの実行にも割り込みを利用する (たとえば x86 系アーキテクチャではeax レ ジスタにシステム コール番号をセットし、0x80 番の割り込みを送る)
23.
7-3メモリ管理
24.
ページング方式 主記憶装置のアドレスを一定の大きさごとに区分し、ページと呼ばれる単位として管理 する方法。OS からプログラムごとに割り当てるメモリ領域の最小単位 Page 0x0000 Page
0x0001 Page 0x0002 0x00000000 0x00001000 0x00002000 0x00003000 カーネルが利用 Program A が利用 Program B が利用 メモリ上の配置
25.
仮想記憶 メモリ資源の上限は主記憶装置の容量に支配される。多くのプログラムが動作できるよ う補助記憶装置にメモリの一部を置き、メモリ空間を広げる Page 0x0000 Page 0x0001 Page
0x0002 0x00000000 0x00001000 0x00002000 0x00003000 メモリ上の配置 ストレージ Page 0x0100 Page 0x0101 Page 0x0102
26.
ページ イン /
ページ アウト 仮想記憶を用いる場合、必要なデータが常にメモリ上にあるとは限らない。ページを補 助記憶装置に移すことをページ アウトと呼び、主記憶装置に戻すことをページ インと呼 ぶ。頻繁に起こるとパフォーマンス低下する (スラッシング) Page 0x0100 Empty Page 0x0210 0x00000000 0x00001000 0x00002000 0x00003000 ストレージ Page 0x0101 Page 0x0200 Page 0x0201
27.
ページ フォールト プログラムがアクセスしたいページが、必ずしもメモリ上にあるとも限らない。この場合、 アクセスすると CPU
がページ フォールトの割り込みを起こし、強制的にページ インさせ る Page 0x0100 Empty Page 0x0210 0x00000000 0x00001000 0x00002000 0x00003000 ストレージ Page 0x0101 Page 0x0200 Page 0x0201 Page 0x0200 使いたい プログラム CPU 今ない! フォールト! 割り込み!
28.
ページ インのタイミング ● デマンド
ページング プログラムがメモリの割り当て要求をだしても、実際に割り当てられたページが使わ れるまでは主記憶装置に読み込まない ● プリ ページング プログラムがあるページを読むという推測がされたら、実際に読み込み命令が発行 される前に、ページ インさせてしまう
29.
ページ アウトのタイミング どのページをページ アウトさせるかという判断は、計算機のメモリ
アクセスに大きな影 響を与える。ページ置換アルゴリズムとも ● LRU (Least Recently Used) 最後に使われたのが一番古いページからページ アウトしていく方法 ● LFU (Least Frequently Used) 単位時間あたりの参照回数が最も少ないページをページ アウトさせる方法 ● FIFO (First-In First-Out) 最も古くページ インしたものをページ アウトさせる方法
30.
仮想記憶方式を利用している場合のメモリ アドレスは、実際にメモリから読み出す前に 変換が必要となる 仮想記憶のアドレス方式 制御装置 メモリ管理装置 アドレス変換キャッ シュ (TLB) CPU ページ テーブル メモリ 0x0000000000123000 仮想メモリ
アドレス 0xABCD000123123000 実際のメモリ アドレス
31.
ページ アクセス違反 プログラムが、自分に割り当てられていないページ (本来アクセスできないページ)
を要 求すると、OS は不正なメモリ アクセスと判断し、安全のために例外を発生させる (例: SIGSEGV - セグメンテーション違反 ) Page 0x0000 Page 0x0001 Page 0x0002 0x00000000 0x00001000 0x00002000 0x00003000 Program A が利用 Program B が利用 ページ違反!
32.
POSIX でのメモリ割り当て方法 プログラミングでメモリ割り当てを行う場合には ● void
*malloc(size_t size); ● void free(void *ptr); を用いて行う OS は割り当てられるかの可否を確認して、ページを割り当てて、仮想メモリのポインタ を返すことになる
33.
第7回 まとめ 1. OS
の基本 ● OS の役割: ハードウェアの抽象化, 任意の複数プログラムの実行 ● 機能: マルチ タスク, メモリ管理, ハードウェア管理, ファイル システム, IO ● CPU レベル: 特権モード, ユーザ モード ● モノリシック, マイクロ カーネル ● ブート 2. 割り込みとシステム コール ● 割り込み: ソフトウェア割り込み, ハードウェア割り込み。割り込みベクタ ● システム コール: 特権モードでシステム操作をするためのAPI 3. メモリ管理 ● ページング方式: 仮想記憶実現の手段。ページイン / アウト ● ページ アクセス違反, ページ フォールト
Download now