지금까지 배운 5개의 정렬 알고리즘의 장단점과 시간 복잡도를 적어주세요. 버블정렬 서로 인접한 두 요소를 비교하여 정렬하는 알고리즘. 인접한 2개의 요소를 비교해서 교환한다. 일반적으로 데이터의 교환이 이동 작업보다 복잡하다. 시간 복잡도 : O(n^2) 공간 복잡도 : O(1) : 한 개의 임시 변수 필요 안정적 정렬 방식(안정적 정렬이란 중복 된 값을 ...
운영체제 메모리의 종류는 어떤것들이 있나요? 각 메모리의 특징도 함께 적어주세요. 1. 휘발성 메모리 ✔ 레지스터 CPU 내부에서 처리할 명령어나 연산의 중간 결과값 등을 일시 저장하는 임시 기억장치. 범용 레지스터, 세그먼트 레지스터, 포인터 레지스터, 인덱스 레지스터, 플래그 레지스터가 있음. CPU가 연산해야 할 데이터를 RAM에서 가져와 여기에 저장...
운영체제 1⃣ 개요 프로그래머는 프로세스가 메로리에 어느 위치에 올라가는지 신경쓰지 않고 0X0번지에 들어간다고 생각하고 프로그래밍 하면 된다. 프로세스(사용자)는 메모리 관리자를 통해 메모리에 접근 가상 메모리는 물리 메모리 크기와 CPU 비트수로 결정( 만약 32bit CPU인 경우, 2³² 주소값이 되고 4GB 정도 된다.) 32bit CPU를 가진 ...
1. 재귀함수에서 기저조건을 만들지 않거나 잘못 설정했을 때 어떤 문제가 발생할 수 있나요? 스택 오버플로가 발생합니다. 콜스택에 스택 프레임이 쌓이는데, 기저조건을 만들지 않으면 함수가 무제한 호출되며, 스택 프레임도 무제한으로 쌓이게 됩니다. 콜스택 메모리의 잉여 용량을 초과하면 프로세스가 OS에 의해 강제 종료되는데 이를 스택 오버플로라고 합니다. 2...
[Day 6] 운영체제 1⃣ 프로세스 간 통신 1.1 프로세스 간 통신(Inter Process Communication, IPC) 프로세스 사이에 서로 데이터를 주고받는 행위, 방법, 경로를 IPC라한다. 프로세스가 통신이 가능하다는 것은 서로 다른 프로세스가 데이터를 주고 받을 수 있다는 것이다. 이는 컴퓨터 내부에서의 프로세스 간 소통일수도 있고, 다...
1. 선입선출(FIFO)의 장단점 장점 스케쥴링의 이해와 구현이 단순하다. 자원의 효율성이 높다. 단점 실행시간이 긴 프로세스가 앞에서 장시간 독점하는 경우 다른 프로세스들이 오래 대기해야한다. 평균 응답 시간이 길어질 수 있다. 2. 최소작업 우선 - SJF(Shortest Job First)을 사용하기 어려운 이유 준비큐에 있는 프로세스 중에서 실행 시...
1. 여러분은 교실의 학생 정보를 저장하고 열람할 수 있는 관리 프로그램을 개발하려고 합니다. 이때 여러분이라면 학생의 정보를 저장하기 위한 자료구조를 어떤 걸 선택하실 건가요? 이유를 함께 적어주세요. 해시테이블을 이용할 것입니다. 해시테이블은 해시 함수를 통해 입력값으 key를 받아 고유한 값을 index로 변환시켜 테이블에 저장하는 자료구조이다. O(...
아래 코드는 1초마다 플레이어가 스킬을 사용했는지 체크하는 코드입니다. 이 방식은 폴링 방식입니다. 1초마다 체크하기 때문에 성능에 좋지 않습니다. 이를 해결하기 위한 방식으로 어떤 걸 이용해야 할까요? while(true){ wait(1); // 1초 멈춤 bool isActivated = checkSkillActivated(); // 체크 } 스킬을 사...
모든 내용은 감자님의 그림으로 쉽게 배우는 자료구조와 알고리즘 (기본편) 강좌를 정리한 내용입니다. 자료구조와 알고리즘 1일차 1⃣ 자료구조 자료구조는 데이터가 어떤 구조로 저장되고 어떻게 사용되는지를 나타냅니다. 대표적인 예 1) → 변수 숫자나 문자열 저장하기 위해 변수 사용 let a = 87; 예2) 배열 숫자나 문자열 등을 연속적으로 저장 접근 →...