cs

    [운영체제] Process vs Thread

    [운영체제] Process vs Thread

    프로세스와 스레드 본 내용에 들어가기에 앞서 헷갈리는 용어에 대하여 정리해보려고 한다. 실행단위 : CPU core에 한 순간에 한 개씩 적재되는 것을 이야기한다. 실행단위는 프로세스 또는 스레드 일 수도 있다. 동시성 : 한 순간에 여러 가지 일이 아니라, 짧은 전환으로 여러가지 일을 동시에 처리하는 것처럼 보이는 것을 말한다. 프로그램 : 소스코드 프로세스 : 실행 중인 애플리케이션 (코드)이며 관리의 단위이다. 관리의 주체는 OS(운영체제)이다. 프로세스는 운영체제로 부터 자원을 할당받는다. 기본적으로 프로세스는 연산거리를 말하는데 연산이라는 것은 연속적이고(이어져서) 이러한 것들이 하나의 흐름을 만든다. 흐름은 실행제어를 분리한 것으로 thread라고도 할 수 있다. 이 흐름이라는 것이 프로세스 ..

    [네트워크] TCP/UDP

    [네트워크] TCP/UDP

    1. TCP/UDP를 알아야 하는 이유 - 웹 어플리케이션의 신뢰성, 성능 개선을 하는 중요한 역할을 한다. - 예) 데이터의 소실 방지, 순서 보장 등 2. TCP/IP 모델 - Application Layer : http, 브라우저 - Transport Layer : TCP, UDP - Internet Layer : IP - Network Access Layer : 이더넷 3. TCP 동작과정 1) 소켓이 생성되고 2) 연결을 위한 3 Way Handshake 가 진행된다. 3) 데이터를 송신, 수신하고 4) 연결을 끊기 위한 4 Way Handshake 진행된다. 3-1. 주로 사용하는 TCP 헤더 - SYN : 송신 측과 수신 측에서 시퀀스 번호를 공유함을 나타낸다. - ACK : 수신 데이터의 ..

    [디자인패턴] 싱글턴 패턴

    [디자인패턴] 싱글턴 패턴

    1. 디자인 패턴 - 프로그램을 설계할 때 발생했던 문제점들을 객체 간의 상호 관계 등을 이용해서 해결할 수 있도록 하나의 '규약' 형태로 만들어 놓은 것을 의미한다. 2. 싱글턴 패턴 - 싱글턴 패턴이란 23가지 디자인 패턴 중 하나이다. - 객체의 인스턴스가 오로지 한개만 생성되도록 설계하는 것이다. - 언제 사용하게 될까? - 애플리케이션 내에서 로그를 기록하거나, 캐싱을 할 때 사용한다. - 프로그램 전역적으로 사용하고, 유일하게 존재할 때 사용할 수 있다. 3. 싱글턴 패턴 구현 싱글턴 패턴이 왜 필요할까? 애플리케이션의 배경색 설정을 담당하는 Settings 클래스가 있다고 가정해보자. 배경은 애플리케이션에서 한개만 있어야 한다. 처음에는 파랑으로 정하고 -> 빨강으로 변하도록 설정하면 마지막..

    [네트워크] IPv4 주소와 Net-mask

    [네트워크] IPv4 주소와 Net-mask

    1. IP 주소 - Host에 대한 식별자이다. - Internet Protocol의 줄임말 - 예를 들어 대한민국의 행정체계에서 한 개인을 유니크하게 식별하려면 그때 사용하는 것이 주민등록번호인데 network, host, IP주소를 이에 빗대 보자면 - 여기서 대한민국은 network에 해당하고, 개인은 host, 주민등록번호는 IP주소이다. 2. IP 주소 버전 - IPv4 - 32bit 체계로써 2^32 승 - 인터넷이라는 세상속에서 참여할 수 있는 host 수는 전체 경우의 수 대략 43억 개이기 때문에 주소가 많이 부족하다. - 2022년 기준 인터넷에서는 IP는 IPv4를 제일 많이 사용한다. - ' . '을 기준으로 나올 수 있는 값의 범위가 0~255까지이다. => 2^8 = 8bit -..

    [DB] 트랜잭션(transaction)

    [DB] 트랜잭션(transaction)

    1. 트랜잭션 - 트랜잭션이란 논리적인 이유로 여러 SQL 문들을 단일 작업으로 묶어서 나눠질 수 없게 만든 것이다. - 트랜잭션에는 여러 개의 연산이 수행될 수 있다. - 트랜잭션의 SQL 문들 중에 일부만 성공해서 DB에 반영되는 일은 일어나지 않는다. 1-1. COMMIT - 지금까지 작업한 내용을 DB에 영구적으로 저장한다. - 트랜잭션을 종료한다. 1-2. ROLLBACK - 지금까지 작업들을 모두 취소하고 트랜잭션 이전 상태로 되돌린다. - 트랜잭션을 종료한다. 2. 일반적인 트랜잭션 사용패턴 - 트랜잭션을 시작한다. - 데이터를 읽거나 쓰는 등의 SQL 문들을 포함해서 로직을 수행한다. - 일련의 과정들이 문제없이 동작했다면 트랜잭션을 commit 한다. - 중간에 문제가 발생했다면 트랜잭션..

    [네트워크] Host, Switch, Network

    [네트워크] Host, Switch, Network

    1. Host - Network에 연결되어 있는 컴퓨터를 말한다. - Host를 크게 2가지로 나눌 수 있다. - Network 자체를 이루는 host - Network를 이용하는 이용 주체로써의 host 1-1. Network 자체를 이루는 host - 다른말로 Switch라고 부른다. - 인터넷, 네트워크에 연결된 컴퓨터를 host라고 부르는데, 이 컴퓨터가 network 자체를 이루는 컴퓨터라면 그것을 switch라고 부른다. - 대표적인 예로 라우터가 있다. 1-2. Network를 이용하는 이용주체로써의 host - 다른말로는 end-Point (단말)이라고 부른다. - network 에서 어떤 host 가 존재하는 역할에 따라서 , 기능함에 따라서 나눈다. - 예로 peer, server, c..

    [네트워크] Mac 주소, IP주소, Port번호

    [네트워크] Mac 주소, IP주소, Port번호

    1. MAC address - 하드웨어 수준에서의 Mac address는 NIC (Network Interface Card)에 대한 식별자이다. - NIC 은 다른 말로 LAN 카드라고도 한다. - LAN 카드 라고 이름이 붙여지는 것들은 다 MAC address를 갖는다. - 예를 들어 노트북에 NIC이 2개일 경우 MAC address 또한 2개를 갖는다. - MAC address는 하드웨어 주소라고도 할 수 있고, 주소 변경이 가능하다. 2. IP 주소 (v4, v6) - IP 주소는 host에 대한 식별자이다. - 여기에서는 host 란 인터넷에 연결된 컴퓨터를 말한다. - IP 주소는 컴퓨터에 부여된다. - 하나의 컴퓨터가 몇개의 IP 주소를 가질 수 있을까? - 정답은 n 개 - IP주소는 N..

    [네트워크] Tcp/Ip, socket, 식별자

    [네트워크] Tcp/Ip, socket, 식별자

    1. OSI 7 Layer는 나중에 네트워크를 처음 배우다 보면 제일 먼저 보게 되는 개념이 OSI 7 Layer이다. 하지만 이는 개념적인(이론적인) 부분이기 때문에 먼저 학습하게 된다면 이해가 잘 되지 않을 수 있다. 따라서 명백한 구현으로 이루어진 tcp / ip에 대하여 먼저 학습해 보자. 2. 컴퓨터의 세계 (3 Layer) 컴퓨터의 세계는 3 Layer로 이루어져 있다. - User 모드 (애플리케이션 계층 이라고도 부른다) - Kernel 모드 앞서 말한 이 두 가지 계층은 소프트웨어(s.w) 영역이고 마지막으로 - h.w 영역 이 존재한다. 앞서 말한 이 계층들을 분류하는 다른 기준들이 존재한다. - OSI 7 Layer - DOD(미국 방위성) 3. Tcp / Ip 이때, 어떤 프로세스가..