3. 덱 (Deque)
·
CS/Data Structures
💡 핵심 설명양쪽 삽입 / 삭제 가능 큐📌 개념double-ended queue의 줄임말로 큐의 front와 rear에서 삽입과 삭제가 모두 가능한 자료구조.간단히 말해, 양방향 큐라고 볼 수 있다.덱은 양쪽에서 삽입과 삭제가 가능하다. (중간에 삽입하거나 삭제하는 것은 불가능.) Java에서의 Deque자바에서이 덱은 인터페이스로 구현되어 있어 이를 구현한 ArrayDeque, LinkedBlokingDeque, ConcurrentLinkedDeque, LinkedList 등의 클래스들이 있다.대표적인 메소드연산 종류 front 기준 rear 기준삽입addFirst(e)addLast(e)삭제removeFirst()removeLast()조회peekFirst()peekLast()✅ 추가 설명자료구조큐(..
2. 큐 (Queue)
·
CS/Data Structures
💡 핵심 설명FIFO 구조. BFS 탐색 등에 활용 📌 개념큐(Queue)는 먼저 들어온 데이터가 먼저 나가는 선입선출(FIOF, First In First Out) 방식의 선형 자료구조이다. 연산큐는 front에서 데이터를 삭제하고(dequeue), rear에서 데이터를 삽입(enqueue)한다.한쪽 끝에서 데이터를 추가하고, 반대쪽 끝에서만 삭제할 수 있다.enqueue: rear(뒤)에 데이터 삽입dequeue: front(앞)에서 데이터 제거Java에서는 offer(), poll() 사용 프로세스 관리, 대기열 시스템 등에서 활용된다. ✅ 추가 설명 특성스택(Stack)큐(Queue)구조후입선출(LIFO)선입선출(FIFO)삽입 방식push (top에서 삽입)enqueue (rear에서 삽입..
1. 스택 (Stack)
·
CS/Data Structures
💡 핵심 설명LIFO 구조. 함수 호출, 괄호 검사에 활용📌 개념스택(Stack)은 후입선출(LIFO, Last In First Out) 방식으로 동작하는 선형 자료 구조이다.데이터가 차곡차곡 쌓아 올라가는 형태이며, 가장 마지막에 삽입된 데이터가 가장 먼저 삭제되는 구조이다. 연산push 연산을 통해 새로운 데이터를 top 위치에 삽입하고,pop 연산을 통해 top 위치의 데이터를 제거한다.데이터는 top을 통해서만 접근 가능하며, 중간에 있는 데이터를 직접 수정하거나 삭제할 수 없다.✅ 추가 설명스택(Stack) vs 큐(Queue) 비교특성스택(Stack)큐(Queue)구조후입선출(LIFO)선입선출(FIFO)삽입 방식push (top에서 삽입)enqueue (rear에서 삽입)offer (jav..
Concept of IP address
·
CS/Computer Networks
2 Network Addresses IP address - 목적지까지의 길라잡이 역할 - 32 bits - 네트워크 계층(3계층)에서 작동 - Globally unique - End-to-end: 라우터에서 멈추지 않고 Computer "A" → Server "D"까지 가는 것 MAC address - Local에서 이동할 때 쓰인다. - 48 bits - 데이터 링크 계층(2계층)에서 작동 - Locally unique: LAN에서만 unique하다. - Hop-by-hop: Computer "A" → Router "B" → Router "C" → Server "D"로 갈 때, From: MAC address "A" To: MAC address "B" Hop From: MAC address "B" To..
1. Network Models
·
CS/Computer Networks
1. Data Communications Model Data의 이동은 Input Information과 Output Information이 동일한 것이다. 즉, 데이터 통신은 유선 케이블이나 무선과 같은 형태의 전송 매체를 통해 두 장치 간에 데이터를 교환하는 것을 말한다. 이 과정을 위해서 모든 data들은 signal 형태로 변환이 되는데, 이때 signal이 전송되고 수신되는 과정(Transmission System)을 컴퓨터네트워크개론에서는 다룬다. 2. Simplified Network Model 3. Delivery of Packets in Networks 패킷(Packet): 컴퓨터 네트워크가 전달하는 데이터의 형식화된 블록. 즉, 컴퓨터 네트워크에서 데이터를 주고받을 때 정해 놓은 규칙. ..
4. 프로세스의(Process)의 생성
·
CS/Operating System
프로세스의 연산들(Operations on Processes) 부모 프로세스(Parent Process)와 자식 프로세스(Child Process) 운영체제는 다음과 같은 기능을 수행한다. 프로세스의 생성: 하나의 프로세스는 여러 개의 새로운 프로세스를 생성할 수 있다. 프로세스의 종료 - 기존에 생성한 프로세스: 부모 프로세스 - 기존 프로세스에 의해 새롭게 생성된 프로세스: 자식 프로세스 부모 프로세스와 자식 프로세스의 실행관계 프로세스 실행의 두 가지 가능성 부모 프로세스와 자식 프로세스 동시 실행 부모 프로세스는 자식 프로세스가 종료될 때까지 기다림 프로세스 주소 공간의 두 가지 가능성 자식 프로세스는 부모 프로세스와 동일한 프로그램을 수행 자식 프로세스는 부모 프로세스와 다르게 새로운 프로그램을..
3. 프로세스(Process)의 이해
·
CS/Operating System
1. 프로세스의 개념(Process Concept) 1.1 프로세스란 무엇인가? 실행 중인 프로그램을 프로세스라고 한다. 프로세스는 운영체제에서의 작업 단위이다. 프로세스의 구성 요소 메모리 (주소 공간) - 명령어 - 데이터 섹션 레지스터 - 프로그램 카운터 PC - 스택 포인터 SP 프로세스는 작업의 최소 단위인 Task를 완료하기 위해서 다음과 같은 자원이 필요하다. CPU의 점유 메모리(memory) 파일(files) 입/출력 장치(I/O devices) 프로세스와 프로그램의 차이점 프로그램 - 정적 코드와 정적 데이터 프로세스 - 코드와 데이터의 동적 인스턴스 동일한 프로그램의 여러 프로세스 instance를 가질 수 있다. (ex. 크롬에서의 여러 개의 창, 여러 사용자가 동시에 "ls"를 실..
2. 운영체제 구조(Operating System Structure)
·
CS/Operating System
2. 운영체제 구조(Operating-System Structure) 1. 운영체제가 제공하는 서비스(Operating System Service) 1.1 유저와 운영체제 간의 인터페이스(User and Operating-System Interface) 1.2 시스템 콜(System Calls) 1. 운영체제가 제공하는 서비스(Operating System Service) 프로그램의 실행을 위해서 운영체제는 다음과 같은 환경을 제공한다. 유저 인터페이스(User Interface) 프로그램의 실행(Program execution) 입출력 연산(I/O Operation) 파일 시스템 조작(File-system manipulation) 에러 탐색(Error detection) 자원 할당(Resource al..
1. 운영체제(OperatingSystem) 소개
·
CS/Operating System
1. 운영체제는 무엇을 하는가? 운영체제는 응용 프로그램과 하드웨어 사이에 위치한다. 사용자 —(서비스 요청)—> 응용 프로그램 —(메시지 전달)—> 운영체제 —(작동시킴)—> 하드웨어 과 같은 일련의 작업을 수행한다. ⇒ 운영체제는 하드웨어를 제어하는 소프트웨어이고, 유저와 하드웨어 사이에서 중계자로서 응용 프로그램의 서비스를 제공하는 소프트웨어 정의 컴퓨터 위에서 실행되는 하나의 프로그램 Kernel로도 정의 하드웨어를 제어하는 소프트웨어 유저와 하드웨어 사이의 중계자 2. 컴퓨터 시스템의 구성 (Computer-System Organization) classic한 컴퓨터는 1개 이상의 CPU로 구성되고, 버스(Bus)를 통해 연결된 제어기(Device Controller)로 연결되어 있다. CPU는..