[Computer Engineering] String, Graphics, OS, Garbage Collection, Cache
文字列
Unicode-世界中のすべての文字をコンピュータ上で一致させるための工業標準です.
同じ文章でも符号化方式が異なると、そのファイルがサポートされていなければ読み込めません.したがって,符号化方式を統一する.
エンコーディング:コンピュータが任意の文字または記号(バイナリを使用)を使用できるようにします.
文字の符号化/復号化の事前定義条件-文字列セット、文字セット(charset).standard charset - unicode
ASCII-7ビット文字列は符号化を表す.(英字、数字、特殊文字、スペース)
UTF-8, UTF-16
Universal Coded Character Set + Transformation Format 8 bit/16bit
UTF-8
// utf-8: UTF-8은 유니코드 한 문자를 나타내기 위해 1byte 에서 4byte 까지 사용한다.
// 1110xxxx 10xxxxxx 10xxxxxx 에 순서대로 채워 넣는다.
// 11101100 10111101 10010100
let encoder = new TextEncoder(); // default: utf-8
// 예) '코'
encoder.endoce('코') // Uint8Array(3) [236, 189, 148] (3byte)
(236).toString(2); // 11101100
(189).toString(2); // 10111101
(148).toString(2); // 10010100
// 예) ASCII 문자 'b'
encoder.encode('b'); // Uint8Array [98]
(98).toString(2); // 1100010 (1byte)
utf-8は、1バイトから4バイトまでの可変符号化である.英語の単語-2,3 byte(ハングルは3)
補助文字-4 byte(大文字など)
UTF-16
ほとんどのUnicodeコード(U+0000からU+FFF)は16ビットで表される
16進数を使用してバイナリに変換され、UTF-16のタイプはバイト順に依存します.
韓国語-2 byte
ビデオカード
Bitmap(raster)
Vector
オペレーティングシステム
プログラム→オペレーティングシステム→ハードウェア
Program
コンピューターが登場する前に、元のプログラムの意味はコンサートです.各種音楽の集合=コンサート
コンピュータ上:複数の命令の集合->プログラム
OSはハードウェアの作業を支援します.
プロセス管理(CPU)、メモリ管理(RAM)、I/O管理(ディスク、ネットワークなど)、権限管理(コンピュータ上のファイルに勝手にアクセスできない)など.
オペレーティングシステムが提供するプログラムがシステムリソースを使用するための関数(API)をシステム呼び出しと呼ぶ.
Process
Program in execution
オペレーティングシステム上で実行されるプログラム
ユーザーがアプリケーションを実行すると、オペレーティングシステムは実行に必要なメモリを割り当て、コードを実行します.1つのアプリケーションに複数のプロセスがある可能性があります.(はい-2つのインターネットウィンドウの間に2つのプロセスを作成します)
1つのCPUで1時間に1つのプロセスしか実行できません.
シングルコアは複数の処理が可能ですが、複数の処理はできません.
たかくしょり
Thread, Multi-thread
Thread
コード実行フロー
各スレッドにはcallスタックがあり、各スレッドは独立して実行されます.
Multi-Thread
複数のタスクを同時に処理
オペレーティングシステムは、各プロセスに適切なCPUとメモリリソースを割り当て、マルチタスク処理を行うために並列に実行します.
プロセス内のマルチタスク処理-マルチスレッド
OS内のマルチタスク処理-マルチプロセス
長所
メモリ容量とシステムリソースの消費量を削減
スレッド間通信はヒープメモリを使用します.プロセス間通信方法(IPC)よりも簡単です.
システムのスループットを向上させ、プログラム応答時間を短縮
複数のプロセスのタスクを1つのプロセスから複数のスレッドに分割
短所
マルチプロセス-共有リソースx
マルチスレッドスタックを共有するため、同期操作(タスク処理順序制御、リソースアクセス制御)が必要です.
関連キーワード-Dedrok Mutex細麻布
使用例
Concurrent, Parallel
同時に回転できるスレッド数は、コンピュータ上のカーネル数に制限されるため、オペレーティングシステムは、各スレッドに時間を割り当て、複数のスレッドを交代で実行する必要があります.(時分割)
へいれつせい
パラレル:マルチコア環境で実際に複数のスレッドを同時に実行します.
ごみ収集
プログラムに書き込まれていないメモリを自動的に検索して解放
Java、C#、Javascriptなど
典型的なごみ収集方法
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Memory_Management
キャッシュ
高速データ一時記憶.
アクセスが遅いプライマリ・ストレージ・レイヤの必要性を減らすことで、計算速度を速めます.
キャッシュデータは、通常、RAMなどの高速アクセス可能なハードウェアに格納され、ソフトウェアコンポーネントとともに使用されてもよい.
長所
Webサービスへのキャッシュの適用例
OSリファレンス
https://codex.cs.yale.edu/avi/os-book/OS10/regular-exercises/index-exer.html
https://parksb.github.io/article/5.html
Reference
この問題について([Computer Engineering] String, Graphics, OS, Garbage Collection, Cache), 我々は、より多くの情報をここで見つけました https://velog.io/@jhoryong/Computer-Engineering-String-Graphics-OS-Garbage-Collection-Cacheテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol