반응형

Computer Science 27

REST API란?

REST? REST API(Restful API)라는 단어는 서버에 대해서 공부하기 시작하면서 알게됐다. REST는 Representation State Transfer의 약자로 분산 하이퍼 미디어 시스템을 위한 아키텍쳐 스타일이다. 즉, 특정한 제약조건들을 모아놓은 집합인 것이다. REST API는 이러한 REST아키텍쳐를 따르는 어플리케이션 프로그래밍 인터페이스(API)라고 말할 수 있다. 제약 REST는 총 6가지의 제약을 가지고 있다. 1. client-server architecture -사용자들에게 제공하는 user Interface와 서버 내부의 작업(데이터 스토리지)를 분리함으로써 여러 플랫폼에서 user Interface의 이식성을 향상시킬 수 있고, 서버는 구성요소를 단순화하여 확장성을..

Computer Science 2021.01.25

URL과 URI의 차이

URI(Uniform Resource Identifier) 통합 자원 식별자. 인터넷에 있는 자원을 나타내는 유일한 주소이다. URI는 인터넷에서 요구되는 기본 조건으로서 인터넷 프로토콜에 항상 붙어 다닌다. URI는 URL, URN등의 최상위 개념이다. "때문에 모든 URL은 URI이다"가 성립한다. URL(Uniform Resource Locator) URL은 네트워크 상에서 자원이 어디 있는지를 알려주기 위한 주소이다. 예를 들어 다음과 같은 주소가 있다고 생각해보자. https://exam.com 이라는 주소는 이 서버의 root주소를 의미한다. 이는 URL임과 동시에 URI이다. https://exam.com/view 라는 주소는 인터넷 상의 자원의 위치를 나타낸다 이는 동일하게 URL이면서 U..

Computer Science 2021.01.05

하드 링크와 심볼릭 링크

하드 링크 링크를 생성하면 링크 파일은 원본 파일과 동일한 i-node를 가지게 된다. 링크된 파일을 수정하면 원본 파일도 수정된다. 두 파일 중 하나를 삭제하면 파일의 내용은 그대로 유지되고 사용할 수 있으며, 링크 숫자만 줄어들게된다. 하드 링크는 두 파일이 각각 동일한 수준의 데이터를 가지고 있으며, 로그데이터를 동기화한다. 하드 링크 제약 : 링크하고자 하는 파일이 다른 파티션에 존재하면 안된다. 심볼릭 링크 하드 링크와 달리 링크 파일이 원본 파일의 이름을 가리키고있다. 데이터는 애초에 원본 파일에만 들어있으며, 심볼릭 링크는 원본 파일 데이터를 가리키는 링크 정보만을 가진다. 때문에 원본 파일이 삭제되면 심볼릭 링크 파일은 제 역할을 하지 못하게된다. 원본 파일을 수정하면 심볼릭 링크의 내용도..

Computer Science 2020.11.07

8086CPU의 20bit물리 주소 지정 방법

옛날 8086CPU에서는 주소 버스가 20bit였기 때문에 최대 1MB의 메모리를 사용할 수 있었습니다. 하지만 CPU내부의 레지스터는 16bit방식이였기 때문에 최대 64kb의 메모리만 사용할 수 있었습니다. 때문에 인텔에서 세그먼트와 오프셋을 중첩시켜서 20bit짜리 물리 주소를 구해내는 방법을 고안해냅니다. 이때 세그먼트가 물리 주소의 상위 16bit를 정하고, 여기에 하위 16bit의 오프셋을 더해서 실제 물리 주소를 구해냅니다. 예를 들어 세그먼트 = 0x0200h, 오프셋 = 0x0114h라고 가정해봅시다. (16진수표기) 먼저 세그먼트는 상위 16bit를 정하기 때문에 왼쪽으로 4bit 시프트 시켜주어야 합니다. 16진수이기 떄문에 맨 뒤에 0을 하나 붙여서 세그먼트 = 0x02000h이고,..

Computer Science 2020.09.18

Memory의 종류와 역사

Memory는 크게 ROM과 RAM의 두 가지 종류로 나눌 수 있습니다. ROM(Read Only Memory) ROM은 Read Only Memory의 약자로서 본래 만들어질 때 한 번 내용을 입력하면 이를 바꿀 수 없고, 읽을 수만 있는 메모리였습니다. 하지만 후에 내용을 다시 쓰고 지울 수 있게 되고, 이 방식에 따라 Mask ROM, OTP ROM(PROM), EPROM, EEPROM으로 발전했습니다. Mask ROM Mask ROM은 생산 과정에서 내용을 기록시켜놓으면 이를 지울 수 없고, 읽을 수만 있습니다. 다른 ROM소자와 달리 물리적으로 데이터를 기록하기 때문에 데이터 안전성이 매우 높지만, 재프로그래밍이 원천적으로 불가능합니다. 따라서 생산시에 내용 데이터가 잘못되어 있다면 어찌할 방도..

Computer Science 2020.09.12

Virtual Machine(VM, 가상 머신)

Virtual Machine이란? Virtual Machine(가상머신, VM)은 컴퓨팅 환경을 소프트웨어로 구현한 것으로서, 다시말해 컴퓨터를 에뮬레이션하는 소프트웨어라고 할 수 있습니다. 가상 머신의 종류 가상 머신은 시스템 가상 머신과 프로세스 가상 머신의 두 가지 종류로 나눌 수 있는데, 전자는 완전한 시스템 플랫폼을 제공하는, 즉 완전한 운영체제(OS)실행을 지원합니다. 반면 후자는 하나의 단일 프로세스를 실행하기 위해 만들어져 있는데, 다시 말해 단일 프로세스를 지원합니다. VM은 CPU, RAM, 하드디스크 등 컴퓨터 주요 부품들을 가상으로 만들어서 구동하는 식으로 동작합니다. 이를 위해서는 각 부품들의 기능을 소프트웨어적으로 구현해야 합니다. 이때 사용되는 개념으로 에뮬레이션, 전가상화, ..

Computer Science 2020.09.12

Hardware Abstraction Layer(HAL, 하드웨어 추상화 계층)

HAL HAL이란 Hardware Abstraction Layer의 약자로서, 컴퓨터 하드웨어와 소프트웨어 사이의 추상화 계층입니다. HAL은 소프트웨어가 수많은 종류의 하드웨어 상에서 별 차이 없도록 동작할 수 있도록 하는 역할을 하며, OS의 커널 또는 장치 드라이버에서 호출될 수 있습니다. HAL에서는 추상화 개념을 사용하는데, 추상화는 주어진 문제나 시스템 중에서 중요하고 관계있는 부분만을 분리하여 간결하고 이해하기 쉽게 만드는 과정이라고 할 수 있습니다. HAL에서는 하드웨어 부품에 따라 해야 할 복잡한 과정을 일관성 있고, 간략한 인터페이스로 제공하기 위해 같은 류의 하드웨어를 공통 명령어 집합으로 묶어두는데, 이를 "하드웨어 추상화"라고 합니다. HAL은 소프트웨어와 하드웨어 사이에서 소프트..

Computer Science 2020.09.12
반응형