지금까지 배운 5개의 정렬 알고리즘의 장단점과 시간 복잡도를 적어주세요. 버블정렬,선택정렬,삽입정렬,병합정렬,퀵정렬이 있습니다.. 버블정렬 성능 : O(n²)의 성능을 가집니다 장점 : 구현이 쉽고 단순합니다. 단점 : 성능이 좋지않아 대규모 데이터 처리에 좋지않습니다. 선택정렬 성능 : O(n²)의 성능을 가집니다 장점 : 구현이 쉽고 단순합니다. (버블...
메모리의 종류는 어떤것들이 있나요? 각 메모리의 특징도 함께 적어주세요. 레지스터 : 가장 빠른 기억 장소 이고 컴퓨터의 전원이 꺼지면 데이터가 사라져 휘발성 메모리입니다. 캐시 : 레지스터 와 메인 메모리 사이에 위치해 데이터 접근 속도를 향상시켜주고 cpu가 메인메모리의 데이터를 가져오기전에 L1 -> L2 -> L3 순으로 확인을하고 캐시에 데이터가 ...
1일차 가상 메모리 개요 가상 메모리란? 프로세스는 물리 메모리의 크기나 운영체제 영역이 어디에 위치하는지를 몰라도 된다. 프로세스는 메모리 관리자(MMU, Memory Management Unit)를 통해 메모리에 접근하며, 가상 메모리를 통해 자신만의 독립적인 주소 공간을 가진다. 가상 메모리의 크기는 이론적으로 무한하지만 실제로는 물리 메모리 크기 와...
재귀함수에서 기저조건을 만들지 않거나 잘못 설정했을 때 어떤 문제가 발생할 수 있나요? 기저 조건이 없으면 무한으로 반복해 콜스택이 가득차 스택 오버플로우가 발생하여 프로그램이 비정상적으로 종료됩니다. 0부터 입력 n까지 홀수의 합을 더하는 재귀 함수를 만들어보세요. 자바 코드 예시 public static int sum(int n) { if (n == 1...
운영체제 FIFO 스케줄링의 장단점이 뭔가요? 장점 : 선입선출 방식의 알고리즘이라 프로세스가 들어온 순서대로 처리할수 있어 단순하고 직관적임 단점 : 먼저 온 프로세스가 실행 시간이 길면 실행 시간이 짧은 프로세스들은 그 뒤에서 작업이 끝날떄 까지 기다려야하는 호위효과가 발생하게됨 SJF를 사용하기 여러운 이유가 뭔가요? burst Time의 예측이 어렵...
1일차 프로세스 동기화와 통신,재귀 프로세스 간 통신 프로세스는 독립적으로 실행될 수도 있지만 다른 프로세스와 데이터를 주고받으며 통신하기도 합니다. 통신 방식은 한 컴퓨터 내의 프로세스 간 통신과 네트워크를 통해 다른 컴퓨터의 프로세스와 통신하는 방법으로 나눌 수 있습니다. 프로세스 간 통신 방법 파일(File) 이용 통신하려는 프로세스들이 공통된 파일을...
여러분은 교실의 학생 정보를 저장하고 열람할 수 있는 관리 프로그램을 개발하려고 합니다. 이 때 여러분이라면 학생의 정보를 저장하기 위한 자료구조를 어떤 걸 선택하실 건가요? 이유를 함께 적어주세요. 학생의 정보는 보통 학번,이름,반,성적 등이 저장 될텐데 해당 정보들은 해시테이블을 활용하면 좋을거 같습니다. 반에서 학번은 중복되는 경우는 없기때문에 학번을...
1. while(true){ wait(1); // 1초 멈춤 bool isActivated = checkSkillActivated(); // 체크 } 위 코드는 1초 마다 플레이어가 스킬을 사용했는지 체크하는 코드입니다. 이 방식은 폴링방식입니다. 1초마다 체크하기 때문에 성능에 좋지 않습니다. 이를 해결하기 위한 방식으로 어떤 걸 이용해야 할까요? 메인 ...
1일차 운영체제 및 자료구조와 알고리즘 운영체제가 하는일 프로세스 관리 프로세스 관리는 운영체제의 핵심 기능 중 하나입니다. 여러 프로그램(예: 여러 브라우저 창)을 동시에 실행할 수 있는 이유는 운영체제가 각 프로세스를 효율적으로 관리해주기 때문입니다. 역할 : CPU의 자원을 여러 프로세스가 공평하게 사용할 수 있도록 스케줄링하고, 각 프로세스의 실행 ...