말그대로 CPU를 잘 사용하기 위해서 프로세스를 스케줄링해 잘 배정하는 것임CPU가 하나의 프로세스 작업이 끝나면 다음 프로세스 작업을 수행하는데, 이때 다음 프로세스가 어느 프로세스인지를 선택하는 게 CPU 스케줄링선점은 프로세스가 CPU를 점유하고 있는 동안 I/O
기본적으로 각 프로세스는 메모리에 별도의 주소 공간에서 실행되기 때문에, 한 프로세스는 다른 프로세스의 변수나 자료구조에 접근할 수 없음.하지만 대부분의 컴퓨터 프로그램을 보면 다른 프로그램에 있는 정보를 가져오는 경우를 쉽게 볼 수 있음여러가지 방법으로 프로세스가 다
CPU가 한 프로세스에서 다른 프로세스로 전환할 때 발생하는 일련의 과정을 말함동작 중인 프로세스가 대기를 하면서 해당 프로세스의 상태(Context)를 보관하고, 대기하고 있던 다음 순서의 프로세스가 동작하면서 이전에 보관했던 프로세스의 상태를 복구하는 작업CPU는
정의 : 운영체제의 커널이 제공하는 서비스에 대해, 응용 프로그램의 요청에 따라 커널에 접근하기 위한 인터페이스사용자 모드 : 사용자, 프로그램이 접근할 수 있는 범위를 두고 범위 내에서 동작함커널 모드 : 컴퓨터의 자원들이 운영체제의 제어 하에 동작하며 모든 종류의
CPU가 프로그램을 실행하고 있을 때, 입출력 하드웨어 등의 장치에 예외상황이 발생하여 처리가 필요할 경우에 CPU에게 알려 처리할 수 있도록 하는 것크게 하드웨어 인터럽트와 소프트웨어 인터럽트로 나눔하드웨어 인터럽트 : 하드웨어가 발생시키는 인터럽트로, CPU가 아닌
하드웨어를 관리하고, 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 응용 프로그램과 하드웨어 간의 인터페이스로써 다른 응용 프로그램이 유용한 작업을 할 수 있도록 환경을 제공해줌즉, 운영체제는 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 시스
HTTP의 비상태성(Stateless) 특성 때문에, 서버는 클라이언트의 상태를 저장하지 않으며, 따라서 이전 요청과 다음 요청의 맥락이 이어지지 않음. 그렇다고 매번 로그인 요청을 할 수도 없는 노릇....이런 HTTP 환경에서 어떻게 서버는 사용자를 인가할까? 웹
TCP/IP 계층에 대해 간략히 알아보자TCP/IP 모델은 OSI 모델을 기반으로 상업적으로 실무적으로 이용될 수 있도록 단순화된 모형 네트워크 전송 시 데이터 표준을 정리한 것이 OSI 7계층, 이 이론을 실제 사용하는 인터넷 표준이 TCP/IP 4계층데이터 단위
컴퓨터 네트워크에서 데이터 통신의 과정을 일곱 개의 계층으로 나눈 개념 모델각 계층은 특정한 기능을 수행하고, 데이터 흐름을 조정하며, 통신에 필요한 서비스를 제공함새로운 기술이나 서비스가 도입될 때 유연성과 확장성을 제공함. 새로운 기능이나 서비스는 해당하는 계층에
Transmission Control Protocol인터넷상에서 데이터를 메세지의 형태로 보내기 위해 IP와 함께 사용하는 프로토콜신뢰성을 중시하는 연결 지향적인 프로토콜신뢰성 있는 전송을 위해 여러 기능을 제공함 -> 데이터의 세그먼트화, 순서 제어, 흐름 제어, 오
데이터의 이력(Input)과 출력(Output)을 함께 일컫는 말임어떤 디바이스를 통해 입력과 출력이 이뤄지는 작업을 모두 I/O라고 함네트워크를 통해서 다른서버로 데이터를 전송하거나, 다른 서버로부터 데이터 전송을 받는 것도 I/O에 포함됨I/O는 애플리케이션의 성능
Blocking/Non-blocking과 Sync/Async은 관점을 어떻게 두느냐에 따라 다르다다른 주체가 작업할 때 자신의 제어권이 있는지 없는지로 구분함A 함수가 B 함수를 호출 할 때, B 함수가 자신의 작업이 종료되기 전까지 제어권을 돌려주지 않는 것자신의 작
로드 밸런싱(load balancing)이란 > 네트워크 또는 서버에 가해지는 로드를 분산 해주는 기술 중앙처리장치 혹은 저장장치와 같은 컴퓨터 자원들에게 작업을 나누는 것을 의미 로드 밸런싱이 왜 필요할까? 로드밸런싱은 여러 대의 서버를 두고 서비스를 제공하는
HyperText Transfer Protocol (하이퍼텍스트 이동 프로토콜)HyperText는 한 문서에서 다른 문서로 즉시 접근 가능한 텍스트임인터넷 상에서 클라이언트와 서버가 자원을 주고 받을 때 쓰는 통신 규약\-> 'HTML 문서를 주고 받는데 필요한 규칙'
항구라는 뜻나는 친구랑 게임을 하면서 화상통화를 하고싶음그러면 클라이언트 pc는 한번에 여러 개랑 통신을 해야함패킷들이 내 ip로 날아올텐데, 이제 날아온게 게임에서 필요한 패킷인지, 화상 통화에 필요한 패킷인지, 그냥 웹 브라우저 응답 결과로 오는 패킷인지 알 방법이
인터넷 프로토콜 스위트라고도 불리며 인터넷을 구성하는 기본적인 프로토콜의 집합인터넷 프로토콜 스위트는 TCP/IP 프로토콜 스택이라고도 불림. 이 규칙들은 데이터를 보낼 때 어떤 방식으로 보낼지, 어떤 경로로 보낼지, 데이터의 조각을 어떻게 조립할지 등을 정의TCP는
클라이어트와 서버와 둘이 통신을 할때 중간에 '인터넷' 이라는게 있음인터넷 망을 통해서 클라이언트가 서버에게 데이터를 보낸다넘길때 지켜야할 규칙이 있다이걸 이해하려면 IP에 대해 알아야함internet protocol인테넛에서 데이터를 주고받기 위해 사용되는 주요한 프
두 개 이상의 프로세스나 스레드가 서로 자원을 얻지 못해서 다음처리르 하지 못하는 상태무한히 다음 자원을 기다리게 되는 상태임. 한정된 자원을 여러 곳에서 사용하려고 할 때 발생함4가지 모두 성립해야 데드락이 발생상호 배제한 번에 프로세스 하나만 해당 자원을 사용할 수
뮤텍스,세마포어 -> https://velog.io/@miin-hyukkk/운영체제-IPCInter-Process-Communication뮤텍스 알고리즘데커 알고리즘flag과 turn 변수를 통해 임계 구역에 들어갈 프로세스/스레드를 결정하는 방식2.피터슨 알
메인메모리: cpu가 직접 접근할 수 있는 기억 장치프로세스가 실행되려면 프로그램 코드를 메인 메모리에 적재해 두어야 함BUT...모든 프로그램 코드를 물리 메모리에 올릴 수가 없음. 그래서 가상 메모리 사용운영 체제는 물리 메모리의 제약을 가지고 있는 메인 메모리를
논리적인 저장 단위로, 관련된 정보 자료들의 집합에 이름을 붙인 것.컴퓨터 시스템의 편리한 사용을 위해 정보 저장의 일관된 논리적 관점을 제공함파일 속성 또는 파일의 메타데이터는 파일을 관리하기 위한 각종 정보들임ex> 파일 이름,유형,저장된 위치,파일 사이즈 등등파일
자료구조 관련 면접 대비 공부에 들어가기에 앞서....자료구조란 무엇일까?메모리를 효율적으로 사용하며 빠르고 안정적으로 데이터를 처리하는 것이 궁극적인 목표상황에 따라 유용하게 사용될 수 있도록 특정 구조를 이루고 있는 것자료구조는 일차원인 컴퓨터 메모리를 현실에 대응
선형 구조한 원소 뒤에 하나의 원소만이 존재하는 형태로 자료들이 선형으로 나열되어 있는 구조를 가짐\-> Array , Linked List, Stack, Queue비선형 구조원소 간 다대다 관계를 가지는 구조로 계층적 구조나 망형 구조를 표현하기에 적절함\-> 그래프
마찬가지로 둘 다 선형 자료구조후입선출의 개념을 가진 선형 자료구조. (나중에 들어간 요소가 먼저 나옴)차곡차곡 쌓이는 구조로 먼저 Stack에 들어가게 된 원소는 맨 바닥에 깔리게됨Push,Pop의 기능을 가지며 맨 위 원소를 TOP이라고 부룸스택 자료구조를 이용하는
비선형 자료구조. 계층적 관계를 표현하는 자료구조.표현에 집중함.(무엇인가를 저장하고 꺼내야한다는 사고에서 벗어나야함)값을 가진 노드와 노드들을 연결해주는 간선(Edge)로 이루어져있음특징정점이 N개인 트리는 반드시 N-1개의 간선을 가짐루트에서 특정 정점으로 가는 경
힙은 우선순위 큐를 위해 만들어진 자료구조임우선순위 큐 : 우선순위의 개념을 큐에 도입한 자료구조. 배열,연결리스트,힙으로 구현(힙이 가장 효율적!)우선순위 큐를 구현하기 위한 가장 적절한 자료구조임이진 트리 형태를 가지며 우선순위가 높은 요소가 먼저 나가기 위해 요소
데이터를 효율적으로 관리하기 위해, 임의의 길이 데이터를 고정된 길이의 데이터로 매핑하는 것해시 함수를 구현하여 데이터 값을 해시 값으로 매핑함.그래서 데이터가 많아지면 다른 데이터가 같은 해시 값으로 충돌나는 현상이 발생함해시는 내부적으로 배열을 사용하여 데이터를 저
문자열의 집합을 표현하는 트리 자료구조원하는 원소를 찾기 위해 자주 이용되는 이진 검색 트리에서 문자열을 찾는 경우 O(MlogN)이 걸림여러번 수행 시 시간이 오래걸리게 됨그래서 이 단점을 해결한 문자열을 찾는데에 특화된 자료구조가 Trie다.작동 원리집합에 포함된
어떤 문제나 목적을 달성하기 위해 거쳐야 하는 여러 과정들Big-O 표기법이란?알고리즘 성능을 수학적으로 표기해주는 표기법공간 복잡도도 시간 복잡도와 마찬가지로 Big-O 표기법 사용시간복잡도와 공간복잡도에 대해 설명해주세요.좋은 알고리즘이란 작은 메모리 공간을 차지하
버블 정렬에 대해 설명해주세요버블 정렬은 서로 인접한 두 원소를 비교하여 크기가 순서대로 되어있지 않으면 정렬하는 알고리즘0번 인덱스부터 n-1번 인덱스까지 n번까지의 모든 인덱스를 비교하며 정렬. 시간복잡도는 O(n^2)선택 정렬에 대해 설명해주세요선택 정렬은 주어진
그리디 알고리즘은 동적 프로그래밍 사용 시 지나치게 많은 일을 한다는 것에서 착안하여 고안된 알고리즘임동적 프로그래밍을 대체하는 것은 아니고 같이 쓰이며 서로 보완하는 개념미래를 생각하지 않고 각 단계에서 가장 최선의 선택을 하는 기법그렇게 각 단계에서 최선의 선택을
깊이 우선 탐색루트 노드에서 시작해 다음 branch로 넘어가기 전에 해당 branch를 완벽하게 탐색하는 기법모든 노드를 방문하고자 하는 경우에 사용단순 검색 속도 자체는 BFS에 비해 느림특징자기 자신을 호출하는 순환 알고리즘의 형태구현할떄 어떤 노드를 방문했었는지
그래프 자료구조에 대해 설명해보세요그래프는 정점과 간선으로 이루어진 자료구조사실 트리는 그래프의 일종임. 하지만 그래프는 트리와 달리 정점마다 간선이 존재하지 않을 수 있으며, 루트노드,부모노드,자식노드 개념이 존재하지 않음그래프를 구현할 수 있는 두 방법에 대해서 설
그래프에서 특정 정점에서 다른 모든 정점까지의 최단거리를 찾는 알고리즘. DP를 이용함이 알고리즘은 음의 가중치를 가지지 않는 그래프에서 사용됨 주로 GPS 경로 탐색, 네트워크 라우팅, 지도app에서 최단 경로를 계산할때 활용됨DP인 이유최단거리는 여러 개의 최단거리
비트마스크는 이진수를 사용하는 컴퓨터의 연산 방식을 이용하여, 정수의 이진수 표현을 자료구조로 쓰는 기법을 말함부분집합 생성,순열 및 조합 생성 등과 같은 문제 해결할때 쓰임각 비트는 집합의 원소와 대응됨. 비트가 1이면 해당 원소가 집합에 존재. 0이면 존재X장점1\
들어가기전에...데이터베이스란 데이터를 여러 사람이 공유하고 사용할 목적으로 통합관리되는 데이터들의 모임을 말함DB를 사용하지 않으면, 프로그램의 종료 시점에 그 전까지 생성한 많은 데이터들이 모두 날아가게됨데이터베이스의 특징에 대해 설명해주세요.데이터베이스는 실시간
두개 이상의 테이블이나 데이터베이스를 연결하여 데이터를 검색하는 방법테이블을 연결하려면, 적어도 하나의 칼럼을 서로 공유하고 있어야 하므로 이를 이용하여 데이터 검색에 활용Join에 대해서 설명해주세요조인이란 두 개의 데이터베이스 혹은 테이블을 연결하여 데이터를 검색하
추가적인 쓰기 작업과 저장 공간을 활용하여 데이터베이스 테이블의 검색 속도를 향상시키기 위한 자료구조임책을 예로 들었을때, 저자는 책의 맨앞에 색인을 추가해놔서, 독자가 원하는 내용을 찾고자 할때, 시간을 줄여줌데이터베이스의 인덱스는 책의 색인과 같다.인덱스를 활용하면
트랜잭션이란, 데이터베이스의 상태를 변화시키기 위해 수행하는 작업의 단위를 말함데이터베이스의 상태를 변화시킨다 -> SELECT, INSERT, DELETE, UPDATEex> 게시판유저가 게시글을 작성하고 올리기버튼(INSERT)을 누른 후 다시 게시판에 돌아왔을때
Isolation level여러 트랜잭션이 동시에 처리될 떄, 특정 트랜잭션이 다른 트랜잭션에서 변경하거나 조회하는 데이터를 볼 수 있게 허용할지 여부를 결정하는 것격리 수준이 높은 순서대로 SERIALIZABLEREPEATABLE READREAD COMMITTEDRE
SQL Injection SQL Injection 악의적인 사용자가 보안상의 취약점을 이용하여, 임의의 SQL 문을 주입하고 실행되게 하여 데이터베이스가 비정상적인 동작을 하도록 조작하는 행위 공격방법 인증 우회, 데이터 노출, 해커는 GET방식 쿼리 스트링을 추가
운영체제란 무엇인가요운영체제는 응용 프로그램과 하드웨어 간의 인터페이스로써 응용프로그램들이 잘 작업할 수 있도록 도와주는 환경을 제공해줍니다.예를 들어 윈도우, 리눅스 등이 있습니다.운영체제의 역할을 말해주세요운영체제는 응용프로그램과 하드웨어 간의 인터페이스 역할을
OSI 7계층에 대해서 설명해보세요.국제 표준화 기구에서 정의한 표준으로 컴퓨터 네트워크에서 데이터 통신의 과정을 일곱 개의 계층으로 나눈 개념 모델입니다. 각각의 계층은 특정한 기능을 수행하고, 데이터 흐름을 조정하며, 통신에 필요한 서비스를 제공합니다. 7계층은 최