\documentclass[dvipdfm]{beamer}

% disable navi. symbols, because dvipdfmx does not work for this
\setbeamertemplate{navigation symbols}{}

\usepackage[english]{babel}
\usepackage{fancybox}
\usepackage{ulem}
\usepackage{color}
%\usepackage{bootabs}
\usepackage{hyperref}
\usepackage{lmodern}
\usepackage{fontspec}

\usepackage{xltxtra}
\setmainfont{IPAPMincho}
\setsansfont{IPAPGothic}
\setmonofont{IPAGothic}
\XeTeXlinebreaklocale ``ja''

\hypersetup{
	bookmarksnumbered=true,
	setpagesize=false,
	pdftitle={新情報家電の想像}
	pdfauthor={宗像尚郎},
	pdfsubject={情報システム学基礎２：実システム創造型プロジェクト},
	pdfkeywords={Linux; kernel; tutorial;}}

\usetheme{Warsaw}

% add slide no. to Warsaw template
\defbeamertemplate*{footline}{shadow theme}
{%
\leavevmode%
\hbox{\begin{beamercolorbox}[wd=.5\paperwidth,ht=2.5ex,dp=1.125ex,leftskip=.3cm plus1fil,rightskip=.3cm]{author in head/foot}%
	\usebeamerfont{author in head/foot}\insertframenumber\,/\,\inserttotalframenumber\hfill\insertshortauthor
\end{beamercolorbox}%
\begin{beamercolorbox}[wd=.5\paperwidth,ht=2.5ex,dp=1.125ex,leftskip=.3cm,rightskip=.3cm plus1fil]{title in head/foot}%
	\usebeamerfont{subtitle in head/foot}\insertshortsubtitle\hfill%
	\usebeamerfont{title in head/foot}\insertshorttitle%
\end{beamercolorbox}}%
\vskip0pt%
}

\setbeamertemplate{items}[square]

%% adjust line space partially
\newenvironment{narrowlinespace}{
	\baselineskip = 3.0mm
}

%% add width changeable block definition
\newenvironment<>{varblock}[2][\textwidth]{
	\begin{center}
	\begin{minipage}{#1}
		\setlength{\textwidth}{#1}
		\begin{actionenv}#3
			\def\insertblocktitle{#2}
			\par
			\usebeamertemplate{block begin}}
			{\par
			\usebeamertemplate{block end}
		\end{actionenv}
	\end{minipage}
	\end{center}}

%% add variable width hline
\newcommand{\bhline}[1]{\noalign{\hrule height #1}}  

\title{新情報家電の創造}
\subtitle{実システム創造型プロジェクト} 
\author[ルネサスソリューションズ　宗像尚郎]{宗像尚郎}
\institute[Renesas]{株式会社　ルネサスソリューションズ}
\date[2012-10-2]{電気通信大学　2012-10-2}

%% color setting adjust
\definecolor{cyan}{cmyk}{  .7, 0, 0, 0}
\definecolor{magenta}{cmyk}{0,.7, 0, 0}
\definecolor{yellow}{cmyk}{ 0, 0,.7, 0}
\definecolor{blue}{cmyk}{  .8,.8, 0, 0}
\definecolor{red}{cmyk}{    0,.8,.8, 0}
\definecolor{green}{cmyk}{ .2, 0,.7, 0}
\definecolor{orange}{cmyk}{ 0,.5,.8, 0}
\definecolor{gray}{cmyk}{  .2,.2,.2,.8}

%% adjust block environment definition
\setbeamertemplate{blocks}[shadow=true]
%\setbeamercolor{block title}{bg=blue!70!gray, fg=white}
%\setbeamercolor{block body}{bg=blue!40!gray}
%\setbeamercolor{block title alerted}{bg=red!70!gray, fg=white}  
%\setbeamercolor{block body alerted}{bg=red!40!gray}
%\setbeamercolor{block title example}{bg=green!70!gray, fg=white}
%\setbeamercolor{block body example}{bg=green!40!gray}

%% auto block in each column hight sync extension
%% http://tex.stackexchange.com/questions/14220/how-to-modify-columns-column-environments-so-they-resize-automatically-to-the-la
\usepackage{environ}% Required for \NewEnviron, i.e. to read the whole body of the environment
\makeatletter

\newcounter{acolumn}%  Number of current column
\newlength{\acolumnmaxheight}%   Maximum column height

% `column` replacement to measure height
\newenvironment{@acolumn}[1]{%
	\stepcounter{acolumn}%
	\begin{lrbox}{\@tempboxa}%
	\begin{minipage}{#1}%
		}{%
	\end{minipage}
	\end{lrbox}
\@tempdimc=\dimexpr\ht\@tempboxa+\dp\@tempboxa\relax
% Save height of this column:
\expandafter\xdef\csname acolumn@height@\roman{acolumn}\endcsname{\the\@tempdimc}%
% Save maximum height
\ifdim\@tempdimc>\acolumnmaxheight
	\global\acolumnmaxheight=\@tempdimc
\fi
}

% `column` wrapper which sets the height beforehand
\newenvironment{@@acolumn}[1]{%
	\stepcounter{acolumn}%
	% The \autoheight macro contains a \vspace macro with the maximum height minus the natural column height
	\edef\autoheight{\noexpand\vspace*{\dimexpr\acolumnmaxheight-\csname acolumn@height@\roman{acolumn}\endcsname\relax}}%
	% Call original `column`:
	\orig@column{#1}%
}{%
	\endorig@column
}

% Save original `column` environment away
\let\orig@column\column
\let\endorig@column\endcolumn

% `columns` variant with automatic height adjustment
\NewEnviron{acolumns}[1][]{%
% Init vars:
\setcounter{acolumn}{0}%
\setlength{\acolumnmaxheight}{0pt}%
\def\autoheight{\vspace*{0pt}}%
% Set `column` environment to special measuring environment
\let\column\@acolumn
\let\endcolumn\end@acolumn
\BODY% measure heights
% Reset counter for second processing round
\setcounter{acolumn}{0}%
% Set `column` environment to wrapper
\let\column\@@acolumn
\let\endcolumn\end@@acolumn
% Finally process columns now for real
\begin{columns}[#1]%
	\BODY
\end{columns}%
}
\makeatother

%------------------------------------------------------------------------

\begin{document}

\begin{frame}
	\titlepage{}
\end{frame}

\begin{frame}
		\frametitle{自己紹介} 
	\begin{itemize}
		\item ルネサスという日本の半導体の会社で働いています。 
		\item Linux Foundation CE\footnote{CE = consumer electronics} ワークグループの理事メンバーで, アーキテクチャ分科会の副議長を務めています。
		\item LF/CEWG の LTSI\footnote{LTSI = Linux Foundation の産業界向け長期安定カーネル開発プロジェクト} プロジェクトの創始メンバーです。
		\item LF の色々な技術会議の企画委員を務めています。
		\item 会社では社内のリナックス開発者がオープンソースの開発コミュニティへパッチを投稿するのを支援しています。
		\item デジタルテレビ、スマートフォン、カーナビ、ブルーレイプレイヤーなどを開発する世界のメーカーの開発支援も行っています。
\end{itemize}
\end{frame}

\begin{frame}
	\frametitle{本日の話題}
	\tableofcontents{}
\end{frame}

\section{コミュニティによるオープンソース開発の実態}
\subsection{リナックスカーネルとはどんなものか}

\begin{frame}
\frametitle{リナックスカーネルのハイアラーキー構造}
	\begin{figure}[ht]
	\vspace{-0.25cm}
		\begin{center}
			\includegraphics[clip, scale=0.522]{kernel_block.eps}
		\end{center}
	\end{figure}
\end{frame}

\begin{frame}
		\frametitle{カーネル統計情報 (\textcolor{yellow}{＝ 世界最大のオープンソース})}
	\vspace{-0.5cm}
	\begin{table}[tbp]
	\begin{center}
	\small
	\caption{Statistics of Linux kernel 3.5.3 (released 2012.8.26)}
	\begin{tabular}{l@{\hspace{2.0cm}}r}\bhline{1.2pt}
			\textcolor{red}{\bf number of code lines}	& \textcolor{red}{\bf 15,598,058}			\\ \hline
			% find . -type f | xargs -l wc |awk '{ sum += $1} END {print sum}'
			number of files			& 39,097					\\ \hline
			% find . -type f |wc -l
			number of registered maintainer		& 1,255					\\ \hline
			% grep M: MAINTAINERS | wc -l
			number of newly added patches		& 9,534					\\ \hline
			update cycle						& every 75 - 80 days	\\ \hline
			configuration items					& 5,386					\\ \hline
			% grep CONFIG_ .config | wc -l
			\textcolor{red}{history of development}		& \textcolor{red}{over 20 years}			\\ \bhline{1.2pt}
	\end{tabular}
	\end{center}
	\end{table}
	\vspace{-0.4cm}
	{\small
	\begin{block}{\ リナックスカーネルの開発に参加してみませんか ？}
		プログラミングの世界で世界の頂点を目指したいと考えるのなら、オープンソースプログラムを
		外して考えることはできないでしょう。中でもリナックスカーネルはコードサイズ、開発者数、
		リリース間隔、新機能への対応などあらゆる面で圧倒的な世界一の規模となっています。
		リナックスカーネルの開発に参加 することは、\textcolor{red}{世界のトッププログラマーが競うオリンピックに参加するようなエキサイティング
		な体験}であることは間違いありません。
	\end{block}}
\end{frame}

\begin{frame}
\frametitle{カーネルソースコード  (3.6-rc7) 概況}
	\vspace{-0.3cm}
	\begin{table}[tbp]
	\begin{center}
	\tiny
	\begin{tabular}{llrrr}																	\hline
		Directory		&	Sub-dir	&		file\footnote{\tiny ls -R ./DIR/ | wc -l}	&	line\footnote{\tiny find ./DIR/ -name *.[ch] -exec wc -l \{\} \; | gawk '{ n += \$1 } END { print n }'}		&	proportion	\\	\hline
		Documentation	&			&		2,727		&	7,134		&	0.05\%		\\
		\textcolor{red}{arch} 		&&		\textcolor{red}{17,945}		&	\textcolor{red}{2,422,641}	&	\textcolor{red}{16.75\%}		\\
				&	\textcolor{orange}{x86}	&\textcolor{orange}{4,582}		&	\textcolor{orange}{645,659}		&	\textcolor{orange}{4.46\%}		\\
				&	\textcolor{orange}{ARM}	&\textcolor{orange}{1,229}		&	\textcolor{orange}{242,850}		&	\textcolor{orange}{1.68\%}		\\
		block			&			&		68			&	27,711		&	0.19\%		\\
		crypt			&			&		99			&	59,039		&	0.41\%		\\
		\textcolor{red}{drivers}	&&		\textcolor{red}{15,564}		&	\textcolor{red}{8,342,761}	&	\textcolor{red}{57.69\%}		\\
		firmware		&			&		259			&	280			&	0.00\%		\\
		\textcolor{red}{fs}			&&		\textcolor{red}{14}			&	\textcolor{red}{1,047,859}	&	\textcolor{red}{7.25\%}		\\
		include			&			&		1,902		&	535,531		&	3.75\%		\\
		init 			&			&		3,203		&	3,384		&	0.02\%		\\
		ipc  			&			&		16			&	8,291		&	0.06\%		\\
		kernel			&			&		290			&	196,039		&	1.36\%		\\
		lib  			&			&		242			&	51,489		&	0.36\%		\\
		mm   			&			&		82			&	88,463		&	0.61\%		\\
		\textcolor{red}{net}		&&		\textcolor{red}{1,584}		&	\textcolor{red}{733,144}		&	\textcolor{red}{5.07\%}		\\
		samples			&			&		72			&	3,268		&	0.02\%		\\
		scripts 		&			&		295			&	30,985		&	0.21\%		\\
		security 		&			&		204			&	67,790		&	0.47\%		\\
		sound			&			&		1,712		&	742,209		&	5.13\%		\\
		tools  			&			&		710			&	87,413		&	0.60\%		\\
		usr    			&			&		5			&	630			&	0.00\%		\\
		virt   			&			&		17			&	6,480		&	0.04\%		\\	\hline
		total			&			&		47,061		&	14,462,541	&	100.00\%	\\	\hline
		% file = ls -R ./DIR/ | wc -l
		% line = find ./DIR/ -name *.[ch] -exec wc -l \{\} \; | gawk '{ n += $1 } END { print n }'
	\end{tabular}
	\end{center}
	\end{table}
\end{frame}

\begin{frame}
\frametitle{分散並行開発を支えるコード管理システム　\textcolor{yellow}{= git}}
	\vspace{-0.5cm}
	\begin{figure}[ht]
		\begin{center}
			\includegraphics[clip, scale=0.42]{gitk.jpg}
		\end{center}
	\end{figure}
\end{frame}

\subsection{リナックスカーネルはどのように開発されているのか}

\begin{frame}
	\frametitle{誰がリナックスカーネルのコードを書いているのか}
	\vspace{-0.3cm}
	\begin{table}[tbp]
	\begin{center}
	\scriptsize
	\caption{Most active 3.5 developers\footnote{http://lwn.net/Articles/507986/}}
	\begin{tabular}{lrrlrr}\hline
		By changesets		&		&			&	By changed lines	&			&			\\	\hline
		Greg Kroah-Hartman	&	239	&	2.2\%	&	Paul Gortmaker		&	44,000	&	5.7\%	\\
		Axel Lin			&	191	&	1.7\%	&	Viresh Kumar		&	20,425	&	2.7\%	\\
		Mark Brown			&	187	&	1.7\%	&	Steven Rostedt		&	14,615	&	1.9\%	\\
		H. Hartley Sweeten	&	135	&	1.2\%	&	H. Hartley Sweeten	&	13,083	&	1.7\%	\\
		David S. Miller		&	131	&	1.2\%	&	Dave Airlie			&	12,217	&	1.6\%	\\
		Daniel Vetter		&	130	&	1.2\%	&	Sakari Ailus		&	10,835	&	1.4\%	\\
		Al Viro				&	128	&	1.2\%	&	Dong Aisheng		&	10,574	&	1.4\%	\\
		Stephen Warren		&	121	&	1.1\%	&	Sonic Zhang			&	10,494	&	1.4\%	\\
		Tejun Heo			&	112	&	1.0\%	&	Paul Walmsley		&	10,084	&	1.3\%	\\
		Eric Dumazet		&	105	&	1.0\%	&	Ben Skeggs			&	10,000	&	1.3\%	\\
		Hans Verkuil		&	102	&	0.9\%	&	Rob Herring			&	9,886	&	1.3\%	\\
		Paul Mundt			&	102	&	0.9\%	&	Sascha Hauer		&	9,602	&	1.3\%	\\
		Johannes Berg		&	102	&	0.9\%	&	Stephen Warren		&	9,365	&	1.2\%	\\
		Shawn Guo			&	102	&	0.9\%	&	Parav Pandit		&	8,846	&	1.2\%	\\
		Thomas Gleixner		&	98	&	0.9\%	&	Nicholas Bellinger	&	8,704	&	1.1\%	\\
		Dan Carpenter		&	86	&	0.8\%	&	Linus Walleij		&	8,496	&	1.1\%	\\	\hline
	\end{tabular}
	\end{center}
	\end{table}
\end{frame}

\begin{frame}
	\frametitle{誰がリナックスカーネルのコードを書いているのか　２} 
	\vspace{-0.3cm}
	\begin{table}[tbp]
	\begin{center}
	\scriptsize
	\caption{Top 3.5 changeset contributors by employer\footnote{http://lwn.net/Articles/507986/}}
	\begin{tabular}{lrrlrr}\hline
		(None)				&	1,343	&	12.3\%	&	Samsung						&	251	&	2.3\%	\\
		Red Hat				&	1,123	&	10.2\%	&	Oracle						&	204	&	1.9\%	\\
		Intel				&	1,061	&	9.7\%	&	\textcolor{red}{Renesas Electronics}			&	\textcolor{red}{201}	&	\textcolor{red}{1.8\%}	\\
		(Unknown)			&	860		&	7.8\%	&	MiTAC						&	191	&	1.7\%	\\
		Linaro				&	519		&	4.7\%	&	NVIDIA						&	188	&	1.7\%	\\
		Novell				&	440		&	4.0\%	&	Wolfson Microelectronics	&	187	&	1.7\%	\\
		Texas Instruments	&	313		&	2.9\%	&	(Consultant)				&	160	&	1.5\%	\\
		IBM					&	282		&	2.6\%	&	NetApp						&	153	&	1.4\%	\\
		Linux Foundation	&	279		&	2.5\%	&	Vision Engraving Systems	&	135	&	1.2\%	\\
		Google				&	265		&	2.4\%	&	Qualcomm					&	121	&	1.1\%	\\	\hline
	\end{tabular}
	\end{center}
	\end{table}
\end{frame}

\begin{frame}
	\frametitle{カーネル開発の２０年の歴史（全体）}
	\begin{figure}[ht]
	\vspace{5cm}
		\begin{center}
			\includegraphics[clip, angle=270, scale=0.45]{kernel_trends_long.eps}
		\end{center}
	\end{figure}
\end{frame}

\begin{frame}
	\frametitle{カーネル開発の２０年の歴史（最近）}
	\begin{figure}[ht]
	\vspace{5cm}
		\begin{center}
			\includegraphics[clip, angle=270, scale=0.45]{kernel_trends_short.eps}
		\end{center}
	\end{figure}
\end{frame}

\section{家電業界のオープンソースへの取り組み}

\begin{frame}
	\frametitle{何故デジタル家電業界はリナックスにたどり着いたのか} 
	\begin{alertblock}{\ 最新技術が常に今までより良い結果をもたらすとは限らない}
		\begin{itemize}
			\item アナログテレビのチャンネル切り替えはずっと早かった ！
			\item フィーチャーフォンの電池はずっと長くもった ！
			\item 昔の電子機器は電源を入れればすぐに使える状態になった ！
		\end{itemize}
	\end{alertblock}
	\vspace{0.3cm}
	\begin{narrowlinespace}
	昔のアプリケーションを同じように動かしたいだけなら、リナックスを使う必要なんて無いですね。
	\textcolor{red}{何故リナックスを使わなければならなかったかを考えて見ることには重要な意味があります。}
	\end{narrowlinespace}
	\vspace{0.1cm}
	\begin{block}{\ こんな事を実現したいならリナックスは必須ですね\ldots}
		\begin{itemize}
			\item Twitter, Facebook などのソーシャルアプリ対応の携帯電話
			\item Youtube コンテンツの再生に対応したテレビやプレイヤー 
			\item \textcolor{red}{クラウドコンピューティングに連携した}家電機器
		\end{itemize}
	\end{block}
\end{frame}

\subsection{賢者は歴史に学ぶが、愚者は自ら失敗するまで学ばない}

\begin{frame}
	\frametitle{苦難の歴史を振り返る}
	\begin{narrowlinespace}
			現在、デジタル家電業界の多くの機器でリナックスが使われるようになっていますが、
			ここに至るまでには、極めて多くの苦労の歴史の積み重ねがありました。これからリナックスの
			活用を考える人は、デジタル家電業界の先人たちと同じ失敗をしたいように\textcolor{red}{過去の苦労の歴史から
			『これをやったら失敗する』という禁じ手を学ぶべき}です。
	\end{narrowlinespace}
	\begin{alertblock}{\ デジタル家電業界の勘違い}
		\begin{itemize}
			\item 経営者はリナックスを商用ソフト安価な代替と考えた。
			\item 開発者は自分たちがリナックスのユーザーと考えた。
			\item デジタル家電向けリナックスの要求仕様書を作り、コミュニティにそれに準拠した
					リナックスを開発するように要請したが、そんなリナックスはリリースされなかった。
					逆に開発コミュニティから仕様書ではなくパッチを出せと言われた。
			\item リナックス上で RTOS プログラムを使いたいと思った
			\item \textcolor{red}{しまいには家電向けリナックスという亜流を作り出してしまった}
		\end{itemize}
	\end{alertblock}
\end{frame}
   
\begin{frame}
	\frametitle{散々苦労した末にわかったこと}
	\begin{block}{\ デジタル家電業界のあるべきリナックスの活用法}
		\begin{itemize}
			\item バージョンアップ時に膨大な作業が必要になるので、\textcolor{red}{\bf マスターコードから派生した自分流の改造リナックスを作らない。}
			\item あなたの欲しいコードは既に開発済みかもしれないので、\textcolor{red}{\bf コミュニティの開発者の成果も常にウォッチしておく。}
			\item \textcolor{red}{\bf git の活用など} コミュニティで実績のある手法を導入する
			\item \textcolor{red}{\bf (git-hub, ML and Wiki) の参照など}公開情報を有効活用する
			\item できる限りコードを \textcolor{red}{\bf Upstream に投稿する} 
		\end{itemize}
	\end{block}
	\vspace{0.3cm}
	\begin{narrowlinespace}
			製品開発現場と開発コミュニティの橋渡し役になるような \textcolor{red}{オープンソース開発専任者を自社内に配置するのはオープンソース活用のための有効な戦略になる。} 
	\end{narrowlinespace}
\end{frame}
 
\subsection{RTOS と Linux のソフトウエアの制御思想の決定的な違い}

\begin{frame}
	\frametitle{Linux vs RTOS, \textcolor{yellow}{技術的にどうちがうのか}}
	{\small
	\begin{alertblock}{\ リナックスの本質（技術的な側面）}
			\textcolor{red}{リナックスの基本的な考え方は {\bf heuristics（実行結果の蓄積による類推）による自動調整}}です。 
		恣意的に自動調停を妨害するようなコードを書いてしまうとシステム全体の動作に悪影響が出るので
		自動調停のメカニズムが正しく機能できるような正しいコードを書くべきなのです。
	\end{alertblock}}
	\begin{table}[tbp]
	\begin{center}
	\small
	\begin{tabular}{llr}\bhline{1.2pt}
									& Linux		 			& RTOS				\\ \bhline{1.2pt}
			scheduling				& \textcolor{red}{\bf heuristics}			& deterministic		\\ \hline
			resource allocation		& flexible				& fixed				\\ \hline
			execution order			& runtime coordination	& predictable		\\ \hline
			MMU (virtual address)	& support by default	& not support		\\ \hline
			multi-processor 		& support by default	& not support		\\ \hline
			virtualization 			& yes (KVM, others)		& not support		\\ \hline
			address description		& abstracted			& absolute value	\\ \bhline{1.2pt}
	\end{tabular}
	\end{center}
	\end{table}
\end{frame}

 
\subsection{組み込み機器へのリナックス活用、９つのヒント}

\begin{frame}
	\frametitle{1. カーネル空間 と ユーザー空間 の明確な分離} 
	\begin{block}{}
		\textcolor{blue}{\  {\bf 完全にデバッグされた RTOS プログラムを Linux に移植する場合}}
	\end{block}
	\vspace{-0.3cm}
	\begin{acolumns}[T]
		\begin{column}{0.5\linewidth}
			\setbeamercolor{structure}{fg=lime}
			\begin{block}{\ 出来るだけオリジナルを継承する}
				\begin{itemize}
					\item 間接アドレッシングを回避するために、ユーザー空間から \textcolor{blue}{\bf mmap} 経由でレジスタにアクセスさせる 
					\item カーネルサービスは非活用 
				\end{itemize}
			\autoheight
			\end{block}
		\end{column}
		\begin{column}{0.5\linewidth}
			\setbeamercolor{structure}{fg=orange}
			\begin{block}{\  POSIX 界面で明解に分離する}
				\begin{itemize}
					\item デバイスドライバー新規開発
					\item \textcolor{blue}{\bf standard POSIX API} による明解な空間分離の適用
					\item マルチスレッドに対応したプログラミングを行う
				\end{itemize}
				\autoheight
			\end{block}
		\end{column}
	\end{acolumns}
	\pause
	\begin{block}{\ 正しい戦略は\ldots}
		\textcolor{red}{\bf POSIX による明解な空間分離はリナックスの基本戦略要件です}
	\end{block}
\end{frame}

\begin{frame}
	\frametitle{2. デバイスドライバーの設計}
	\begin{block}{}
			\textcolor{blue}{\  {\bf SoC やボード上のデバイス制御用にドライバーを設計する時に}}
	\end{block}
	\vspace{-0.3cm}
	\begin{acolumns}[T]
		\begin{column}{0.5\linewidth}
			\setbeamercolor{structure}{fg=lime}
			\begin{block}{\ 全機能が使えるドライバー}
				\begin{itemize}
						\item 最初から \textcolor{blue}{\bf コントローラーの全機能に対応する}
					\item \textcolor{blue}{\bf 独自の ioctl 拡張} を利用 
					\item メインライン化は考えない
				\end{itemize}
			\autoheight
			\end{block}
		\end{column}
		\begin{column}{0.5\linewidth}
			\setbeamercolor{structure}{fg=orange}
			\begin{block}{\ 機能限定のドライバー}
				\begin{itemize}
					\item \textcolor{blue}{\bf リナックス標準フレームワークと互換の API を継承}
					\item コントローラーの新機能が利用できるよう、フレームワーク側の拡張を提案していく
					\item メインライン化を促進 
				\end{itemize}
				\autoheight
			\end{block}
		\end{column}
	\end{acolumns}
	\pause
	\begin{block}{\ 正しい戦略は\ldots}
			\textcolor{red}{\ \bf リナックスの標準フレームワークとの API 互換性}の方が重要 
	\end{block}
\end{frame}

\begin{frame}
\frametitle{3. タスクの実行順序（優先度）のコントロール} 
	\begin{block}{}
		\textcolor{blue}{\  {\bf 応答性を改善するためのカーネルスケジューリングの調整}}
	\end{block}
	\vspace{-0.3cm}
	\begin{acolumns}[T]
		\begin{column}{0.5\linewidth}
			\setbeamercolor{structure}{fg=lime}
			\begin{block}{\ 自動スケジューラを信頼}
				\begin{itemize}
					\item レイテンシーの最小化をスケジューラの自動制御で実現 
					\item プロセスの動的優先度自動調整機能を活用
					\item 積極的に CPU 資源を解放
				\end{itemize}
			\autoheight
			\end{block}
		\end{column}
		\begin{column}{0.5\linewidth}
			\setbeamercolor{structure}{fg=orange}
			\begin{block}{\ 詳細な手動チューニング}
				\begin{itemize}
					\item \textcolor{blue}{\bf プロセス毎の nice 値} を詳細に手動設定する 
					\item \textcolor{blue}{\bf リアルタイムスケジューリングポリシー} の積極的な利用 
					\item \textcolor{blue}{\bf udelay (busy wait)} によるタイミング調整の多用 
				\end{itemize}
				\autoheight
			\end{block}
		\end{column}
	\end{acolumns}
	\pause
	\begin{block}{\ 正しい戦略は\ldots}
			\textcolor{red}{\ 過剰なスケジューリングへの介入で {\bf CPU（資源）をブロックしない}}
	\end{block}
\end{frame}

\begin{frame}
	\frametitle{4. リソース（メモリー資源）のアロケーション}
	\begin{block}{}
		\textcolor{blue}{\  {\bf 画像バッファー用に大きな物理連続メモリーを確保する場合}}
	\end{block}
	\vspace{-0.3cm}
	\begin{acolumns}[T]
		\begin{column}{0.5\linewidth}
			\setbeamercolor{structure}{fg=lime}
			\begin{block}{\ スタティックにメモリーを確保}
				\begin{itemize}
					\item カーネル管理外の領域に静的に連続領域を確保する
					\item 特定のアプリケーションだけがその領域を占有する
				\end{itemize}
			\autoheight
			\end{block}
		\end{column}
		\begin{column}{0.5\linewidth}
			\setbeamercolor{structure}{fg=orange}
			\begin{block}{\ ダイナミックにメモリーを確保}
				\begin{itemize}
					\item カーネル機能でメモリーを割りあて、low-memory 検出機能を活用
					\item \textcolor{blue}{\bf memory pool} を活用し断片化を抑止する
					\item \textcolor{blue}{\bf CMA} による連続メモリー領域の確保
				\end{itemize}
				\autoheight
			\end{block}
		\end{column}
	\end{acolumns}
	\pause
	\begin{block}{\ 正しい戦略は\ldots}
			リナックスの \textcolor{red}{\bf 投機的な動的メモリー割り当て} は極めて効率的
	\end{block}
\end{frame}

\begin{frame}
		\frametitle{5. バイナリーオブジェクト \textcolor{yellow}{(binary blobs)}}
	\begin{block}{}
		\textcolor{blue}{\  {\bf リナックスでのバイナリーコード（ライブラリー等）の扱い}}
	\end{block}
	\vspace{-0.3cm}
	\begin{acolumns}[T]
		\begin{column}{0.5\linewidth}
			\setbeamercolor{structure}{fg=lime}
			\begin{block}{\ バイナリーは出来るだけ回避する}
				\begin{itemize}
					\item \textcolor{blue}{\bf カーネル空間はGPLライセンス} (ソースコード入手は担保)
					\item ユーザー空間ライブラリーのソースも出来るだけ確保する
					\item シンボル情報はデバッグ時には必須である
				\end{itemize}
			\autoheight
			\end{block}
		\end{column}
		\begin{column}{0.5\linewidth}
			\setbeamercolor{structure}{fg=orange}
			\begin{block}{\ バイナリーオブジェクトを許す}
				\begin{itemize}
					\item ベンダーがバイナリー形式でミドルウエア等が提供する
					\item ベース環境 (kernel, toolchain) の更新が必要になった場合には
						\textcolor{blue}{\bf ソースが無いとリビルドが出来ず非常に困ることになる}
				\end{itemize}
				\autoheight
			\end{block}
		\end{column}
	\end{acolumns}
	\pause
	\begin{block}{\ 正しい戦略は\ldots}
			{\  問題を回避するために\textcolor{red}{\bf 出来るだけバイナリーオブジェクトを回避}} 
	\end{block}
\end{frame}

\begin{frame}
\frametitle{6. リナックスの開発プロセスとツール} 
	\begin{block}{}
		\textcolor{blue}{\  {\bf パッチレビュー / インテグレーション / バグトラッキング}}
	\end{block}
	\vspace{-0.3cm}
	\begin{acolumns}[T]
		\begin{column}{0.5\linewidth}
			\setbeamercolor{structure}{fg=lime}
			\begin{block}{\ 自社内プロセスの継続利用}
				\begin{itemize}
					\item 実績のあるツール
					\item \textcolor{blue}{\bf メンテナーによるレビューがないまま結合}、その後テスト＆デバッグ
					\item 不適切な git の利用 (\textcolor{blue}{\bf too large commit, no log})
				\end{itemize}
			\autoheight
			\end{block}
		\end{column}
		\begin{column}{0.5\linewidth}
			\setbeamercolor{structure}{fg=orange}
			\begin{block}{\ リナックス標準ツールの導入}
				\begin{itemize}
					\item 結合前に全てのコードの妥当性を厳しく評価する \textcolor{blue}{\bf 社内メンテナー} を配置する 
					\item \textcolor{blue}{\bf git を正しく運用する} 
					\item 公知情報（コード、議論、バグ情報　等）を活用する 
				\end{itemize}
				\autoheight
			\end{block}
		\end{column}
	\end{acolumns}
	\pause
	\begin{block}{\ 正しい戦略は\ldots}
			{\  \textcolor{red}{\bf リナックス開発で実証された開発手法を導入し積極活用するべき}}
	\end{block}
\end{frame}

\begin{frame}
		\frametitle{7. カーネルバージョンの選定基準 \textcolor{yellow}{\ ( LTS / LTSI )}} 
	\begin{block}{}
		\textcolor{blue}{\  {\bf バージョンによってメンテナンス期間が異なる点に注意}}
	\end{block}
	\vspace{-0.3cm}
	\begin{acolumns}[T]
		\begin{column}{0.5\linewidth}
			\setbeamercolor{structure}{fg=lime}
			\begin{block}{\ 単純に貰ったカーネルを利用}
				\begin{itemize}
					\item SoC ベンダーの BSP のカーネルをそのまま利用 
					\item ディストリビューションやプラットフォーム（Android, Genivi 等）を利用 
					\item \textcolor{blue}{\bf カーネルは変更したくない} 
				\end{itemize}
			\autoheight
			\end{block}
		\end{column}
		\begin{column}{0.5\linewidth}
			\setbeamercolor{structure}{fg=orange}
			\begin{block}{\ 意識的にバージョンを選択}
				\begin{itemize}
					\item 常に最新を使いたい 
					\item コミュニティの LTS 
					\item \textcolor{blue}{\ \bf LF/CEWG LTSI (Long-Term Stable kernel for Industry)}
				\end{itemize}
				\autoheight
			\end{block}
		\end{column}
	\end{acolumns}
\end{frame}

\begin{frame}
	\frametitle{ 開発コミュニティのカーネルメンテナンススキーム}
	\begin{figure}[tb] 
		\vspace{-1.0cm}
		\begin{center}
		\includegraphics[clip, angle=270, width=11cm]{ltsplan.eps}
		\end{center}
	\end{figure} 
\end{frame}

\begin{frame}
	\frametitle{\ \textcolor{yellow}{バージョン 3.4 が次期 LTS (と LTSI)} バージョン}
	\textcolor{blue}{\small https://lkml.org/lkml/2012/8/20/675 より}
	\begin{figure}[tb] 
		\begin{center}
		\includegraphics[clip, width=9.8cm]{34lslts.eps}
		\end{center}
	\end{figure} 
\end{frame}

\begin{frame}
		\frametitle{7. カーネルバージョンの選定基準 \textcolor{yellow}{\ ( LTS / LTSI )}} 
	\begin{block}{}
		\textcolor{blue}{\  {\bf バージョンによってメンテナンス期間が異なる点に注意}}
	\end{block}
	\vspace{-0.3cm}
	\begin{acolumns}[T]
		\begin{column}{0.5\linewidth}
			\setbeamercolor{structure}{fg=lime}
			\begin{block}{\ 単純に貰ったカーネルを利用}
				\begin{itemize}
					\item SoC ベンダーの BSP のカーネルをそのまま利用 
					\item ディストリビューションやプラットフォーム（Android, Genivi 等）を利用 
					\item \textcolor{blue}{\bf カーネルは変更したくない} 
				\end{itemize}
			\autoheight
			\end{block}
		\end{column}
		\begin{column}{0.5\linewidth}
			\setbeamercolor{structure}{fg=orange}
			\begin{block}{\ 意識的にバージョンを選択}
				\begin{itemize}
					\item 常に最新を使いたい 
					\item コミュニティの LTS 
					\item \textcolor{blue}{\ \bf LF/CEWG LTSI (Long-Term Stable kernel for Industry)}
				\end{itemize}
				\autoheight
			\end{block}
		\end{column}
	\end{acolumns}
	\begin{block}{\ 正しい戦略は\ldots}
			{\  \textcolor{red}{\bf LTSI ベースの長期安定版を採用する（させる）べきである}}
	\end{block}
\end{frame}



\begin{frame}
	\frametitle{8. コミュニティへの投稿　\textcolor{yellow}{アップストリーミング}} 
	\begin{block}{}
		\textcolor{blue}{\ \ {\bf 何故アップストリーム？　どんな価値があるの？}}
	\end{block}
	\vspace{-0.3cm}
	\begin{acolumns}[T]
		\begin{column}{0.5\linewidth}
			\setbeamercolor{structure}{fg=lime}
			\begin{block}{\ 利用するだけで充分では？}
				\begin{itemize}
					\item 単なる受身ユーザーだから
					\item 積極的なパッチ投稿の機会／動機がない
					\item 必要があれば自社内でカーネル改造できるから
					\item \textcolor{blue}{\ \bf 社内ツリーを管理する}
				\end{itemize}
			\autoheight
			\end{block}
		\end{column}
		\begin{column}{0.5\linewidth}
			\setbeamercolor{structure}{fg=orange}
			\begin{block}{\ 積極的に取り組みたい！}
				\begin{itemize}
					\item 積極的にフィードバック 
					\item アップストリームで対応済みのデバイスを使う 
					\item \textcolor{blue}{\ \bf アップストリームとの差分を最小化する戦略}
				\end{itemize}
				\autoheight
			\end{block}
		\end{column}
	\end{acolumns}
	\pause
	\begin{block}{\ 正しい戦略は\ldots}
			\textcolor{red}{\bf 企業からのパッチ投稿が非常に増えている意味を考えるべき}
	\end{block}
\end{frame}

\begin{frame}
\frametitle{9. リナックスディストリビューション} 
	\begin{block}{}
			\textcolor{blue}{\  {\bf パッケージ（＝アプリケーション）間の互換性を検証する}}
	\end{block}
	\vspace{-0.3cm}
	\begin{acolumns}[T]
		\begin{column}{0.5\linewidth}
			\setbeamercolor{structure}{fg=lime}
			\begin{block}{\ 自分で整合性を確保できる}
				\begin{itemize}
					\item \textcolor{blue}{\bf 単純なヘッドレス機器}
					\item OSS ミドルウエアなし
					\item OSS ライブラリなし
					\item OSS アプリなし
					\item ソースも自己管理 
				\end{itemize}
			\autoheight
			\end{block}
		\end{column}
		\begin{column}{0.5\linewidth}
			\setbeamercolor{structure}{fg=orange}
			\begin{block}{\ ディストリビューションを活用}
				\begin{itemize}
					\item PC と同じようなパッケージ管理を利用したい
					\item \textcolor{blue}{\bf 包括的にバイナリー互換性を確保したい}
					\item 製品出荷後もセキュリティ対策パッチの提供が必要
				\end{itemize}
				\autoheight
			\end{block}
		\end{column}
	\end{acolumns}
	\pause
	\begin{block}{\ 正しい戦略は\ldots}
			\  \textcolor{red}{\bf 大規模システムでは組み込みでもディストロ活用が必要}
	\end{block}
\end{frame}

\section{持続的イノベーション、破壊的イノベーション} 
\subsection{トップランナーの リスクを認識する}

\begin{frame}
\frametitle{市場シェアＮｏ．１獲得は最大のリスク要因になる}
	\begin{narrowlinespace}
	従来デジタル家電分野で世界市場を席巻してきた日本企業は、新興国から登場したコンペチターとの熾烈な競争環境の中でこれまで正常進化型（連続的）のイノベーションを積み重ねているが、ある日全く想定外の競争環境の変化が発生し急速に競争条件が変化してしまうリスクを持っていることを認識しておく必要がある
	\end{narrowlinespace}
	\begin{alertblock}{\ イノベータのジレンマ [ Clayton Christensen ]}
		\begin{itemize}
			\item 現在技術の延長上ではないところから新しい技術が登場し、唐突に主役を奪ってしまう（破壊的イノベーション）
			\item \textcolor{red}{現状で最適なオペレーションが命取り}
			\item \textcolor{red}{今日の「勝ち組」が明日の「負け組」になる}
		\end{itemize}
	\end{alertblock}
	\vspace{0.3cm}
	\begin{narrowlinespace}
		先端競争分野では急速な寡占化が進行していて、日本企業はスマートフォン等からの撤退を余儀なくされた。今後他のデジタル家電製品がソリューション指向になれば同様の事態が発生する可能性が高い。
	\end{narrowlinespace}
\end{frame}

\begin{frame}
\frametitle{持続的イノベーション}
	\vspace{-0.5cm}
	\begin{varblock}{\ 持続的イノベーション (Sustaining Innovation) の特性}
		\begin{itemize}
			\item 今使うのに最適な技術の改善
			\item 今までよりすぐれた性能を提供
			\item 現在マーケットでシェアや経験をもっている大企業が有利
			\item この戦略の問題点はイノベーションのジレンマの誘引 
	\end{itemize}
	\end{varblock}
	\begin{alertblock}{\ イノベーションのジレンマ誘引の典型例 (= 日本産業の苦悩)}
		\begin{itemize}
			\item \textcolor{red}{優良顧客の声だけを聞いて、新しい消費者にフォーカスしそこなう(新参者に未開拓市場を奪われる)}
			\item \textcolor{red}{過剰品質・機能・性能を追求しているうちに、別の観点からの競争に出遅れてしまう}
		\end{itemize}
	\end{alertblock}
\end{frame}

\begin{frame}
\frametitle{破壊的イノベーション}
	\vspace{-0.5cm}
	\begin{varblock}{\ 破壊的イノベーション (Disruptive Innovation) の特性}
		\begin{itemize}
			\item これから伸びてくる技術
			\item 市場を塗り替えてしまう技術革新
			\item 別の次元で勝負、新しい市場の創造
			\item 新しいユーザーの獲得
			\item 異分野からの新規参入企業やベンチャー企業が有利  \\(「しがらみ」がない、既成概念に囚われない )
		\end{itemize}
	\end{varblock}
	\begin{narrowlinespace}
		我々は破壊的イノベーターが参入して市場が破壊されてしまうより前に、過去の成功体験を捨てて（あえて否定をして）自らが改革者と
		ならねば生き延びられないことを認識する必要がある。\textcolor{red}{過去の単純な延長に未来は無く革新なくしては生き延びられないのだが
		同時に、革新は努力の積み重ねの結果達成されるものであり、突然変異的に得られるものではない事を理解しておこう。}
	\end{narrowlinespace}
\end{frame}

\begin{frame}
\frametitle{出た当初に破壊的な革新に気づく人は少ない...}
	\begin{block}{破壊的イノベーション過去事例}
		\begin{itemize}
			\item マイクロプロセサ\hfill (電卓の部品、1971)
		 	\item PC　\hfill(8bit CPUのマニア向けゲーム機、1975?)
			\item ケータイ　\hfill(ショルダーフォン、3kg、2万円/月、1985)
			\item 液晶TV　\hfill(1.2型、1982、3インチ、9万画素、1987)
			\item MP3　\hfill(CDより劣った音質、1991)
			\item Linux　\hfill(大学生の学習用OS、1991)
			\item デジカメ　\hfill(25万画素、1.8型液晶、1995)
		\end{itemize}
	\end{block}
	\vspace{0.5cm}
	\begin{narrowlinespace}
	    1990年当時組み込み機器でLinuxを動作させるのは一部のマニアの趣味と考えられていた。半導体会社でLinuxをビジネス商材と考えた人はいなかったが、\textcolor{red}{感性に優れたPC周辺機器メーカーの幹部に発掘される形}で家庭用のNASという新ジャンル製品が誕生
    \end{narrowlinespace}
\end{frame}

\begin{frame}
\frametitle{破壊的イノベーションは不可逆的である}
	\begin{figure}[ht]
	\vspace{6.0cm}
		\begin{center}
			\includegraphics[clip, angle=270, scale=0.35]{devconppt3.eps}
		\end{center}
	\end{figure}
\end{frame}

\subsection{日本産業界が直面する課題と破壊的リスク要因}

\begin{frame}
	\frametitle{日本のデジタル産業界が直面する課題}
	\begin{alertblock}{\ 課題}
		\begin{itemize}
			\item \textcolor{red}{国内産業の空洞化 （お得意様が負け組ばかりに）}
			\item \textcolor{red}{結果として国内販売体制の余剰感、一方で海外が極めて手薄}
			\item \textcolor{red}{国内の売り方（＝手厚い対面サポート）が通用しない}
			\item \textcolor{red}{製品ラインナップの混乱（製品多すぎ）}
			\item \textcolor{red}{製品の背後には専属の設計部隊を沢山抱える（非効率）}
			\item \textcolor{red}{システム技術、ソフトウエア技術への対応が困難}
			\item \textcolor{red}{オープンプラットフォームなど新潮流への対応}
			\item \textcolor{red}{海外におけるブランドの弱さ}
			\item \textcolor{red}{国際コミュニケーション力、意思決定のスピード感の欠如}
		\end{itemize}
	\end{alertblock}
\end{frame}

\begin{frame}
	\frametitle{現在日本の電子産業が直面するリスク}
	\begin{alertblock}{\ リスク}
		\begin{itemize}
			\item \textcolor{red}{デバイス自体は本質的に交換可能で過当競争に陥りやすい}
			\item \textcolor{red}{デバイスの高度化に伴うサポートコスト増大、収益性の低下}
			\item \textcolor{red}{国内においては黒船の到来、結果としての競争条件の変化}
			\item \textcolor{red}{ジャパンプレミアム前提の高コスト体質で国際競争力なし}
			\item \textcolor{red}{破壊イノベーションによる急激な競争環境の変化}
			\item \textcolor{red}{ソフトウエア技術力の国際競争力の弱さ（ガラパゴス化）}
			\item \textcolor{red}{コア技術を社外に依存した単なる手配師は中抜きされる}
		\end{itemize}
	\end{alertblock}
\end{frame}

\begin{frame}
\frametitle{感度をあげて新しい脅威を感知する(1)}
	\begin{exampleblock}{\ Tim O'reillyの有望技術発見基準}
		\begin{itemize}
			\item hackability
				\begin{itemize}
					\item その道のプロをにやりとさせるものがある
				\end{itemize}
			\item being in line with some major trend
				\begin{itemize}
					\item 追い風が吹いている
				\end{itemize}
			\item disruptive potential
				\begin{itemize}
					\item なにかをぶっとばしかねない迫力がある
				\end{itemize}
			\item grassroots enthusiasm
				\begin{itemize}
					\item 熱気にみちたひとびとの支持がある
				\end{itemize}
			\item the presence of professional practitioners
				\begin{itemize}
					\item 仕事をきちんとこなすプロがいる
				\end{itemize}
			\item a possible business ecology
				\begin{itemize}
					\item 商売になりそう、ビジネス生態系が成立しうる
				\end{itemize}
			\end{itemize}
	\end{exampleblock}
\end{frame}

\begin{frame}
\frametitle{コラム　人間は実際には驚くほど現実を見ていない}
	\begin{figure}[ht]
		\begin{center}
			\includegraphics[clip, scale=0.5]{unread.jpg}
		\end{center}
	\end{figure}
\end{frame}

\begin{frame}
\frametitle{完全なる商品("the Whole Product") という概念}
	\begin{itemize}
		\item ユーザが望むものは裸のハードウェアだけではない
			\begin{itemize}
				\item ソフトウェア(OS、アプリケーション、...)
				\item 周辺装置、アクセサリ\\(ストレージ、ネットワーク、ケーブル、カメラ、...)
				\item ネットワーク・インフラ、サービス、コンテンツ
				\item 開発環境、トレーニング、サポート
				\item システム・インテグレーション
			\end{itemize}
		\item 評価用サンプルソフトだけではソリューションにはならない
		\item \textcolor{red}{バリューチェイン(価値連鎖) の提供}
				\begin{itemize} 
					\item 本当の意味でのソリューション提供は \textcolor{red}{「困っている管理者」の問題を解決してあげること}であるから、提供を期待されるのは単なる技術供与だけに止まらない
					\item もはや1社ですべてを提供することは不可能 → 　協業による課題解決提案力も必要
				\end{itemize}
		\end{itemize}
\end{frame}

\begin{frame}
	\frametitle{我々が解決すべきユーザーの本質的課題は何か？\ldots.}
	\begin{figure}[ht]
	\vspace{7cm}
		\begin{center}
			\includegraphics[clip, angle=270, scale=0.4]{recog.eps}
		\end{center}
 	\end{figure}
\end{frame}

\begin{frame}
	\frametitle{日本企業に残されたオポチュニティ}
	\begin{narrowlinespace}
		本質的には技術の複雑度があがればあがる程、ユーザーは自分だけでは問題を解決できなくなる。そのギャップを誰が埋めること（目先の課題解決）を提供するだけではなく、本質的な問題解決となる代案（= ソリューション）を提供する機会が与えられていることに気づくべき。
	\end{narrowlinespace}
	\begin{varblock}{\ オポチュニティ}
		\begin{itemize}
			\item ユーザーは”メーカー以上” を期待されている
			\item 製品を仕上げきる力 （顧客との完全利害一致）
			\item 技術革新による競争条件の変化 （もはやPCの時代ではない）
			\item 技術サポートにおいても ”おもてなし” の対価性
		\end{itemize}
	\end{varblock}
\end{frame}

\begin{frame}
\frametitle{感度をあげて新しい脅威を感知する(2)}
	\begin{exampleblock}{\ 破壊的イノベーションの芽をみつけるためのキーワード}
		\begin{itemize}
			\item 遅くて / ややこしくて / 重すぎて / 高すぎて /\\難しすぎて、使いものにならない
			\item 商品のクォリティでない
			\item 安物、まがいもの
			\item おもちゃ趣味で使うならいいけど。マニア向け
			\item きれいごと。世間じゃ通用しない。わりきりすぎ
		\end{itemize}
	\end{exampleblock}
	\vspace{0.7cm} 
	\begin{narrowlinespace}
		\textcolor{red}{今目の前で起こっている先駆けとなる兆候}をきちんと正視しなければならない。「あれは特殊ケースだから\ldots..」で片付けてしまったらせっかくのチャンスが台無しである。むしろ\textcolor{red}{今は荒唐無稽に見えるような発想に着目すべき}である。
	\end{narrowlinespace}
\end{frame}

\begin{frame}
	\frametitle{まとめ}
	\begin{block}{}
		{\small
		\begin{itemize}
			\item オープンソースソフトウエアの代表例として、リナックスカーネルの概要とその開発プロセスについて紹介した。今後\textcolor{red}{ソフトウエア技術者として活躍して
					いく上ではオープンソースを活用していくだけでなく、オープンソース開発者との連携がポイントになる}と認識して欲しい。
			\item 日本のデジタル家電産業が従来のRTOSからリナックスを導入した時に経験した失敗例を参考にしながら、組み込み機器の開発にリナックスを導入する際の
					ヒントとなる事項を９件紹介した。\textcolor{red}{リナックスのような大規模ソフトウエアを利用する場合には適切な作法を理解して正しい実装をする事が重要}である。
			\item クリステンセンの『破壊的イノベーション』の概念を参考にしながら、日本の電子産業が直面するイノベーションのジレンマについて検討した。\textcolor{red}{従来の
					延長線での改善（＝継続的イノベーション）だけでは生き残れないので柔らかい頭で次世代に通じる飛躍を目指してほしい。}
		\end{itemize}
		}
	\end{block}
\end{frame}
 

\end{document}
