[클라우드 컴퓨팅] - 클라우드 컴퓨팅 개요
·
💻 Computer Science/클라우드 컴퓨팅
클라우드 컴퓨팅 정의 클라우드 컴퓨팅이란 구름(Cloud)과 컴퓨팅(Computing)이 결합된 단어로, 언제 어디서나 필요한 만큼의 컴퓨팅 리소스를 필요한 시간만큼 인터넷을 통하여 활용할 수 있는 컴퓨팅 방식을 말한다. 클라우드 컴퓨팅은 사용 유형에 따라 매우 다양하게 정의 가능하다. 미국 국립 표준 기술 연구소(NIST)에서 정의된 클라우드 컴퓨팅은 다음과 같다.NOTE!클라우드 컴퓨팅: 언제 어디서나 필요에 따라 컴퓨팅 리소스에 네트워크를 접근하는 기능을 제공하는 모델로, 컴퓨팅 리소스는 최소한의 관리로 신속하게 프로비저닝되고 배포 가능하다. 이때, 클라우드 모델은 5가지 기본 특성, 3가지 서비스 모델, 4가지 배포 모델링으로 이루어진다. 대한민국에서는 『2017년에 제정된 클라우드 컴퓨팅 발전 ..
[컴퓨터 구조] - 병렬 컴퓨터 (Parallel Computer)
·
💻 Computer Science/컴퓨터 구조
병렬 처리 (Parallel Processing) 병렬 처리(Parallel Processing)란 하나 이상의 연산을 동시에 수행하여 컴퓨터 연산 속도를 증가시키는 방법이다. 병렬처리기는 이러한 병렬 처리 기법을 구현한 컴퓨터 구조를 말한다. 병렬처리기는 순차처리기에 비해 꽤나 높은 성능 향상을 이끌어내었다. 컴퓨터 성능 평가 컴퓨터 성능을 평가하는 척도는 "시간"이다. 같은 작업량을 최단시간에 수행하는 컴퓨터가 가장 성능이 좋은 것이다. 그리고 이때 말하는 시간은 프로세서가 순수하게 프로그램을 실행하기 위해 소비한 시간인 "CPU 시간"을 말한다. CPU 시간은 다음과 같이 정의된다.NOTE!프로그램 CPU 시간 = 프로그램의 CPU 클록 사이클 수 X 클록 사이클 시간병렬 처리 시스템 분류 병렬처리..
[운영체제] - 요구 페이징 (Demand Paging)
·
💻 Computer Science/운영체제
요구 페이징 (Demand Paging)프로세스가 요청할 때 필요로 하는 데이터를 메모리로 가져오는 것을 "요구 페이징(Demand Paging)"이라고 한다. 운영체제는 프로세스를 구성하는 모듈을 전부 메모리에 올리지 않고 필요한 모듈만 메모리에 올려 실행하고 필요할 때 메모리로 불러온다. 이는 "메모리를 효율적으로 관리하고 응답 속도를 향상하기" 위함이다. 이와 같이 사용자가 요구할 때 해당 페이지를 메모리로 가져오는 것을 요구 페이징이라고 한다. 반대로 앞으로 필요할 것이라고 예상되는 페이지를 미리 가져오는 것을 "미리 가져오기"라고 한다. 미리 가져오기를 한 데이터가 쓸모없게 되면 피해가 크기에 현대의 운영체제는 요구 페이지를 기본으로 사용한다.페이지 테이블 엔트리 (PTE: Page Table ..
[운영체제] - 가상 메모리 (Virtual Memory)
·
💻 Computer Science/운영체제
가상 메모리 시스템 (Virtual Memory System)가상 메모리 개념 (Concept of Virtual Memory)컴퓨터마다 실제 메모리의 크기는 다른데, "가상 메모리(Virtual Memory)" 개념은 크기가 서로 다른 물리 메모리에서 일관되게 프로세스를 실행할 수 있도록 한다. 가상 메모리의 크기는 컴퓨터 시스템이 가진 물리 메모리의 최대 크기로 한정된다. 그러나 이론적으로 가상 메모리의 크기는 무한대인데, 이는 "스왑(Swap)"으로 인해 가능하다. 스왑 영역은 하드디스크에 존재하지만 메모리 관리자가 관리하는 영역으로, 메모리의 일부이며 가상 메모리의 구성 요소 중 하나이다.  메모리 관리자는 프로세스를 실행하는 과정 중에, 물리 메모리가 부족한 상황이 생기면 부족한 부분을 스왑 영..
[운영체제] - 물리 메모리 관리 (Physical Memory Management)
·
💻 Computer Science/운영체제
메모리 관리 작업 (Memory Management)폰 노이만 구조에 따르면 프로그램은 메인 메모리에 올라와야 실행된다. 이때 메모리 관리 시스템(Memory Management System)은 여러 작업을 동시에 처리할 때 메모리를 관리하는 역할을 담당한다. 메모리 관리 작업은 크게 "가져오기", "배치", "재배치"로 구분된다.가져오기(Fetch): 실행할 프로세스와 데이터를 메모리로 가져오는 작업배치(Placement): 가져온 프로세스와 데이터를 메모리의 어떤 부분에 올려놓을지 결정하는 작업, 배치 작업 전 메모리를 어떤 크기로 분할할지 결정하는 것이 매우 중요하다. 이때, 메모리를 같은 크기로 자르는 것을 페이징(Paging), 프로세스의 크기에 맞게 자르는 것을 세그먼테이션(Segmentati..
[운영체제] - 교착 상태 (Deadlock)
·
💻 Computer Science/운영체제
교착 상태 (Deadlock)교착 상태(Deadlock)란 2개 이상의 작업이 동시에 이루어질 때, 다른 작업이 끝나기만 기다리며 더 이상 진행하지 못하는 상태를 말한다. 교착 상태는 시스템 자원을 사용하거나 잠금을 사용할 때, 발생할 수 있다. 교착 상태가 발생할 경우 강압적으로 문제를 해결해야 한다.교착 상태 필요조건교착 상태는 다음의 네 가지 조건을 동시에 만족해야 발생한다. 이 중 단 한 가지라도 충족되지 않으면 교착 상태는 발생하지 않는다. 상호 배제(Mutual Exclusion): 한 프로세스가 사용하는 자원은 다른 프로세스와 공유할 수 없는 배타적인 자원이어야 한다.비선점(Non-Preemption): 한 프로세스가 사용 중인 자원은 중간에 다른 프로세스가 빼앗을 수 없는 비선점 자원이어야..
[운영체제] - 임계구역 (Critical Section)
·
💻 Computer Science/운영체제
공유 자원 (Shared Resource)"공유 자원(Shared Resource)"이란 여러 프로세스가 공동으로 이용하는 변수, 메모리, 파일들을 의미한다. 말 그대로 공동으로 이용되기에 누가 언제 데이터를 읽고 쓰는가에 따라 결과가 달라질 수 있다. 2개 이상의 프로세스가 공유 자원을 병행하여 읽거나 쓰는 상황을 "경쟁 조건(Race Condition)"이라고 한다. 경쟁 조건이 발생하면 공유 자원 접근 순서에 따라 실행 결과가 달라질 수 있기에 프로세스들의 공유 자원 접근 순서를 정해서 예상치 못한 문제가 발생하지 않도록 해야 한다.임계구역 (Critical Section)공유 자원 접근 순서에 따라 실행 결과가 달리지는 프로그램의 영역을 "임계구역(Critical Section)"이라고 한다. 임..
loading