블로그

Taeho

인프런 워밍업 클럽 - CS 1주차 미션

운영체제while(true){ wait(1); // 1초 멈춤 bool isActivated = checkSkillActivated(); // 체크 } 위 코드는 1초 마다 플레이어가 스킬을 사용했는지 체크하는 코드입니다. 이 방식은 폴링방식입니다. 1초마다 체크하기 때문에 성능에 좋지 않습니다. 이를 해결하기 위한 방식으로 어떤 걸 이용해야 할까요?Interrupt 방식프로그램과 프로세스가 어떻게 다른가요?Program저장장치에 저장된 명령문의 집합체저장 장치만 사용하는 수동적인 존재Process실행중인 프로그램저장장치에 저장된 프로그램이 메모리에 올라갔을 때 프로세스라고 한다.메모리, CPU, I/O 작업을 수행하는 능동적인 존재멀티프로그래밍과 멀티프로세싱이 어떻게 다른가요?Multi-Programming메모리에 여러개의 프로세스가 올라온 상태메모리 관점으로 정의Multi-ProcessingCPU 관점으로 정의CPU가 여러 개의 프로세스를 처리하는 것을 의미한다.운영체제는 프로세스를 관리하기 위해서 어떤 것을 사용하나요?PCB(Process Control Block)과 CPU Scheduling을 사용해서 프로세스를 관리한다.컨텍스트 스위칭이란 뭔가요?프로세스를 실행하는 중에 다른 프로세스를 실행하기 위해 실행중인 프로세스의 상태를 저장하고, 다른 프로세스의 상태값으로 전환하는 작업Context Switching이 발생할 때 PCB의 내용이 변경된다.프로세스 상태, 프로그램 카운터, 레지스터 정보, 메모리 관련 정보 등이 변경된다.자료구조와 알고리즘여러분은 교실의 학생 정보를 저장하고 열람할 수 있는 관리 프로그램을 개발하려고 합니다.이 때 여러분이라면 학생의 정보를 저장하기 위한 자료구조를 어떤 걸 선택하실 건가요? 이유를 함께 적어주세요.선택한 자료구조 : List | HashTable교실의 학생 정보가 항상 일정하다고 생각하지 않기 때문이다.교실에 새로운 학생이 전학을 온다던가 기존에 있던 학생이 전학을 간다고 한다면 고정된 사이즈를 갖고 있는 Array의 경우 삽입/삭제 처리가 어려울 것이라고 생각된다.만일 전학이 빈번하지 않는다고 한다면 Array를 사용하는 편이 더 효율적이라고 생각한다.한명의 학생에게 고유한 학번을 부여하고, 해당 학번에 학생을 매핑해 놓는다고 한다면 가장 성능이 좋을 것이라고 생각한다.여러분은 고객의 주문을 받는 프로그램을 개발하려고 합니다. 주문은 들어온 순서대로 처리됩니다. 이 때 여러분이라면 어떤 자료구조를 선택하실 건가요? 이유를 함께 적어주세요.선택한 자료구조 : Queue먼저 주문을 한 고객부터 순서대로 주문을 처리해야 하기 때문이다.

알고리즘 · 자료구조워밍업클럽CS전공지식1주차미션

노을

[인프런워밍업클럽] 1주차 3기 CS전공지식 운영체제 미션

운영체제javascript while(true){ wait(1); // 1초 멈춤 bool isActivated = checkSkillActivated(); // 체크 }위 코드는 1초 마다 플레이어가 스킬을 사용했는지 체크하는 코드입니다.이 방식은 폴링방식입니다.1초마다 체크하기 때문에 성능에 좋지 않습니다.이를 해결하기 위한 방식으로 어떤 걸 이용해야 할까요?인터럽트 방식을 사용해야합니다, 폴링 방식과 달리 특정 이벤트가 발생할 때 비동기적으로 코드가 실행 2. 프로그램과 프로세스가 어떻게 다른가요?프로그램 : 하드디스크나 다른 저장장치에 저장된 명령어의 집합체, 저장장치에 저장되어 실행되지 않은 상태로 존재, 수동적예) 앱, .exe 파일프로세스: 프로그램이 메모리에 적재되어 실행 중인 상태, 메모리와 CPU를 사용, 운영체제의 CPU 스케줄링 알고리즘에 따라서 실행, 입력과 출력을 통해 능동적으로 작용예) 실행 중인 앱, 브라우저 3. 멀티프로그래밍과 멀티프로세싱이 어떻게 다른가요?멀티프로그래밍: 한 CPU에서 여러 프로세서를 번갈아 실행하여 CPU의 쉬는 시간을 줄이는 기술멀티프로세싱 : 여러개의 CPU(멀티프로세서)를 사용하여 여러 작업을 동시에 처리하는 기술4. 운영체제는 프로세스를 관리하기 위해서 어떤 것을 사용하나요?프로세스의 정보를 가지고 있는 PCB(ProcessControlBlock)를 저장, CPU 스케쥴링 사용 5. 컨텍스트 스위칭이란 뭔가요?프로세스를 실행하는 중에 다른 프로세스를 실행하기 위해 실행중인 프로세스 상태를 저장하고 다른 프로세스의 상태 값으로 교체하는 작업발생하는 이유는?CPU 점유시간이 다 되거나 입출력 요청이 있거나 다른 종류의 인터롭트가 있을 때 발생     

알고리즘 · 자료구조운영체제CS전공지식3기1주차미션

채널톡 아이콘