CS 11

운영체제 관련 정리

이전에 면접 준비하며 준비했던 내용 공유합니다 운영체제 기본 개념1. 하드웨어 (Hardware)중앙 처리 장치(CPU): 명령어 해석 및 실행.메모리(Memory): 프로그램과 데이터를 저장.입출력 장치(I/O devices): 사용자와 시스템 간 데이터 교환.1. 부트스트랩 (Bootstrap)저장 위치: ROM(Read-Only Memory)에 저장.역할:시스템 전원이 켜지면 실행됨.운영체제의 커널(kernel) 을 찾아 주 메모리(RAM) 에 적재.결과: 커널이 실행되면서 시스템 초기화가 진행됨.2. 커널과 시스템 프로세스커널(Kernel): 운영체제의 핵심 부분, 자원 관리와 제어 담당.시스템 프로세스 / 시스템 데몬(Daemon):커널 수행 중 계속 동작.백그라운드에서 시스템 기능(예: 스케줄..

CS/운영체제 2025.09.29

네트워크 관련 정리

이전에 면접 준비하며 정리했던 내용 공유합니다.📌 CORS란?Cross-Origin Resource Sharing(교차 출처 리소스 공유)브라우저 보안 정책인 **SOP(Same-Origin Policy, 동일 출처 정책)**을 완화해주는 메커니즘기본적으로 브라우저는 다른 출처(origin)의 리소스 요청을 제한합니다.출처 = 프로토콜 + 도메인 + 포트예: http://example.com:3000 ≠ https://example.com:3000👉 즉, CORS는 “다른 출처의 리소스를 클라이언트가 안전하게 요청할 수 있도록 서버가 허용하는 정책”이에요.📌 CORS 동작 방식단순 요청 (Simple Request)특정 조건 만족 시(예: GET/POST + 특정 헤더만) 브라우저가 바로 요청을 보..

CS/네트워크 2025.09.29

AnyCast란?

가끔 공부하다보면 anycast란 내용이 보이길래 요약겸 정리해논다. Anycast Anycast는 각각 동일한 IP 주소가 할당된 엔드포인트 그룹에 여러 라우팅 경로를 제공하는 기술 - microsoft ??? 이렇게 말하면 무슨 말인지 감이 잡히지 않는다. 보통 우리가 알고 있는 IP는 '고유한' 주소이고, Unicast IP이다. 우선 unicast가 뭔지 알고 넘어가야 될꺼 같다. 참고) 유니캐스트 (Unicast) - 1 : 1 유니캐스트는 정보를 전송하기 위한 프레임에 자신의 MAC 주소와 목적지의 MAC 주소를 첨부하여 전송 브로드캐스트 (Broadcast) 1 : N 브로드캐스트 방식은 로컬 네트워크에 연결되어 있는 모든 시스템에게 프레임을 보내는 방식 멀티캐스트(Multicast) 1: ..

CS/네트워크 2022.04.11

fork 함수와 프로세스

프로세스를 새로 생성할때 fork 함수를 이용할 수 있습니다. fork 함수를 호출한 프로세스는 부모 프로세스가 되고 새롭게 생성되는 프로세스는 자식 프로세스가 됩니다. 두 프로세스는 다른 pid를 가지고 독립적이게 동작합니다. Copy On Write 이때 Linux에서는 자식 프로세스를 생성하면 같은 메모리 공간을 공유하게 됩니다. 부모 프로세스에서 페이지 바로 C를 수정한다면 자식 프로세스에도 영향을 끼칠것입니다. 그래서 직접 변경 대신 페이지 C를 복사해서 수정(Copy on write)하는 방식으로 작동합니다. #include #include #include #include #include int statofLoc; // get child process's state when child proc..

CS/운영체제 2022.03.01

URL & URI & URN

엄청 헷갈리는 개념이라 메모해두려고 한다. URI (Uniform Resource Identifiter - 통합 자원 식별자) 웹 기술에서 사용하는 논리적 or 물리적 리소스를 식별하는 고유한 문자열 시퀀스 주소보다는 '식별자'의 개념 URL (Uniform Resource Locator) 네트워크 상에서 웹 리소스에 대한 참조 흔히 웹 주소라고 한다. 우리가 주로 쓰는 주소가 URL URL은 URI의 서브셋이다. URI - 식별자 URL - 위치 URN (Uniform resource name) URI의 특정 포맷중 하나로 이름으로 리소스를 특정하는 URI 프로토콜을 제외하고 리소스의 name 을 가리키는데 사용 URN에는 접근 방법 & 위치가 표기 X 참고) URL 구조 scheme:[//[user[..

CS/네트워크 2022.02.27

[DB] index, cardinality란?

개인적으로 DB 내용은 어렵기도 하고 안쓰고 있으면 자꾸 까먹는거 같습니다. 이 블로그의 주 목적이기도 하고 메모용으로 간단하게 글을 써보려 합니다. *틀린게 있으면 피드백 주시면 감사하겠습니다! index란? 추가적인 쓰기 작업과 저장 공간을 활용하여 데이터베이스 테이블의 검색 속도를 향상시키기 위한 자료구조 1000페이지의 책이 있다고 쳐봅시다. 특정 키워드를 찾고 싶은데 1쪽부터 1000쪽까지 전부 순회하며 찾으려면 매우 큰 시간 낭비일것입니다. 그래서 책에는 키워드를 빨리 찾기 위해서 보통 맨뒤에 색인이 있습니다. 데이터베이스에서도 인덱스는 책의 색인과 비슷한 역할을 한다고 보면 좋습니다. (보통 Index는 PK에 기본적으로 걸려있습니다.) Index의 구조 Balanced Tree인 B+(B)..

HTTP 메소드 멱등성, 안전한 메소드

수학적으로 멱등성이란 어떤 집합이 연산 A에 대해 닫혀있을때, 연산 A를 여러번 적용해도 달라지지 않는 성질을 뜻한다. 네트워크 HTTP 에서 멱등성이란 동일한 요청을 한 번 보내는 것과 여러 번 연속으로 보내는 것이 같은 효과를 지니고, 서버의 상태도 동일하게 남을 때, 해당 HTTP 메서드가 멱등성을 가졌다고 말한다. 다만 서버가 REST API를 잘 따랐다는 전제하에 멱등성 제약이 보장된다. (ex : 서버가 get으로 CRUD 전체를 다 처리한다던가 restful하지 않게 구현되어 있다면 멱등성 보장 X) 멱등성이 성립하는 기준 멱등성은 요청의 효과를 보고 판단한다. 같은 행위를 여러번 반복하더라도 같은 효과를 가져야한다. 많이 쓰이는 http method중 POST를 제외한 GET, PUT, D..

CS/네트워크 2022.01.31

[컴퓨터구조] 하버드 구조와 폰 노이만 구조

폰 노이만 구조 현재와 같은 CPU, 메모리, 프로그램 구조를 갖는 범용 컴퓨터 구조의 확립 산술 논리 장치와 프로세서 레지스터를 포함하는 처리 장치 명령 레지스터와 프로그램 카운터를 포함하는 컨트롤 유닛 데이터와 명령어를 저장하는 메모리 외부 대용량 스토리지 입출력 매커니즘 장점 컴퓨터에 작업을 시키려고 할때 하드웨어적으로 재 배치를 할 필요가 없이 소프트웨어만 교체하면 되기 때문에 범용성(general-purpose)이 크게 향상된다. 따라서 현대의 컴퓨터는 거의 다 이 구조를 따르고 있다. 단점 메모리에서 데이터/코드(프로그램)을 가져올때 버스 하나로 한번에 하나만 가져오는 구조이기 때문에 폰 노이만 병목 현상이 일어날 수 있다. 이를 해결하기 위해 다양한 방법이 고안되었지만 폰 노이만 구조를 쓴다..

CS/컴퓨터구조 2022.01.26

[컴퓨터 구조] cache, Write Through과 Write Back

캐시란? 자주 사용하는 데이터나 값을 미리 복사해 놓는 임시 장소를 가리킨다. 캐시는 저장 공간이 작고 비용이 비싼 대신 빠른 성능을 제공한다. Cache는 아래와 같은 경우에 사용을 고려하면 좋다. 접근 시간에 비해 원래 데이터를 접근하는 시간이 오래 걸리는 경우(서버의 균일한 API 데이터) 반복적으로 동일한 결과를 돌려주는 경우(이미지나 썸네일 등) 캐시는 컴퓨터 구조뿐만 아니라 네트워크, DB등 여러곳에서 자주 사용하는 개념이다. 이글에서는 CPU 내부의 캐시에 대해 간략하게 알아본다. CPU 캐시 란 cpu의 내부 캐시란 CPU와 메인 저장 장치(하드디스크)간 속도의 모순을 해결하기 위해서 사용하는 것이다. CPU 는 종종 동일한 데이터를 반복적으로 처리하고, 실행하는데(지역성) 그때마다 메모리..

CS/컴퓨터구조 2022.01.23

[TCP] 3-way handshake와 4-way handshake

3-way handshake와 4-way handshake는 TCP 프로토콜에서 연결을 시작/종료할때 쓰는 방식이다. 우선 TCP부터 알아보자. TCP TCP란 연결 지향적 프로토콜로 데이터패킷을 주고받을때 신뢰성을 보장한다. 그외 특징으로는 흐름 제어, 혼잡 제어, 오류 제어 UDP보다 느린 대신 OSI 4계층(transport)에서 신뢰성 보장 파일을 분할해서 전송(MSS) 연결형 서비스로 가상 회선 방식을 제공 신뢰성을 보장하는 방식으로는 패킷을 보낸 후, 수신 확인(ACK)를 받는다. 제한시간내에 ACK가 오지 않는다면 패킷이 네트워크 중간에 손실되었다고 가정하고 다시 보낸다. 따라서 해당 방식때문에 신뢰성을 보장하지만 느리다. (혼잡제어나 패킷을 보내는 방식은 흥미로운 부분이라 나중 글을 관련 ..

CS/네트워크 2022.01.23