本書は、pthreadsライブラリを用いたマルチスレッドプログラミングを学びます。具体的に、Linux上でC言語を用いてマルチスレッドセーフなキューを実装する例を用いて、pthreadsの利用のコツを説明します。さらに、簡単なネットワークサーバプログラムを作成する実習を行ないます。
本書は、埼玉職業能力開発促進センター(ポリテクセンター埼玉)において2018年2月に行なわれた在職者向け能力開発セミナー「組込みLinuxによるマルチスレッドソフトウェア開発技術」のテキストとして書かれたものを書籍向けに再構成したものです。このため、組み込みシステムのソフトウェア開発技術者をターゲットとした実習形式の書き方になっています。
しかしながら、組み込み以外の一般のソフトウェア開発においても十分に役立つよう考慮して構成しております。また、特別な実習装置を用いなくても、個人的に学習を進められるような内容になっています。
第1章 マルチスレッドプログラミングとは
第2章 スレッドの管理
第3章 スレッド間のデータ共有
第4章 実行の排他制御
第5章 条件待ち
第6章 キューの作成実習
第7章 デザインパターン
第8章 ソケットプログラム実習
圧倒的支持を集めるマイコンボード「Raspberry Pi」の入門書!
全世界で多くのユーザーの支持を集めているシングルボードコンピュータ「Raspberry Pi」のコンパクトな入門書です。ハードウェアとLinuxの基礎にはじまり、Pythonプログラミングの基本、Arduinoとの連携、GPIOの使い方、ウェブカメラの活用、インターネット接続やRaspberry Piをウェブサーバにする方法などを解説します。第3版ではRaspberry Pi 3に対応しているほか、用途別の多様なディストリビューションや、アナログ入出力の解説を強化。電子工作をこれからはじめる入門者、学生に最適の書籍です。
Xamarinや.NETのネイティブ組み込み技術からPlugins for Xamarinの基本、海外カンファレンスのセッショントークTipsまで!
◆80点以上の図と豊富な画像で、Linuxの操作方法をていねいに解説します
本書は、LPICやLinuCを受験する前にLinuxの基礎を学んでいただく本になります。
Linuxは、コマンドと呼ばれる文字列をキーボードから入力して操作します。
Windowsなどに慣れた方の場合、はじめのうちは操作に慣れず、難しく感じる
ことも多いと思います。しかし、本書は、そういった初心者の方にもわかりやすくするため、
図を多く取り入れて説明していますので、Linuxの知識がまったくなくても
本書を読み始めれば、徐々にLinuxの基礎知識を身に付けながら、LPICやLinuCの
試験対策もできます。
また、Linuxを使ったことのない初心者は、まず環境作りから迷ってしまうことが
多いのですが、本書では、Windowsがインストールされているパソコンに
仮想ソフト(VirtualBox)を導入し、Linux(CentOS)をインスールして使う手順を
詳細に解説しています。
仮想ソフトによって、お使いのWindowsパソコン上でLinuxを使うため、
新しくパソコンを用意する必要はありません。
LPICやLinuCの受験前や、Linuxを学習し始める時、そして、これからもLinuxを
使っていく上で、本書が少しでも皆さんの手助けとなることを心から願います。
第1章 Linuxの基礎
1-1 OS
1-2 Linux
1-3 オープンソース
1-4 LPIC
1-5 LinuC
[復習問題]
第2章 Linuxの基本操作
2-1 CentOSを使う
2-2 ファイルとディレクトリの構造
2-3 ディレクトリの確認
2-4 ファイルの確認
2-5 テキストの並べ替え
2-6 テキスト内の検索
[復習問題]
第3章 ファイルとディレクトリ
3-1 ディレクトリの操作
3-2 ファイルの操作
3-3 ファイルとディレクトリの削除
3-4 マニュアルの表示
[復習問題]
第4章 ユーザとグループ
4-1 管理者権限の変更
4-2 ユーザの作成
4-3 ユーザ情報の変更
4-4 ユーザとグループの削除
[復習問題]
第5章 パーミッション
5-1 ファイルの所有者と/所有グループの変更
5-2 パーミッションの変更
5-3 ファイルとディレクトリのパーミッション
[復習問題]
第6章 テキストファイルの編集
6-1 viエディタの起動
6-2 ファイルの保存/終了
6-3 行や文字の操作
6-4 カーソルの移動
[復習問題]
第7章 シェルと変数
7-1 シェルの仕組み
7-2 シェル変数
7-3 環境変数
7-4 代表的な変数
7-5 環境設定ファイル
[復習問題]
第8章 ソフトウェアとパッケージ
8-1 パッケージ
[復習問題]
第9章 ファイルシステム
9-1 ファイルシステム
9-2 マウントとアンマウント
[復習問題]
第10章 プロセスとジョブ
10-1 プロセスの管理
10-2 ジョブの管理
[復習問題]
第11章 ネットワークの基礎
11-1 ネットワークの仕組み
11-2 ネットワークのルール
11-3 OSI参照モデルとTCP/IPモデル
11-4 カプセル化と非カプセル化
11-5 LANとWAN
[復習問題]
第12章 IPアドレス
12-1 IPアドレス
12-2 IPアドレスの5つのクラス
12-3 サブネット
[復習問題]
第13章 ネットワークの設定
13-1 ネットワークの設定
13-2 ネットワークの疎通確認
[復習問題]
巻末資料 CentOSのインストール
1 VirtualBoxのインストール
2 CentOSのインストール
情報処理基礎テキスト(UbuntuによるLinux-PC入門)。自宅PCで自習可能。Ubuntuのバージョンを更新。[内容]Linuxの基礎/エディタ,漢字入力/メール,Web/図の作製/LaTeX/Linuxコマンド/簡単なプログラミング/仮想環境/他
待望の改訂版、刊行。本書は、現場で必要なサーバ技術を、実際に操作しながら28日間で習得できるように解説しています。導入から構築・設定・運用管理にいたるまで、網羅的に構成し、効率よく学習できるようまとめました。オリジナルの設定診断プログラムや、実際に本書で学習した初学者のコラム「学習者の眼」で強力にサポート。さらに改訂3版では、一定レベルの読者向けに学習環境の自動インストールパッケージを提供。長年、技術者を育成してきた著者が、持てるノウハウの全てを注ぎ込みました。独習用にも研修用にも最適な1冊。
Web、メール、データベース、DNS、オンラインストレージなど各種サーバー構築方法を徹底詳解!アンチウイルス、SELinux、バックアップなどセキュリティ対策も万全!SOHO・自宅サーバー+ダイナミックDNSやVPS環境などでネット上に公開!
UNIX/Linuxシステムプログラミングをはじめよう
本書は、2007年にピアソン・エデュケーションから発行された『例解UNIXプログラミング教室 -システムコールを使いこなすための12講ー』の改訂版です。
本書は、UNIX/Linuxの機能を使ったC言語プログラミングを解説するものです。UNIXは、ファイルの操作やプロセスの制御、プロセスへのシグナル、ネットワーク通信、端末の操作など、多くの高度な機能を持っています。しかし、システムコールによって、このような機能を利用したプログラムを正しく動作するようつくるためには、UNIXの隠れた概念や制約について知っている必要があり、それらを網羅的に覚えるのは困難です。
本書は、この概念や制約が、それぞれのシステムコールの動作に及ぼす影響を全部覚えるといったアプローチはとっていません。むしろ、必要なときに必要なシステムコールが分かり、それをどう使えばよいのか、そして、その機能には当然どのような制限があるのかが分かるようになるように、UNIXの基本概念とプログラマから見えるUNIXの概観をつかめるよう解説しました。
本書は単なるインタフェースの解説書ではありません。インタフェースの説明をしつつ、 UNIXの概観(エッセンス)を読者に理解してもらうことで、できるだけ楽に、しかも確かなUNIXシステムプログラミングができるようになってもらうことを目指しました。また、豊富なサンプルコードと演習問題を掲載し、実践的なプログラミングの助けとなるようにしています。
<このような方におすすめ>
・C言語の基本を学習し終えた学生、プログラミング入門者
・システムプログラミングのスキルをさらに磨きたいソフトウェアエンジニア
・組込みプログラムやデバイスドライバの開発に必要な基礎知識を学びたいエンジニア
<おもな改訂内容>
・第0章 UNIXの基礎とシェルの新設:UNIXシステムプログラミングを学ぶ準備として、UNIX にまだ慣れていない読者のために、UNIXとはどのようなものか、どのように操作するかを説明する第0章を新設しました。
・用語の見直し:旧版では提案も含めて読者にわかりやすい用語を目指していましたが、この新版では、わかりやすさを保ちつつ、広く使われている語を用いるようにしました。
UNIX自体がすでに成熟しているため、システムプログラミングの部分については小規模な改善を行いました。
なお、すべてのコードは以下のサイトからダウンロードできます。
https://github.com/kazutomi/reikai-unix-code-samples
第0章 UNIX の基礎とシェル
第1章 C の復習 (1):マニュアルの読み方,エラー処理,構造体,共用体
第2章 C の復習 (2):ポインタ,バイトオーダ,複雑な型
第3章 低水準入出力
第4章 標準入出力ライブラリ
第5章 プロセス
第6章 ファイルシステム
第7章 ファイル記述子のコピーとパイプ: dup , dup2 , pipe
第8章 ソケット通信入門
第9章 シグナルと競合状態
第10章 端末 (1) :端末,端末ラインディシプリン, termios 構造体
第11章 端末 (2) :エスケープシーケンス, curses ライブラリ,擬似端末
第12章 非局所脱出: setjmp, longjmp
参考文献
用語集
索引
ssh、scp、rsync、ハッシュ値、暗号化、安全なパスワードの生成……
システム管理者からWebエンジニアまで 待望の第3弾!!
≪目次≫
第1話 固定のIPアドレスを割り当てたい
第2話 特定のポートにだけ接続を許可したい
第3話 CentOS 6以前で特定のポートにだけアクセスを許可したい
第4話 ネットワークセグメント単位で接続を許可したり遮断したりしたい
第5話 直接接続できないネットワーク上のコンピュータで鍵認証したい
第6話 踏み台の向こうのサーバーに直接ファイルをコピーしたい
第7話 特定ネットワークセグメント向けのWebサーバーに別セグメントから接続したい
第8話 トンネリング用のssh接続を自動的に復旧させたい
第9話 誰がそのポート番号を使っているのかを調べたい
第10話 誰がネットワークの帯域を使っているのかを調べたい
第11話 他のネットワークから手元のPCにログインしてもらいたい
第12話 複数のコンピュータ上にあるファイルの中から一番新しいファイルを集めたい ほか
NTTドコモ/KDDI/ソフトバンク/MVNOのマルチキャリアLTE網に対応しAMTelecom社の通信モジュール「AML570」を搭載した、ルータ機能搭載高性能通信Linuxゲートウェイ。
イーサネットポート2ポート、RX485ポート×1、USB2.0ポート×1ポートを搭載。
CPUにCortex-A9(1GHz)を採用し高度なルータ機能に加え、お客様アプリケーションの実装が可能な高性能Linuxゲートウェイ。
統合デバイスマネージメントサービス「SunDMS」標準対応。
★スペック
【適合通信キャリア】:NTTドコモ/KDDI/ソフトバンクのLTE網
【搭載モジュール】:AMTelecom社「ALM570」
【アクセス方式】:LTE(NTTドコモ・KDDI・ソフトバンク)
【データ通信速度】:上り最大50Mbps下り最大150Mbpsベストエフォート
【無線周波数】:B1/B8/B18/B19(2100〜800MHz帯)
【インターフェース】:1000BASE-T/100BASE-TX/10BASE-T×2・RS485×1・USB2.0×1・SMA×2・ACジャック×1・SIMカードスロット×1
【電源】:DC5V〜48V(±5%)
【動作温度】:-20℃〜60℃
【LED】10個
【CPU】Coretex-A9(1GHz)
【メインメモリ】512MB
【NAND Flash】512MB
【組込みOS】Linux/Oracle Java SE Embedded 8 Compact Profiles
【サポートプロトコル】:Ethernet/ルーティング:IP/認証:PAP、CHAP、MS-CHAP、MS-CHAPv2/WANプロトコル:PPP/管理プロトコル:SNMPv1
【DHCP】:サーバ/クライアント
【アドレス変換】:NAT/IPマスカレード
【サーバ公開】:仮想サーバ/DMZホスト
【スタティックルーティング】:最大128件
【アップデート】:WebUI
【アドレス解決】:ダイナミックDNSサービス/メール通知
【WANハートビート】:分単位で設定/任意のアドレス設定
【ダイヤルアップ接続】:自動発信/手動発信
【ダイヤルアップセッションキープ】:可能
【ダイヤルアップ手動発信/切断】:可能
【ダイヤルアップ先設定】:8件
【ダイヤルアップセッションキープ】:可能
【回線バックアップ】:可能
【WAN側IPアドレス固定】:可能
【WakeOn】:SMS受信
【VPN(IPsec)】:暗号化:AES256bit/3DES/アルゴリズム:IKEメインモード、アグレッシブモード/接続要求:イニシエータ、レスポンダ/接続可能数:16件/NATトラバーサル:可能
【VPN(PPTP)】:暗号化:GRE/接続可能数:16件/接続方式:PAP、CHAP、MS-CHAP、MS-CHAPv2
【APN設定】:16件
【ロギング】:WebUI/SunDMS
【設定情報管理】:WebUI、SunDMS
【フィルタリング】:INPUT側最大64件、FORWARD側最大128件
【MACフィルタリング】:最大32件
【時刻管理】:可能
【おやすみモード】:可能
【IoT/M2Mデバイス遠隔管理サービスSunDMS】:対応(死活監視/各種デバイス情報収集/ファームウェア更新/設定ファイル取得/ログ取得/手動再起動)
【電源制御(ASC(自立接続維持機能)】:ハードウェア/モバイル通信端末
【保証】:1年間
【付属品】:スタートアップマニュアル(ACアダプタ/外部アンテナは別売り)
■132.0mm■101.0mm■36.0mm■500g
Linuxの事実上の標準オーディオ基盤であるALSA(Advanced Linux Sound Architecture)の提供するアプリケーション・インターフェースを適用して,ハイレゾ音源を再生するプログラムの作成に必要な知識と技法を説明します.
プログラムはダウンロードできます.
世界の累計台数が1900万台に達し、ますます人気が高まっている
超小型で安価なボード型コンピューター「Raspberry Pi(ラズパイ)」。
それを使って、今話題のAIスピーカーを作ります。
マイクとスピーカーをつなげば、ソフトウエアはタダ。
Amazon Echo、Google Homeのどちらにも仕立てられます。
IBM Watsonも使ったり、カメラで顔認証したり、ラズパイから家電を操作したり。
自分だけのオリジナルAIスピーカーを作りましょう。
ラズパイを使って既存のAIスピーカーを拡張する方法も紹介します。
≪主な内容≫
第1部 Amazon Echo を作り、拡張する
第2部 Google Home を作り、拡張する
第3部 IBM W atson でAI スピーカーを作る
第4部 ラズパイと周辺機器の買い方から OS 導入方法まで
第5部 ラズパイの使い方超入門
【第1部】 Amazon Echo を作り、拡張する
・PART 1 Amazon Echoをラズパイで自作しよう ノイズを除去する高性能マイクも活用
・PART 2 音声でエアコンをつけられるように無償のWebサービスで学習リモコンを制御
・PART 3 対話のやり取りで照明の明るさまで変更AIスピーカーのアプリを作ろう
・PART 4 電子工作の作品を音声で動かす 笑顔を自動撮影する赤ちゃん玩具
【第2部】 Google Home を作り、拡張する
・PART 1 Google Homeをラズパイで自作しよう 話した内容をTwitterでつぶやく
・PART 2 「塾に着いた」を音声でお知らせ スマホの位置情報からGoogle Homeで
・PART 3 外付けDACで音楽を高音質に
・PART 4 Google製段ボールキットを組み立て メールの作成や雑談も可能に
・PART 5 Googleキットを拡張しよう ゴミ収集日を音声でお知らせ
【第3部】 IBM W atson でAI スピーカーを作る
・USBカメラで顔認識して会話を開始 音声でLEDを操作しよう
【第4部】 ラズパイと周辺機器の買い方から OS導入方法まで
【第5部】 ラズパイの使い方超入門
・PART 1 OSを動かしてみよう
・PART 2 OSの設定とカスタマイズ
・PART 3 いろんなアプリを使いこなそう
・PART 4 Windowsとの連携
・PART 5 日々の確認とトラブルへの対処
・PART 6 コマンドラインを使ってみよう
Python + OpenCVで画像・動画処理プログラミングを学ぶ。Chainerを用いたDeep Learningプログラムも実装。
NTTドコモ/KDDI/ソフトバンク/MVNOのマルチキャリアLTE網に対応しAMTelecom社の通信モジュール「AML570」を搭載した、ルータ機能搭載高性能通信Linuxゲートウェイ。
Linuxゲートウェイ本体に加え、ACアダプタ、ケーブル長2.5Mの外部アンテナ2本をセットにしたオールインワンモデル。