リアルタイムOS, ステレオカメラ, ショートカット, 行列
その他
OSは日常のあらゆる場所で目にします. パソコンには必ずと言っていいほどOSが走っており, 携帯, ゲーム機などにもOSが走っております. このような普段よく使うOSですが, そのOSの仕組みを分かっていても, 実際どのように作るのかはよく知られておらず気になります.
このページでは, 実際にArduinoで動くOSを作成することで, OSの理解を深めます. 使用するプログラミング言語はC言語です. (作成といいましても, すでに在りますFreeRTOSから必要な機能を抜き出し, Arduinoで動くようにしました.) なお, 今回扱うOSは汎用OSではなくリアルタイムOS(RTOS)と呼ばれるものです. 汎用OSとは, すべてのタスクに等しく優先度が与えられますが, RTOSではタスクごとに優先度を設定できます.
話の進め方ですが, 今回のOS製作では実装に重きを置くため, コードを中心に話を進めていきます. 各コードごとに簡単な説明を行い, その中で特に重要な部分―OSの仕組みに深くかかわる部分―もしくはさらに詳しい説明については別ページで行います. これら別ページ―詳細ページ―は子コンテンツである"仕組み"にまとめられています.
話の流れは次のとおりです.
- RTOSとは
- 目標と使い方
- 準備
- ファイル構成
- スクリプト
- ボードの設定
- 仕組み
対応状況
- Arduino UNO
- Arduino Mega
動作確認済み環境
- Arduino IDE 1.8.10
- Arduino AVR Boards 1.8.1
Apple製品同士でのファイル共有に便利な機能にAirDropがあります. 初めてあった人と, ファイルを共有したい時などに非常に便利な機能です.
ですが, Apple製品以外(例えば, Windows, Androidなど)とファイルを共有したい場合は, AirDropを利用できず, SNSやクラウドサービスを通じて, ファイルを共有する必要があり, 手間がかかります. SNSの場合では, お互いが同じSNSアプリを利用して, 共有のためだけにお互いのアカウントを教えあわないといけません. クラウドサービスの場合, ファイルをクラウドに上げ, 共有リンクを設定し, そのURL(たいてい長く, 複雑)を伝えないといけません.
本稿では, iosのショートカット機能を用いて, 即時に共有したいファイルをクラウドに上げ, 共有リンクを設定し, そのリンクのQRコードを表示するショートカットを紹介します. 相手にQRコードを読み込んでもらうだけで, 簡単にファイルを共有することができます. またアップロードされたファイルは簡単に削除でき, 容量の少ない無料のクラウドストレージを圧迫せず, 共有リンクが残り続けることがありません.
![ファイル共有リンクを表すQR Code が表示される](/Master/iPhone/TempFileShare/Images/fig-show-qrcode.jpg)
Apple製品同士でのファイル共有に便利な機能にAirDropがあります. 初めてあった人と, ファイルを共有したい時などに非常に便利な機能です.
ですが, Apple製品以外(例えば, Windows, Androidなど)とファイルを共有したい場合は, AirDropを利用できず, SNSやクラウドサービスを通じて, ファイルを共有する必要があり, 手間がかかります. SNSの場合では, お互いが同じSNSアプリを利用して, 共有のためだけにお互いのアカウントを教えあわないといけません. クラウドサービスの場合, ファイルをクラウドに上げ, 共有リンクを設定し, そのURL(たいてい長く, 複雑)を伝えないといけません.
本稿では, iosのショートカット機能を用いて, 即時に共有したいファイルをクラウドに上げ, 共有リンクを設定し, そのリンクのQRコードを表示するショートカットを紹介します. 相手にQRコードを読み込んでもらうだけで, 簡単にファイルを共有することができます. またアップロードされたファイルは簡単に削除でき, 容量の少ない無料のクラウドストレージを圧迫せず, 共有リンクが残り続けることがありません.
![ファイル共有リンクを表すQR Code が表示される](/Master/iPhone/TempFileShare/Images/fig-show-qrcode.jpg)
線形代数にある線形写像, 基底の変換行列, 表現行列などを理解するとき, 今どこの座標系にいるのか, 基底は変わったのか, ここはベクトル空間かという悩みに会います.
本稿では, 変換行列や表現行列を図で理解することを目的にします. 行列の掛け算が点の移動であることを意識すると, 理解しやすくなります.
サイズ固定の待ち行列ライブラリを紹介します.
このQueueは, 以下の特徴を持ちます.
- std::queue が使用できない状況下での待ち行列の使用
- メモリを贅沢に使用しないサイズ固定待ち行列
- 例外処理に対応していない環境下での使用
Summary
サイズ固定の待ち行列ライブラリを紹介します.
このQueueは, 以下の特徴を持ちます.
- std::queue が使用できない状況下での待ち行列の使用
- メモリを贅沢に使用しないサイズ固定待ち行列
- 例外処理に対応していない環境下での使用
線形代数にある線形写像, 基底の変換行列, 表現行列などを理解するとき, 今どこの座標系にいるのか, 基底は変わったのか, ここはベクトル空間かという悩みに会います.
本稿では, 変換行列や表現行列を図で理解することを目的にします. 行列の掛け算が点の移動であることを意識すると, 理解しやすくなります.
Summary