37日目-4[コンピュータエンジニアリングの基礎]


今日は特別な文章をたくさん書いたようです.
私は私の勉强したものを整理して、作文が多くなったようで、この近くにまた少し勉强量が増えました.
そうなると、自然とたくさんの文章が書かれています
この文章は主に理論の内容にかかわるかもしれない.
なぜなら、これはコンピュータとオペレーティングシステムに関する文章になるからです.

けいさんきエンジニアリングきそ


文字列


2010年以降、Unicodeと呼ばれる符号化方式が統一された時代に生きています.
すべての処理文字列の詳細を知る必要はありませんが、プログラミング言語ごとに文字列を処理するデータ型の違いを理解することが望ましいです.

文字列は何バイトですか?


プログラミング言語によって文字列を格納するデータ型が異なるため、答えはデータ型が占めるバイトを理解することである可能性があります.

Unicode


これは、世界中のすべての文字をコンピュータ上で統一的に表現し、処理できるようにするための産業標準です.
既存のすべての文字符号化方法をUnicodeに置き換えることを目的としている.
인코딩

어떤 문자나 기호를 컴퓨터가 이용할 수 있는 신호로 만드는 것

우리는 값을 인코딩하고 반대로 디코딩 할떄 기준이 필요한데 이 기준을 유니코드 라고 한다.

ASCII文字


代表的な英字文字コード
  • 7ビットで、すべての英語のアルファベットを表現することができます.
  • UTF-8 vs UTF-16


    よく知っている用語かもしれません.
    具体的にどんなものか見てみましょう.
    両者の違いは符号化方式の違いを意味する.
    utf-8の場合は8位、utf-16の場合は16位です.
    utf-8のように、1文字に1 byte(8ビット)~4 b byte(32ビット)を用いる.
    utf-16の場合、大部分は2バイトで表される.
    2つの違いは数バイトで文字を表すだけで、あまり違いはありません.
    周知のように、主にUTF-8の
  • として符号化されている.

    オペレーティングシステム


    パソコンやスマートフォンの機器自体(ハードウェア)は特別な操作をしなければ、缶にすぎない.
    ハードウェアだけが働いていて、その缶こそ機械で、ハードウェアに働く主体は운영체제です.
    前述したように、운영체제がなければ、私たちが知っている機械は缶にすぎません.
    ハードウェアはCPU、RAM、磁気ディスクなどを代表し、운영체제によって管理される.
    すべてのアプリケーションが勝手にリソースを使用している場合は、混乱します.
  • いつでも、突然カメラを起動したり、ネットワークを開いたりすると、めちゃくちゃになります.
  • そのため、管理を行う必要があり、複数人で1台の機器を操作しても、管理を行う必要があります.
    このような役は운영체제で演じることができる.
    簡単に言えば、オペレーティングシステムはすべてを管理できると思います.
  • オペレーティングシステムは素晴らしいです.
  • アプリケーションが特定の操作を実行しようとする場合は、オペレーティングシステムから実行する権限を取得する必要があり、オペレーティングシステムが提供する機能しか使用できません.
    アプリケーションは、운영체제と通信するためにインタフェース(API)を提供する必要があり、システム呼び出しと呼ばれる様々な関数をROCK 운영체제階層で提供する必要がある.

    プロセス


    実行中のアプリケーション.
    ユーザーがアプリケーションを実行すると、オペレーティングシステムから実行に必要なメモリが取得され、コードが実行されます.
    たとえば、2つのChromeブラウザを実行すると、2つのプロセスが生成されます.
  • のようなアプリケーションは、2つのプロセスを作成することもできます.
  • ねじ山


    1つの作業のために順次実行されるコード.
    これはコード実行のプロセスであるためです.
    プロセスでは、2つのスレッドは、コードに2つの実行フローがあることを意味します.

    マルチスレッド


    マルチタスク処理のようです.
    2つ以上のタスクを同時に処理することを意味します.
  • 非同期機と似ていると考えられます.
  • マルチタスク処理とは、2つのタスクを同時に処理することを意味します.
    例えば、音楽を聴いたり、ブログを書いたりします.
    マルチスレッドだけでなく、これらを意味します.
  • マルチタスク処理と混同される可能性があります.
  • これは、1つのプロセスでマルチタスク処理が可能であるためです.
    例えば
  • 、ある特定のサイトに入った後、音楽を再生してブログを行うことができますか?
  • 試合私の世界...?同じことを言って...(知り合いはいますか?)
  • このような操作にはマルチスレッドが必要です.
    簡単に言えば、2つのプロセスを処理することがマルチタスク処理である場合、マルチスレッドはプロセス内部のマルチタスク処理である.
    데이터를 분할하여 병렬로 처리해 처리시간을 줄이기 위해,
    UI를 가지고 있는 애플리케이션에서 통신을 하기 위해,
    여러 클라이언트의 요청을 처리하는 서버를 개발할떄
    
    주로 사용이 된다.

    マルチスレッドの利点


    まず,各スレッドにcallスタックが存在する.
  • 実行サブルーチンを格納データ構造
  • また,スレッドは他のスレッドとは独立して動作する.
    일단 작업을 나눠서 하는 것이기 때문에 메모리공간, 자원의 소모가줄어들고 자연스럽게 응답속도도 빨라지게 된다.
    
    또한 별도의 공간인 Heap를 이용하기 떄문에 별도의 자원을 소모 하지 않는다.
    - 프로세스 간 통신 방법(IPC)에 비해 간단하다.
    
    **
    그러기 떄문에 여러개의 프로세스보다 하나의 프로세스에서 멀티 스레드를 활용한다.
    **

    マルチスレッドの欠点

    프로세스간 공유하는 자원이 없기 떄문에 공유하는 자원에 대한 고민을 해야 한다.
    
    서로 다른 스레드가 같은 데이터에 접근, 힙 영역을 공유하기 떄문에 엉뚱한 값이나 이미 수정된 값을 가져오는 경우가 발생하기도 한다.
    
    그러기 떄문에 멀티스레드 환경에서는 동기화 작업이 필요하다.

    同時性と並列性の違い


    同時に実行できるスレッドの数は、コンピュータのパフォーマンスに依存します.
    また、オペレーティングシステムでは、各スレッドが時間ごとに分割され、複数のスレッドが一定の時間ごとに順番に実行されることを保証します.
  • この方式を時分割と呼ぶ.
  •  Context Switching 
     - 다른 프로세스, 스레드가 실행되게 실행중인 프로세스,스레드를 멈추는 것

    キャッシュ


    多くの時間や演算が必要な作業結果を保存することを指します.
    通常は一時的なデータを格納するために存在する、高速なデータ格納空間である.
  • すなわち、繰り返し使用する値を格納する場所と考えられる.
  • 通常、ハードウェアに格納され、プライマリ・ストレージ・レイヤ(SSD、HDD)とのインタラクションによりパフォーマンスが向上する.
    一時的に貯まるスペースなので、DBとは対照的です.
    클라이언트 : HTTP캐시 헤더, 브라우저
    네트워크 : DNS서버, HTTP캐시 헤더, CDN, 리버스 프록시
    서버 및 데이터베이스 : 키-값 데이터 스토어, 로컬 캐시(인-메모리,디스크)

    ポスト


    うん.理論的な内容しかないので面白くないです.ううう
    これは良い資料だと思います.後で面接で使うかもしれないので、脳をコンピュータ化するためです.