본문 바로가기

Backend/CS8

[기술면접대비 CS전공 핵심 요약집] 운영체제 2024/05/17운영체제운영체제란?운영체제(OS, Operating Sysetm)란 하드웨어 위에 설치되어 하드웨어 계층과 다른 소프트웨어 계층을 연결하는 소프트웨어 계층이다.컴퓨터 시스템의 자원을 관리하고, 사용자가 컴퓨터를 사용할 수 있는 환경을 제공하는 역할을 수행한다.CPU, 메모리 같은 컴퓨터 자원은 제한적이라서 이러한 자원을 관리하는 일은 매우 중요하다. 또한 사용자와 컴퓨터 간 인터페이스를 제공해 사용자가 컴퓨터를 편리하게 사용할 수 있는 환경을 제공한다. 대표적인 OS로는 윈도우(Windows), 맥(OS), 리눅스(Linux), 유닉스(Unix) 등이 존재한다. 컴퓨터에서 운영체제의 위치운영체제의 목적OS는 한정된 컴퓨터의 자원을 관리하는 시스템이다. 이러한 역할에 기반해 OS는 4가지.. 2024. 5. 17.
[Tech Interview] Data Structure Array C++에서 사이즈 구하기int arr[] = { 1, 2, 3, 4, 5, 6, 7 };int n = sizeof(arr) / sizeof(arr[0]); 1. 배열 회전 프로그램 기본적인 회전 알고리즘temp를 활용해서 첫번째 인덱스 값을 저장 후 arr[0] ~ arr[n-1]을 각각 arr[1] ~ arr[n]의 값을 주고 arr[n]에 temp를 넣어준다.void leftRotatebyOne(int arr[], int n){ int temp = arr[0], i; for(i = 0; i  저글링 알고리즘 구현최대공약수 gcd를 이용해 집합을 나누어 여러 요소를 한꺼번에 이동시키는 것arr[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}1,2,3을 뒤.. 2024. 5. 17.
[Tech Interview] Network 7계층을 나누는 이유통신이 일어나는 과정을 단계별로 알 수 있고, 특정한 곳에 이상이 생기면 그 단계만 수정할 수 있기 때문이다. (1) 물리(physical)리피터, 케이블, 허브 등단지 데이터 전기적인 신호로 변환해서 주고받는 기능을 진행하는 공간즉, 데이터를 전송하는 역할만 진행한다. (2) 데이터 링크(Data Link)브릿지, 스위치 등 물리 계층으로 송수신되는 정보를 관리하여 안전하게 전달되도록 도와주는 역할Mac 주소를 통해 통신한다. 프레임에 Mac 주소를 부여하고 에러검출, 재전송, 흐름제어를 진행한다. (3) 네트워크(Network)라우터, IP 데이터를 목적지까지 가장 안전하고 빠르게 전달하는 기능을 담당한다.라우터를 통해 이동할 경로를 선택하여 IP 주소를 지정하고, 해당 경로에 따.. 2024. 5. 8.
[면접을 위한 CS 전공지식 노트] 운영체제 Part. CS 강의로 수강하려고 했지만, 생각보다 너무 지루해서 "면접을 위한 CS 전공지식 노트"라는 책으로 공부하려고 한다. 운영체제와 컴퓨터 운영체제의 역할 (1) CPU 스케줄링과 프로세스 관리 : CPU 소유권을 어떤 프로세스에 할당할지 (2) 메모리 관리 : 한정된 메모리를 어떤 프로세스에 얼만큼 할당해야 하는가 (3) 디스크 파일 관리 : 디스크 파일을 어떠한 방법으로 보관할지 관리 (4) I/O 디바이스 관리 : I/O 디바이스들인 마우스, 키보드와 컴퓨터 간에 데이터를 주고받는 것을 관리 운영체제의 구조 참고 : GUI가 없고 CUI만 있는 리눅스 서버도 존재한다. GUI : 단순 명령어 창이 아닌 아이콘을 마우스로 클릭하는 단순한 동작으로 컴퓨터와 상호 작용 드라이버 : 하드웨어를 제.. 2024. 3. 29.
TCP, UDP 인터넷 프로토콜 스택의 4계층 프로토콜 계층 IP 패킷 정보 TCP 특징 전송 제어 프로토콜(Transmission Control Protocol) - 연결지향 - TCP 3 way handshake(가상 연결) - 데이터 전달 보증 - 순서 보장 - 신뢰할 수 있는 프로토콜 - 현재는 대부분 TCP 사용 TCP 3 way handshake 데이터 전달 보증 순서 보장 UDP 특징 사용자 데이터그램 프로토콜(User Datagram Protocol) - 하얀 도화지에 비유(기능이 거의 없음) - 연결지향 - TCP 3 way handshake X - 데이터 전달 보증 X - 순서 보장 X - 데이터 전달 및 순서가 보장되지 않지만, 단순하고 빠름 - 정리 - IP와 거의 같다. + PORT + 체크섬(검.. 2024. 1. 4.
IP(인터넷 프로토콜) 인터넷 프로토콜 역할 - 지정한 IP 주소(IP Address)에 데이터 전달 - 패킷(Packet)이라는 통신 단위로 데이터 전달 IP 패킷 정보 클라이언트 패킷 전달 서버 패킷 전달 IP 프로토콜의 한계 비연결성 - 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송 비신뢰성 - 중간에 패킷이 사라지면? - 패킷이 순서대로 안오면? 2024. 1. 4.
[네트워크] HTTP 들어가기 앞서 이 글은 큰돌의 터전 님의 저서 「면접을 위한 CS 전공지식 노트」를 학습한 내용을 정리한 글입니다. 모든 출처는 해당 저서에 있습니다. HTTP는 앞서 설명한 전송 계층 위에 있는 애플리케이션 계층으로 웹 서비스 통신에 사용된다. HTTP/1.0부터 시작해서 발전을 거듭하여 지금은 HTTP/3이며 HTTP/1.0부터 HTTP/3까지 존재한다. HTTP/1.0 HTTP/1.0은 기본적으로 한 연결당 하나의 요청을 처리하도록 설계되었다. 이는 RTT(Round Trip Time) 증가를 불러오게 되었다. 서버로부터 파일을 가져올 때마다 TCP의 3-웨이 핸드셰이크를 계속 열어야 하기 때문에 RTT가 증가하는 단점이 있다. RTT 패킷이 목적지에 도달하고 나서 다시 출발지로 돌아오기까지 걸리는.. 2023. 12. 7.
TCP/IP 4계층 모델 들어가기 앞서 이 글은 큰돌의 터전 님의 저서 「면접을 위한 CS 전공지식 노트」를 학습한 내용을 정리한 글입니다. 모든 출처는 해당 저서에 있습니다 인터넷 프로토콜 스위트(internet protocol suite) 인터넷에서 컴퓨터들이 서로 정보를 주고받는 데 쓰이는 프로토콜의 집합 TCP/IP 4계층 모델, OSI 7계층 모델 계층 구조 TCP/IP는 4개의 계층을 가지고 있다. OSI 7계층은 애플리케이션 계층을 3개로 쪼개고, 링크 계층(네트워크 액세스)을 데이터 링크 계층, 물리 계층으로 나눠서 표현, 인터넷 계층을 네트워크 계층으로 부른다는 점이 다르다. 각 계층들은 특정 계층이 변경되었을 때, 다른 계층이 영향을 받지 않도록 설계되었다. ex) 전송 계층에서 TCP를 UDP로 변경했다고 해.. 2023. 11. 28.