You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
最近では開発環境をローカルに構築することなく、Dockerをはじめとするコンテナ技術を使用する場面が増えています。コンテナ技術の利用により、環境の構築手間が大幅に軽減でき、さらにプログラミング言語やデータベースのバージョン管理も柔軟に行えるのが主な利点として挙げられます。 そんなコンテナ技術で有名なものとしてはDockerが存在しますが、最近では他にもさまざまなコンテナ技術や仮想化技術が登場しています。本記事では、これらの技術の相違点や特徴について紹介します。 コンテナはホストOSから独立した環境でアプリケーションを実行する技術です。 Dockerの場合を見てみると、下の図のようにホストOSの上にDockerが存在し、このDockerが様々なアプリケーションを「コンテナ」として管理しているとイメージできます。 具体的には、コンテナ内には必要なライブラリや依存関係がパッケージ化されており、こ
本書では、小さなOSをゼロから少しずつ作っていきます。 OSと聞くと腰が引けるかもしれませんが、OS (特にカーネル) の基本機能は案外単純です。巨大なオープンソースソフトウェアとしてよく挙げられるLinuxでさえ、バージョン0.01はたった8413行でした。様々な要求に応えるために次第に肥大化していっただけで、当初は大変素朴な実装になっていました。 本書では素朴なコンテキストスイッチ、ページング、ユーザーモード、コマンドラインシェル、ディスクデバイスドライバ、ファイルの読み書きをC言語で実装します。これだけ様々な機能が詰め込まれているのに、コードは合計でたった1000行未満です。 「1000行なら1日でできそう」と思うかもしれませんが、初学者には少なくとも3日はかかるでしょう。OS自作のハマりポイントは「デバッグ」です。アプリケーション開発とは違うデバッグ手法・能力を習得する必要がありま
Linux用Windowsサブシステム(WSL)の登場とPOSIXサポートの変化をおさらい:その知識、ホントに正しい? Windowsにまつわる都市伝説(220) Windowsはかつて「POSIXサブシステム」を備え、UNIX互換のファイルシステムと実行環境を提供していました。POSIXサブシステムは現在のWindowsにはもうありませんが、「Linux用Windowsサブシステム(WSL)」の登場で、POSIXサポートが復活というか、さらに強化されています。その1つが、「POSIX方式(スタイル)の削除」のサポートです。 Windowsにまつわる都市伝説 WindowsとPOSIXの関係 「POSIX(Portable Operating System Interface)」は、オペレーティングシステム(OS)の標準的なインタフェースと環境を定義するIEEE規格です。ソースコードレベル
拙著、「[試して理解]Linuxのしくみ ~実験と図解で学ぶOS、仮想マシン、コンテナの基礎知識【増補改訂版】」が10/17日に発売されることになりました。本記事はその宣伝のためのブログエントリです。 [試して理解]Linuxのしくみ ―実験と図解で学ぶOS、仮想マシン、コンテナの基礎知識【増補改訂版】 作者:武内 覚技術評論社Amazon まずは本書がどのようなものかについて説明し、その後に、すでに第一版を読まれている方向けに第一版と本書の差分について説明します。 どんな本なのか 筆者は過去にLinuxカーネル開発をしていたのですが、そのころから次のような思いをずっと持っていました。 OS、とくにOSカーネルについての広く浅い知識はOSカーネル開発者だけではなく多くの技術者にとって役立つはず 当時OSカーネルについての知識を得ようとすると、OSを作ったりサポートしたりする人用の難しくて分
Bootstrap post-collapse technology Winter is coming and Collapse OS aims to soften the blow. It is a Forth (why Forth?) operating system and a collection of tools and documentation with a single purpose: preserve the ability to program microcontrollers through civilizational collapse. It is designed to: Run on minimal and improvised machines. Interface through improvised means (serial, keyboard, d
内閣官房デジタル市場競争本部事務局は4月26日、「モバイル・エコシステムに関する競争評価 中間報告」に対するパブリックコメントを開始した。資料はここからダウンロードできる。 280ページにも及ぶ労作で、スマートフォンのエコシステムについて詳細な分析を行なっており、これに関わる事業をやっている方にとっては参考になる部分も多いだろう。 ご承知の通り、スマートフォンのOSはAppleのiOSとGoogleのAndroidに2分されている。一時期MicrosoftもWindows Phoneで再参入した時期もあったが、2019年に「Windows 10 Mobile」のサポート終了を以て撤退。以降はiOSとAndroidの寡占状態が続いている。 もともと内閣官房デジタル市場競争本部事務局が、市場競争を加速し、最終的に消費者の利に資する目的の組織であることから、中間報告はこの寡占状態による市場競争の
2021 年 3 月 22 日に『ゼロからの OS 自作入門』を出版する予定です。 本書は OS を手作りする本で、現代のパソコンでちゃんと起動する点が特長です。 15 年前の 2006 年に出版された『30 日でできる!OS 自作入門』を読んで育った私(uchan)が その後継となるだろう本を書いたということで、執筆の裏話を記してみたいなと思います。 書籍の概要 タイトル:ゼロからの OS 自作入門 著者:内田公太(uchan) 出版予定日:2021 年 3 月 22 日 ページ数:768(最大。実際はもっと少なくなる予想) ISBN:978-4-8399-7586-9 出版社の書籍ページ:ゼロからのOS自作入門 | マイナビブックス 本書は OS 作りに関する知識がないところから始め、オリジナルの OS「MikanOS」を作る一通りの過程を説明します。 パソコンの電源を入れ、他の OS
Arm入門勉強会とは、macOSがArmに移行したこの機にArmアーキテクチャでのプログラミングについて入門するソフトウェアエンジニアのための会です。OS開発に必要なArmの低レイヤーなプログラミングについて、金津穂氏が共有しました。前半はArmの実行モデルと割り込みについて。全2回。 概要と自己紹介 金津穂氏(以下、金津):「AArch64とOS入門」ということで金津が発表いたします。 はじめにですが、「これからArmでOSを自作したい!」という人向けのまとめ資料になります。なので、すでにArmでお仕事している人、とくに組み込み向けだったりとかすでにOS開発とかしている人にとってはもう既知の情報しかない。あと、リファレンスマニュアルを自分で読める人にとっては、それを読んだほうが確実な情報が手に入るんじゃないかなと思います。 Armと題してますけど、基本的にはAArch64だけにします。A
初めまして。株式会社カミナシPMの@gtongy1です。 Dockerというツール。SRE, Backend, Frontendどの領域のエンジニアも馴染みのあるツールではないでしょうか。 コンテナを利用することにより、インフラの環境を一つの空間に梱包し、その内部で柔軟に様々な環境を作ることが出来ます。 コンテナの実体とはなんなのでしょう? 叡智が詰め込まれたそんな一つの宝箱のように見えます。 「 コンテナ作ってみたくなりませんか? 」 僕と同じように知的好奇心をくすぐられたそこのあなた!コンテナ沼の一歩目を一緒に踏み出してみましょう! 検証環境 Ubuntu 18.04 golang 1.15 Dockerの機能おさらい docs.docker.com まず、ドキュメント内を読み進めてDockerに対する知識を整理します。 DockerはDocker daemonを基幹とし、その呼び出し
この記事は自作OS Advent Calendar 2020 7日目の記事となります。 はじめに 現在のオープンソースOSは、たとえばLinux開発ボードであればボードベンダーから移植済みのLinux環境が提供されたり、たとえばNetBSDであればクロスコンパイル環境が整備済みでドキュメントも用意されていて、最低限の移植作業で移植が完了したりします。 ぼくがNetBSDを移植した当時(1993年)はそうではありませんでした。ドキュメントもなくいろいろ手探りで、それも一人でやらざるを得ませんでした。苦労話のことは置いておいて、技術的にどういう物が用意され何を調べてどういう手順で移植していったかを記録に残せればと思います。(って前置きした割に苦労話が多いような気がします、すみません) かなり昔の話なので、けっこう忘れてることも多く、微妙に記憶が間違っていたりすることも、順番が前後していることも
Windows 10 Homeでも使える本物のDockerの提供開始 DockerのコンテナリポジトリであるDocker Hubでは、歴史的な経緯からWindows ServerやIISが提供されている。本物のDocker環境「Docker Desktop for Windows」との関係などを整理する。 コンテナ仮想化を用いたアプリケーションの開発/実行環境である「Docker(ドッカー)」を試したことはあるだろうか。Windowsユーザーの場合、Hyper-VやVMwareといった仮想マシン環境は使ったことがあっても、Dockerを普段から利用しているという人はまだ少ないだろう。手元のWindows環境で試してみたかったけれど、「何やら複雑そうで手が出なかった」という人もいると思う(これはWindows OS上のDockerのサポートが二転三転したことも一因だろう。詳しくは後述)。 し
仮想マシンがどのように実現されているか気になったので、勉強がてら簡単なハイパーバイザを作ってみました。ソースコードはGitHubで公開しています。 方針 RaspberryPi3で動作するAArch64向けのType-1(ベアメタル)ハイパーバイザを作ることにしました。名前は"raspvisor"とします。 スクラッチから作り始める気力はなかったので、なるべく流用できるものは使っていくことにしました。そこで、RaspberryPiのOS開発教材であるRPi OSをハイパーバイザに改造していくことにしました。RPi OSはコード量が少なく読みやすい上、割り込み処理、プロセススケジューラ、ユーザプロセス、システムコール、仮想メモリといった機能が一通り実装されています。OSを改造することにしたのは、プロセス管理や仮想メモリ、割り込み処理といった部分を、ハイパーバイザの実装に流用できそうだと思った
Amazon Web Services(AWS)は、コンテナの実行に最適化したLinuxベースのOS「Bottlerocket」正式版のリリースを発表しました。 Bottlerocketは一般的なLinux OSが備えるさまざまな機能のなかから、コンテナの実行に必要な機能だけを残して徹底的にスリムダウンし、セキュリティなどを強化したLinuxベースのOSです。Pythonなどスクリプト言語の実行系はもちろん、シェルやSSHも省かれています。 Linuxカーネルとコンテナの実行に必要な最小限のソフトウェアで構成されるため、性能上のオーバーヘッドが小さくなっているだけでなく、セキュリティの脆弱性につながるような外部との境界面も小さくなっています。 ブート時には自己の整合性をチェックして起動。SELinuxの強制アクセス制御により、Bottlerocket自体への変更も特権コンテナからの変更のみ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く