'CS(Computer Science)' 카테고리의 글 목록 (2 Page) — SH's Devlog

CS(Computer Science)

CS(Computer Science)/Computer Architecture

[컴퓨터 구조] 3. 명령어

이번 포스트에서는 컴퓨터 구조의 명령어에 대해 정리하겠습니다.내용은 "혼자 공부하는 컴퓨터 구조+운영체제" 책을 참고하였습니다!소스 코드와 명령어[ 고급 언어와 저급 언어 ]고급 언어 -> 사람이 이해하고 작성하기 쉽게 만들어진 언어. 대부분의 프로그래밍 언어가 고급 언어에 속한다.저급 언어 -> 컴퓨터가 직접 이해하고 실행할 수 있는 언어.그래서 고급 언어로 작성된 소스 코드가 실행되려면 반드시 저급 언어, 즉 명령어로 반환되어야 한다. 저급 언어에는 두 가지 종류가 있다. 바로 기계어와 어셈블리어이다. 기계어 -> 0과 1의 명령어 비트로 이루어진 언어이다. 다시 말해 기계어는 0과 1로 이루어진 명령어의 모음이다. 아래 그림은 컴퓨터는 0과 1로 이루어진 이 기계어를 이해하고 실행한다. 다만, 기..

CS(Computer Science)/Computer Architecture

[컴퓨터 구조] 2. 데이터

0과 1로 숫자를 표현하는 방법[ 정보 단위 ]컴퓨터는 0과 1로 모든 정보를 표현하고 0과 1로 표현된 정보만을 이해할 수 있다.  비트(b) -> 0과 1을 나타내는 가장 작은 정보 단위. n비트는 2^n가지의 정보를 표현할 수 있다.바이트(B) -> 8개의 1비트를 묶은 단위. 2^8(256)개의 정보를 표현할 수 있다.킬로바이트(KB) -> 1000개의 1바이트를 묶은 단위.메가바이트(MB) -> 1000개의 킬로바이트를 묶은 단위.기가바이트(GB) -> 1000개의 메가바이트를 묶은 단위.테라바이트(TB) -> 1000개의 기가바이트를 묶은 단위. 비트(b)  [ 이진법 ]수학에서 0과 1만으로 모든 숫자를 표현하는 방법. 아래 그림과 같이 숫자가 1을 넘어가는 시점에 자리 올림을 하여 0과 1..

CS(Computer Science)/Computer Architecture

[컴퓨터 구조] 1. 컴퓨터 구조 Overview

컴퓨터 구조의 큰 그림 컴퓨터 구조는 컴퓨터가 이해하는 정보와 컴퓨터의 네 가지 핵심 부품으로 이루어져있다.[ 컴퓨터가 이해하는 정보 ]컴퓨터는 0과 1로 표현된 정보만을 이해하며, 0과 1로 표현되는 정보에는 크게 데이터와 명령어가 있다. 데이터 -> 컴퓨터가 이해하는 숫자, 문자, 이미지, 동영상과 같은 정적인 정보. 컴퓨터와 주고받는 정보나 컴퓨터에 저장된 정보를 말함. 명령어 -> 데이터를 움직이고 컴퓨터를 작동시키는 정보. 컴퓨터를 실질적으로 작동시키는 더 중요한 정보이며, 데이터는 명령어 없이는 아무것도 할 수 없는 정보 덩어리이다. 즉, 컴퓨터를 한마디로 표현하자면 "명령어를 처리하는 기계"이다. ex) 1과 2를 더하라. -> 1과 2는 데이터, '더하라 1과 2를'는 명령어.ex) '안녕..

CS(Computer Science)/Design Pattern

[Design Pattern] MVC, MVP, MVVM 패턴 비교 및 정리

MVC, MVP, MVVM은 모두 소프트웨어 개발에서 사용되는 디자인 패턴으로, 애플리케이션의 구조와 역할을 분리하여 코드를 더 잘 구성하고 유지보수성을 높이기 위해 고안된 패턴들입니다. 이번 포스트에서는 각 패턴의 주요 차이점과 특징들을 정리하겠습니다. MVC 패턴 MVC패턴은 View와 Model 사이의 중개자 역할을 수행하는 Controller를 두는 패턴입니다. 이를 통해서 View는 사용자 인터페이스에 집중할 수 있고, Model은 데이터와 비즈니스 로직에 집중할 수 있게 해줍니다. MVC 패턴은 Model, View, Controller 세 부분으로 나눕니다. MVC의 각각의 세 부분은 다음과 같은 역할을 합니다. Model -> Model은 데이터와 비즈니스 로직을 담당합니다. View -..

CS(Computer Science)/Network

[네트워크] HTTP 프로토콜이란?

HTTP 프로토콜이란? HTTP(HyperText Transfer Protocol)란 인터넷에서 하이퍼텍스트 문서인 HTML로 만든 웹페이지를 전송하기 위해 사용되는 어플리케이션 계층 프로토콜입니다. HTTP는 주로 전송 계층의 TCP를 사용하여 데이터를 교환하며 기본적으로 80번 포트를 사용합니다. HTTP 프로토콜의 특징 웹 페이지는 객체(objects)들로 구성 됩니다. -> 객체는 HTML 파일, JPEG 이미지, java applet, 오디오 파일 등입니다. 웹 페이지는 보통 참조 객체들이 포함된 기본 HTML 파일이며 각 객체는 URL로 참조합니다. HTTP는 TCP를 사용 합니다. -> 클라이언트는 소켓을 만들고 서버의 80번 포트에 TCP 연결 요청 후에 서버가 요청을 수락하면 브라우저와 ..

CS(Computer Science)/Network

[네트워크] TCP와 UDP 개념 및 동작 원리

전송 계층의 프로토콜 TCP와 UDP 특징 TCP의 특징 - 신뢰적이고 순차적인 전달(에러 없이 전달) - 혼잡 제어 - 흐름 제어 - 연결 설정 신뢰성있는 데이터 전송의 원리 더보기 - 점진적으로 송/수신 측의 reliable transfer protocol(rdt)를 발전 시킬 것입니다. - 단방향 데이터의 전송만 고려 -> but, 제어 정보는 양방향으로 오갈 것입니다. - 송/수신 측을 명시하기 위해 Finite State Machine(FSM)을 사용할 것입니다. 상태(state) -> 어떤 "상태"일 때 다음 이벤트에 의해 다음 상태가 결정. 그래서, 상태들이 서로의 동작을 결정하는 것을 상태 전이(transition)이라고 합니다. 유한한 갯수의 상태가 존재하고, 특정 상태를 정의하는 것을 ..

CS(Computer Science)/Network

[네트워크] IP 프로토콜 개념 정리(IPv4, IPv6)

이번 포스트에서는 TCP/IP 프로토콜의 3계층인 네트워크 계층의 IP 프로토콜을 정리하겠습니다. IP (인터넷 프로토콜) 인터넷 프로토콜(IP, Internet Protocol)은 목적지까지 데이터를 전달하는 기능을 수행하고 동시에 주소를 관리하는 기능을 수행합니다. 집 주소가 있어야 우편을 보낼 수 있듯이, 네트워크에 접속된 각 컴퓨터에도 고유한 식별 번호가 있어야 정확하게 데이터를 송수신할 수 있습니다. 따라서 인터넷에 연결된 모든 컴퓨터에는 고유 주소가 부여되는데 이것이 IP 주소 입니다. IP datagram 포맷 IP 데이터는 TCP or UDP로 부터 받은 데이터(payload)에 네트워크 계층에서 필요한 정보들이 header에 덧붙여집니다. 헤더의 정보는 아래와 같습니다. ver -> IP..

CS(Computer Science)/Network

[네트워크] OSI 7 Layers - 개념 정리 및 각 계층 정리

OSI 7 Layers란? OSI 프로토콜은 국제표준화기구(International Organization for Standardization, ISO)에서 만든 프로토콜 입니다. OSI 프로토콜은 서로 다른 컴퓨터 간의 통신 기능을 7 Layer로 구분하여 각 계층마다 표준화된 서비스와 프로토콜을 규정한 모델이고 우리가 꼭 알아두어야 할 프로토콜입니다. 하지만 실제로는 사용되지 않고 이론적으로만 우리가 참조하고 공부하는 모델이고 그래서 참조 모델이라고도 부릅니다. 전 세계에서 가장 많이 사용하는 프로토콜은 TCP/IP 프로토콜이고 이 프로토콜은 표현 계층과 세션 계층이 응용(Application) 계층 하나로 합쳐져있습니다. 네크워크를 계층으로 나눈 이유? 네트워크는 많은 요소들로 구성되어 복잡합니다...

반응형
seunghwaan
'CS(Computer Science)' 카테고리의 글 목록 (2 Page)