[컴퓨터 구조] - 정수 표현 방법 (부호화 절댓값, 보수 표현)
·
💻 Computer Science/컴퓨터 구조
정수는 "자연수(양의 정수)", "0", "음의 정수"로 구성된 수 집합이다. 컴퓨터에서도 정수의 의미 자체는 동일하지만 컴퓨터는 2진수를 활용하여 수를 표현하기에 정수 표현 방법은 약간 다르다.부호 없는 정수(Unsigned Integer) 부호 없는 정수는 말 그대로 부호를 생략한다는 의미로, 모든 숫자는 0 또는 양의 정수로 표현된다. 8비트로 부호 없는 정수를 표현하면 $0_{10}$ ~ $255_{10}(= 2^8 - 1)$ 표현이 가능하다. 즉, n비트를 사용한 부호 없는 정수 표현은 0부터 $(2^n -1)$ 까지이다.오버플로우(Overflow) 8비트로 표현하는 부호 없는 정수의 경우 $0$ ~ $255$까지 가능한데 이때, 255를 넘어가는 숫자가 들어온다면, 컴퓨터는 틀린 값을 출력한다..
[컴퓨터 구조] - 진법 체계
·
💻 Computer Science/컴퓨터 구조
비트와 바이트(Bit & Byte) 비트(Bit): Binary Digit의 줄임말인 비트는 "컴퓨터가 데이터를 나타내는 최소 단위"이다. 1비트는 2가지 상태(OFF, ON 또는 0, 1)만 표현이 가능하다. 1비트는 $2^1$개, 2비트는 $2^2$개, n비트는 $2^n$개의 숫자를 표현할 수 있다. 64bit 컴퓨터의 경우는 $2^{64}$개의 숫자를 표현할 수 있는 것이다.  바이트(Byte): 8비트가 모이면 1개의 바이트가 만들어진다. 1바이트는 8비트이므로 $2^8$개의 데이터 표현이 가능하다. 영문자나 숫자는 보통 1바이트, 한글 1글자는 2바이트로 표현된다.단위ByteKBMBGBTBPBEB의미ByteKilo ByteMega ByteGiga ByteTera BytePeta ByteExa B..
[클라우드 컴퓨팅] - 클라우드 컴퓨팅 개요
·
💻 Computer Science/클라우드 컴퓨팅
클라우드 컴퓨팅 정의 클라우드 컴퓨팅이란 구름(Cloud)과 컴퓨팅(Computing)이 결합된 단어로, 언제 어디서나 필요한 만큼의 컴퓨팅 리소스를 필요한 시간만큼 인터넷을 통하여 활용할 수 있는 컴퓨팅 방식을 말한다. 클라우드 컴퓨팅은 사용 유형에 따라 매우 다양하게 정의 가능하다. 미국 국립 표준 기술 연구소(NIST)에서 정의된 클라우드 컴퓨팅은 다음과 같다.NOTE!클라우드 컴퓨팅: 언제 어디서나 필요에 따라 컴퓨팅 리소스에 네트워크를 접근하는 기능을 제공하는 모델로, 컴퓨팅 리소스는 최소한의 관리로 신속하게 프로비저닝되고 배포 가능하다. 이때, 클라우드 모델은 5가지 기본 특성, 3가지 서비스 모델, 4가지 배포 모델링으로 이루어진다. 대한민국에서는 『2017년에 제정된 클라우드 컴퓨팅 발전 ..
[운영체제] - 요구 페이징 (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): 한 프로세스가 사용 중인 자원은 중간에 다른 프로세스가 빼앗을 수 없는 비선점 자원이어야..
loading