⚡ 네트워크 - OSI 7계층과 TCP · IP
🔹 OSI 7계층이란? OSI(Open Systems Interconnection) 모델은 네트워크 통신을 7단계 계층으로 나눈 구조적 모델이다. 각 계층은 서로 독립적으로 동작하며, 아래 계층의 기능을 기반으로 위 계층이 동작한다. ▫️ 물리 계층 (Physical) 전기 신호, 전송 매체, 케이블, 핀 등 실제 하드웨어 ▫️ ...
🔹 OSI 7계층이란? OSI(Open Systems Interconnection) 모델은 네트워크 통신을 7단계 계층으로 나눈 구조적 모델이다. 각 계층은 서로 독립적으로 동작하며, 아래 계층의 기능을 기반으로 위 계층이 동작한다. ▫️ 물리 계층 (Physical) 전기 신호, 전송 매체, 케이블, 핀 등 실제 하드웨어 ▫️ ...
🔹 가상 메모리란? 가상 메모리는 실제 물리 메모리보다 큰 공간을 프로세스에 제공하기 위한 메모리 관리 기법이다. 각 프로세스는 독립된 주소 공간을 가지며, 운영체제가 실제 메모리(RAM)와 보조기억장치(Disk)를 조합해 가상 주소를 실제 주소로 매핑한다. 장점은 다음과 같다. 물리 메모리보다 더 큰 공간 제공 ...
🔹 프로세스 동기화란? 여러 프로세스나 스레드가 공유 자원을 동시에 사용할 때, 데이터의 일관성과 안정성을 유지하기 위해 필요한 기술이다. 예를 들어, 두 개의 스레드가 동시에 같은 파일에 접근해서 수정하려 하면, 예기치 않은 결과가 발생할 수 있다. 이를 막기 위해 동기화 메커니즘이 사용된다. 🔹 주요 동기화 메커니즘 ▫️ 세마포어(...
🔹 멀티프로세스가 적합한 상황 ▫️ 안정성과 격리성이 중요한 경우 하나의 프로세스가 오류나 예외로 종료되더라도, 다른 프로세스에는 영향을 주지 않음 크롬 브라우저(탭마다 프로세스 분리), 서버의 마이크로서비스 구조를 예시로 들 수 있다. ▫️ 보안이 중요한 경우 프로세스는 메모리를 공유하지 않기 때문에, 의도치 않은 데이터 접근을 방...
🔹 개요 운영체제는 프로그램 실행의 핵심 환경을 제공하는 시스템 소프트웨어다. 오늘은 그중에서도 핵심 개념인 Process, Thread, Context-Switching에 대해 정리한다. 🔹 프로세스(Process)란 프로세스는 실행 중인 프로그램을 의미한다. 프로그램이 메모리에 올라가 실행되면서 CPU 자원, 메모리 자원 등을...
🔹 이진 탐색(Binary Search) ▫️ 개념 정렬된 배열에서 중간값과 찾는 값을 비교하여 탐색 범위를 절반씩 줄여가며 원하는 값을 찾는 알고리즘 ▫️ 시간 복잡도 평균, 최악: O(log n) 공간 복잡도: O(1) ▫️ 특징 배열이 반드시 정렬되어 있어야 함 빠른 탐색 속도 ▫️ 예제 코드 public cl...
문제 평소 반상회에 참석하는 것을 좋아하는 주희는 이번 기회에 부녀회장이 되고 싶어 각 층의 사람들을 불러 모아 반상회를 주최하려고 한다. 이 아파트에 거주를 하려면 조건이 있는데, “a층의 b호에 살려면 자신의 아래(a-1)층의 1호부터 b호까지 사람들의 수의 합만큼 사람들을 데려와 살아야 한다” 는 계약 조항을 꼭 지키고 들어와야 한다....
문제 로봇 청소기와 방의 상태가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 방은 N × M 크기의 직사각형으로 나타낼 수 있으며, 1 × 1 크기의 정사각형 칸으로 나누어져 있다. 각각의 칸은 벽 또는 빈 칸이다. 청소기는 바라보는 방향이 있으며, 이 방향은 동, 서, 남, 북 중 하나이다. 방의 각...
🔹 해시 테이블 키를 해시 함수로 변환해 데이터를 저장하는 자료구조로, 배열 기반이며 충돌 해결 방법이 중요함 해시 함수의 역할과 충돌 해결 방법을 이해해야 함 장점: 평균적으로 검색, 삽입, 삭제가 매우 빠름 단점: 충돌이 발생하면 성능 저하가 있고 해시 함수 설계가 중요하며 메모리 사용이 많을 수 있음 ▫️ 맵(Map) ...
🔹 스택(Stack) 후입선출 구조 삽입과 삭제가 한쪽 끝에서만 발생 대표 연산은 push, pop, peek 재귀 호출 처리, 괄호 검사, 백트래킹 등에 사용 배열이나 연결 리스트로 구현 가능 구현이 간단하고 직관적이나, 특정 요소 접근이 어렵고 순차 처리에 불리함 🔹 큐(Queue) 선입선출 구조 한쪽에서 삽입,...