computerに関するsolterのブックマーク (35)

  • シンクライアント - Wikipedia

    この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。 出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "シンクライアント" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL (2019年2月) 図書館に設置されているシンクライアント シンクライアント HP T5700 Clientron社のシンクライアントU700 シンクライアント Gigabyte TA7 シンクライアント(英: thin client)とは、ユーザーが使うクライアント端末に必要最小限の処理をさせ、ほとんどの処理をサーバ側に集中させたシステムアーキテクチャ全般のことをいう[注 1]。 または、そのようなシステムアーキテクチャで使われるように機能を絞り込んだ専用のクライアント

    シンクライアント - Wikipedia
  • Alto - Wikipedia

    Alto(アルト)は、後にデスクトップ・メタファーを使用し、グラフィカルユーザインタフェース (GUI) をベースにしたオペレーティングシステム (OS) をサポートするように設計された最初のコンピュータである[7][8]。最初のマシンは1973年3月1日に動き始めた[9]。Appleが大規模市場向けGUI搭載パソコン「Macintosh」を発表する10年以上前のことである。 Altoは比較的小さなキャビネットに収められ、複数の小規模・中規模集積回路から作られたカスタム中央処理装置 (CPU) を使用している。10年 - 15年後の「パーソナルコンピュータ」の一般的な性能を想定して設計されたため、マシン1台当たりのコストは高級車の販売価格に達した。当初は少数しか製造されなかったが、1970年代後半までに、ゼロックスの様々な研究所で約1,000台、いくつかの大学では約500台が使用されていた

    Alto - Wikipedia
  • デバッグ - Wikipedia

    デバッグ(英: debug)とは、コンピュータプログラムや電気機器中のバグ・欠陥を特定して取り除き、動作を仕様通りのものとするための作業である。“de-”は「〜から離れて/分離して/除去して」といった否定の意味を持つ接頭辞であり[1]、「虫」を意味する英語名詞“bug”と結びついた複合語が“debug”である。 サブシステムが密結合であると、1箇所の変更が別の箇所でのバグを作り出すので、バグの修正がより困難となる。 「デバッグ」という語を初めて使った人物については論争がある(バグを参照)。1976年に Glenford J. Myers の Software Reliability: Principles and Practices で"debugging"が「既知のエラーの原因を突き止め、そのエラーを修正すること」と定義されて使われたのが初めてだとする者がいる一方、1940年代にグレース

  • デバイスドライバ - Wikipedia

    この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "デバイスドライバ" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL(2021年5月) デバイスドライバ(英: device driver)とは、コンピュータのデバイス(ハードウェア類。たとえばディスプレイ、プリンター、イーサネットボード、拡張カード、その他周辺機器など)をオペレーティングシステム (OS) が制御するためのソフトウェアである。しばしば略してドライバあるいはドライバーと呼ばれる。 概要[編集] デバイスドライバは、一般にバスや通信サブシステムを経由してそこに接続している周辺機器と通信する。プログラムからドライバ内のルーチンを呼

    デバイスドライバ - Wikipedia
  • ソート - Wikipedia

    ソート (英: sort) は、データの集合を一定の規則に従って並べること[1]。日語では整列(せいれつ)、並べ替え(ならべかえ)、分類(ぶんるい)などと訳される[1]。 主に配列や連結リストのような、リストデータ構造に分類されるコレクション(コンテナ)に格納されている要素データを、全順序関係によって並べ替えることを指す。また、単に「ソート」といった場合、値の小さい方から大きい方へ順に並べる昇順(しょうじゅん、英: ascending order)を指すことが多い。その反対に値を大きい方から小さい方へ順に並べることを降順(こうじゅん、英: descending order)という。 対象となるコレクションのデータ構造や必要とされる出力、また時間的コストと空間的コストの兼ね合いによって、ソートに使われるアルゴリズムは異なる。 効率的なソートは、ソート済みのデータを必要とする他のアルゴリズム

  • RSA暗号 - Wikipedia

    RSA暗号(RSAあんごう)とは、桁数が大きい合成数の素因数分解が現実的な時間内で困難であると信じられていることを安全性の根拠とした公開鍵暗号の一つである。暗号[1]とデジタル署名を実現できる方式として最初に公開されたものである。 RSA暗号方式は、1977年に発明され、発明者であるロナルド・リベスト、アディ・シャミア、レオナルド・エーデルマンの原語表記の頭文字をつなげてこのように呼ばれる[2](p63)。前年(1976年)にディフィーとヘルマンによって発表されたばかりの公開鍵暗号という新しい概念に対し、秘匿や認証を実現できる具体的なアルゴリズムを与えた。発明者3氏は、この功績によって2002年のチューリング賞を受賞した。この暗号はフェルマーの小定理に基づいている[2][要ページ番号]。 RSA暗号のアルゴリズムは、1983年9月20日にアメリカ合衆国で特許(4,405,829号)を取得し

  • 404 Blog Not Found:アルゴリズム百選 - 配列を再発明する

    2007年12月03日04:00 カテゴリアルゴリズム百選 アルゴリズム百選 - 配列を再発明する アルゴリズムを理解するのに最適な方法は、すでに当たり前のように使われている仕組みを、もう一度時分の手で作ってみることです。ここでは、配列に関するアルゴリズムを再実装してみます。 ここでは、MyArrayというオブジェクトを作って、それに配列としての機能を持たせることにします。まずは基的な操作ができるようにしておきます。 残念ながらRubyなどと異なり、JavaScriptでは[]を演算子として再定義することは出来ないので、ここではget()メソッドとset()メソッドをその代わりとして用意することにします。また、利便性を考えて、組み込みのArrayに変換するtoArray()メソッドも用意しておくことにしましょう。 function MyArray(){ this.size = argum

    404 Blog Not Found:アルゴリズム百選 - 配列を再発明する
  • 404 Blog Not Found:アルゴリズム百選 - ハッシュを再発明する

    2007年12月03日11:15 カテゴリアルゴリズム百選 アルゴリズム百選 - ハッシュを再発明する (実はハッシュを使って)配列を再発明したところで、今度は配列を使ってハッシュを再発明してみます。 現代におけるプログラミングでは、連想配列(associative array)というものを非常によく使います。通常の配列では、データを取り出すのに整数の番号を使いますが、連想配列ではその代わりに文字列を使います。これは非常に便利で、多くの言語ではオブジェクトの実装にこの連想配列を用いています。JavaScriptのオブジェクトも実は連想配列です。 しかし、これを実装するには、少し工夫が必要です。単なる配列であれば、ただ等間隔に並べておけば、「何番目を出してくれ」で事足りますが、連想配列で「'dankogai'番目」といっても人間にもコンピューターにもなんのことかさっぱりわかりません。 誰でも

    404 Blog Not Found:アルゴリズム百選 - ハッシュを再発明する
  • パーソナルコンピュータ - Wikipedia

    パーソナルコンピュータ(英: personal computer)は、個人によって占有されて使用されるコンピュータのことである。 略称はパソコン[注釈 1]、またはPC(ピーシー)[1]。ただし「PC」という略称は、特にPC/AT互換機を指す場合もある[注釈 2]。1980年頃は「パーコン」と呼ぶ人もいた[6]が、現在では「パーコン」とは呼ばれない。 パーソナルコンピュータ(PC)は、個人で使用するコンピュータである[7][注釈 3]。 パーソナルコンピュータが登場する以前、コンピュータは大型で高価だった[7]。購入や運用に巨額の費用が必要なので、それらは大企業や大学や研究所などが所有し、1台を、それら組織に所属する人々が共同で使用していた(タイムシェアリングシステム)。この時代、個人が自分のためだけに購入して占有して使えるようなコンピュータは存在しなかった。だが1971年にアメリカのイン

    パーソナルコンピュータ - Wikipedia
  • ナップサック問題 - Wikipedia

    この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。 出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "ナップサック問題" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL (2016年9月) ナップサック問題 ナップサック問題(ナップサックもんだい、Knapsack problem)は、計算複雑性理論における計算の難しさの議論の対象となる問題の一つで、n 種類の品物(各々、価値 vi、重量 wi)が与えられたとき、重量の合計が W を超えない範囲で品物のいくつかをナップサックに入れて、その入れた品物の価値の合計を最大化するには入れる品物の組み合わせをどのように選べばよいか」という整数計画問題である。同じ種類の品物を1つまでしか入れられない場

    ナップサック問題 - Wikipedia
  • 組み込みシステム - Wikipedia

    組み込みシステム(くみこみシステム、英: embedded system)は、家電製品や産業機器などに搭載された、特定の機能を実現するためのコンピュータシステムの総称である[1]。 概説[編集] 組み込みシステムの一例 一例。en:EFM32。 組み込みシステムとは、機械や装置等の特定の機能を実現するために「組み込まれる」コンピュータシステムのたぐいを指すための総称である。産業用機器、医療用機器、家庭用機器等、制御を必要とする多くの製品に用いられている。特定の機能を実現する目的で組み込まれるという点で、PC等の汎用的なシステムと対比される。 小型・軽量、省電力、安定動作・誤動作防止などの要求から専用に設計されるものが多いが、組み込み用途以外の既存の製品のダウンサイジング、もしくは既存の回路ないしコンポーネントを流用・組み立てを行い製品化しているものも近年増えてきている、これはコンピューター

    組み込みシステム - Wikipedia
  • クロスコンパイラ - Wikipedia

    クロスコンパイラ(英: cross compiler)は、コンパイラが動作している環境以外のプラットフォーム向けに実行ファイルを生成する機能を持つコンパイラである[1]。クロスコンパイラは主に組み込みシステム向けのコンパイラや、マルチプラットフォーム対応のコンパイラとして使われる。 必要最小限のメモリしか搭載していないことが多いマイクロコントローラを使った組み込みシステムや、セキュリティのためアプリケーションソフトウェアのインストールや動作形態に制限のあるモバイルOS環境など、実行ファイルを動作させたいプラットフォームがコンパイル環境としては不適切な場合にはクロスコンパイラは必須である。 システムが複数のプラットフォームをサポートする場合に、準仮想化のためのツールとしてクロスコンパイラを利用することが一般化しつつある。 クロスコンパイラの基的使用法は、ビルド環境をターゲット環境から分離す

  • 準仮想化 - Wikipedia

    計算機科学において準仮想化(じゅんかそうか、英: Paravirtualization)は、仮想機械へのソフトウェアインタフェースを提供する仮想化技術の一つである。その仮想機械 (VM) は、下層の物理ハードウェアと似ているが同一のものではない。 準仮想化を用いることでハイパーバイザ (VMM) はよりシンプルにでき、その上で動作する仮想機械の動作パフォーマンスを仮想化されていない物理ハードウェア上で動作させる時に近づけることができるようになるだろう。しかしながら、オペレーティングシステムを準仮想化されたVMMの上で動作させるには修正が必要になる。プロプライエタリなオペレーティングシステムの開発をおこなっている所は、戦略的な目的で準仮想化を可能にするために自社製品に手を入れることを拒否するかもしれない。 歴史[編集] これは古くからあるアイデアに基づいた新しい用語である。IBMの「VM」(

  • ハイパーバイザ - Wikipedia

    この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "ハイパーバイザ" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL(2021年9月) コンピュータ用語における、ハイパーバイザ (hypervisor) とは、コンピュータの仮想化技術のひとつである仮想機械(バーチャルマシン)を作成および実行するソフトウェアである[1]。仮想化モニタや仮想化オペレーティングシステムと呼ばれることもある。

  • 仮想機械 - Wikipedia

    仮想機械(かそうきかい、仮想マシン、バーチャルマシン、英語: virtual machine、VM)とは、アプリの使用を最適化する方法であり、コンピュータの動作を再現するソフトウェアである。すなわち、エミュレートされた仮想のコンピュータそのものも仮想機械という。仮想機械によって、1つのコンピュータ上で複数のコンピュータやオペレーティングシステム (OS) を動作させたり、別のアーキテクチャ用のソフトウェアを動作させることができ、アプリケーションが互いに干渉するのを防げる[1]。 仮想機械によるアプローチは、企業や個人がレガシーアプリケーションに対処し、1台のコンピュータで処理できるさまざまな種類のアプリケーションを最大化することで、ハードウェアの使用を最適化するための一般的な方法である[1]。 システム仮想機械はシステム全体を再現し、その上でOSを動かすことを可能にする。動作させるOSにい

    仮想機械 - Wikipedia
  • エミュレータ - Wikipedia

    この項目では、エミュレータの定義について説明しています。 コンピュータなどを模擬的に動かす行為については「エミュレータ (コンピュータ)」をご覧ください。 特にゲームについては「ゲームエミュレータ」をご覧ください。 コンピュータ分野で使われることが多い用語だが、もともとは機械装置全般に使う言葉である。判りやすく言えば、機械を真似る機械である。 ある機械部品やソフトウェアを動作させるのに、オリジナルのシステムを用意するのが難しい場合に、オリジナルと全く同じ動作をするより簡便なシステムを用意することがある。この装置をエミュレータと言う。エミュレータの上で、動作させたいソフトウェアや機械部品をオリジナルと全く同じように機能させられる。機械装置やハードウェアだけでエミュレータを作成したり、ソフトだけで作成したり、あるいはその両方を同時に使う。 たとえば、巨大な工作機械や航空機などは部品の設計段階や

  • ビルド (ソフトウェア) - Wikipedia

    ソフトウェアのビルド(英: build)は、プログラミング言語で書かれたソースコードファイルや各種リソースファイル[要曖昧さ回避]を独立したソフトウェア生成物に変換するコンピュータ上で実行されるプロセス、またはその結果を指す。ビルドの最終生成物はバイナリ形式の実行ファイルであったり、再利用可能なライブラリであったり、バイトコードあるいはそれらをまとめたアーカイブであったりすることもある[1]。 ビルドにはいくつかのステップがあり、その内容はプログラミング言語やビルドツール、開発環境や実行環境(ターゲットアーキテクチャ、オペレーティングシステムあるいは仮想マシン)によっても異なる。例えばC言語あるいはC++の場合、ソースファイル(ソースコード)をコンパイラによってオブジェクトファイル(オブジェクトコード)に翻訳(コンパイル)した後、リンカによってオブジェクトコードを結合し、実行ファイルを生成

  • インタプリタ - Wikipedia

    インタプリタ(英: interpreter)とは、プログラミング言語で書かれたソースコードないし中間表現を逐次解釈しながら実行するプログラムのこと[1]。「インタープリタ」「インタープリター」などと表記することもある。 インタプリタは、およそ次のいずれかの動作をするプログラムである。 ソースコードを直接解釈実行する。 ソースコードを何らかの効率的な中間的なコード(中間表現)に、最初に全て変換して、あるいは、逐次変換しながら、解釈実行する。 何らかのコンパイラが生成し出力した、何らかの効率的な(マシンに依存しない、あるいは、マシン依存の)中間表現を解釈実行する[注 1]。 このように程度の差はあるが、ソフトウェアがソフトウェアを実行するという形になる。 いずれにしても、「インタプリタ言語」などという分類は来は存在しない。単にそれぞれの言語の代表的な処理系の実装がインタプリタであったというだ

  • 宣言型プログラミング - Wikipedia

    宣言型プログラミング(英: Declarative programming)は、数理論理学的な性質を表わしている総称的なプログラミングパラダイムである。式の計算構造を、主に表示的意味論下のロジックで表現する構文にされることが多く、式枠外の副作用を伴なう制御フローや自由変数の多用などは排除されるようになる[1]。計算構造は演繹的に組み立てられることが多い。命令型プログラミングと対をなしてのプログラミング言語の分類用語としても扱われている。[注釈 1]} 宣言型言語は、what the program must accomplish(何をなすべきか)方針で、副作用を排除した式や純粋関数の実装に努める[2]。これは命令型言語の、how to accomplish it(どうなすべきか)方針で、副作用を前提にした操作的意味論下のアルゴリズム実装とよく対比される[3]。 宣言的パラダイムは、関数型、

    宣言型プログラミング - Wikipedia
  • 命令型プログラミング - Wikipedia

    この記事には独自研究が含まれているおそれがあります。問題箇所を検証し出典を追加して、記事の改善にご協力ください。議論はノートを参照してください。(2021年3月) この記事には参考文献や外部リンクの一覧が含まれていますが、脚注によって参照されておらず、情報源が不明瞭です。脚注を導入して、記事の信頼性向上にご協力ください。(2021年3月) 命令型プログラミング(めいれいがたプログラミング、英: imperative programming)は、プログラムの状態(英語版)を変化させるステートメントを基文に用いる総称的なプログラミングパラダイムである。ステートメントではコマンド(命令文)が多用される。宣言型プログラミングと対をなしてのプログラミング言語の分類用語としても扱われている。宣言型の数学的性質に対して、命令型はノイマン型コンピュータ向けの計算機科学特有の性質である。このパラダイムは、