Cute Running Puppy
반응형

전체 글 124

[운영체제] 면접 예상 질문 & 답변 모음 - 인터럽트(interrupt)

2. 인터럽트가 무엇인지 설명해 주세요 인터럽트는 cpu의 작업을 방해하는 신호로 명령어 사이클이 끊어지는 상황을 의미합니다. 명령어 사이클: 하나의 명령어를 처리하는 정형화된 흐름 인터럽트는 동기 인터럽트와 비동기 인터럽트로 구분할 수 있습니다 a. 동기 인터럽트 예) cpu가 실행하는 프로그램상의 오류 CPU에 의해 발생하는 인터럽트로 예외 (exception)이라고 부릅니다. b. 비동기 인터럽트 예) cpu가 요구한 작업을 마친 입출력 장치가 보내는 완료 알림 예) 입출력 장치가 입력을 받은 후 이를 처리하기 위한 입력 알림 주로 입출력 장치에 의해 발생하는 인터럽트로 하드웨어 인터럽트라고 부릅니다. 2-1. 인터럽트는 어떻게 처리하나요 인터럽트 신호가 발생했을 때 cpu는 인터럽트 플래그를 통해..

[운영체제] 면접 예상 질문 & 답변 모음 - 시스템 콜(system call)

1. 시스템 콜이 무엇인지 설명해 주세요 시스템 콜은 사용자 모드에서 운영체제 서비스를 제공받기 위한 요청으로 시스템 콜 요청시 사용자 모드에서 커널 모드로 전환되어 cpu 자원에 접근할 수 있습니다. 이중 모드: cpu가 명령어를 실행하는 모드를 "사용자 모드"와 "커널 모드"로 구분하는 방식 - 사용자 모드 : 운영체제 서비스를 제공받을 수 없는 실행 모드 : 커널 영역의 코드를 실행할 수 없는 모드 (자원 접근 불가) - 커널 모드 : 운영체제 서비스를 제공받을 수 있는 실행 모드 : 커멀 영역의 코드를 실행할 수 있는 모드 (자원 접근 명령어 실행 가능) 1-1. 우리가 사용하는 시스템 콜의 예시를 들어주세요 대표적인 시스템 콜으로 fork(), exec(), wait(), exit()가 존재합니..

[혼공학습단 11기] 혼공 챌린지 완주 후기

기간: 2024년 1월 2일 ~ 2월 15일 (약 6주) 선택 교재: 혼자 공부하는 컴퓨터 구조 + 운영체제 관련 링크: [혼공학습단 11기] 스터디 활동과 도서별 커리큘럼 안내 » 혼자 공부하는 책 (hanbit.co.kr) [혼공학습단 11기] 스터디 활동과 도서별 커리큘럼 안내 안녕하세요, 한빛미디어 혼공학습단의 🧙‍♀️혼공족장🧙‍♀️입니다. 혼공학습단 활동과 도서별 커리큘럼 안내 드립니다. 11기 활동 기간 1주차: 1월 2일 ~ 1월 7일 2주차: 1월 8일 ~ 1월 14 hongong.hanbit.co.kr 24년 1월 1주차 부터 약 6주간 혼공학습단 11기에 참여했습니다. 본격적인 취업 준비에 앞서 전공 지식을 다시 한번 복습하면 좋을 것 같아 신청하게 되었습니다. 21년에 혼공 학습단 6..

회고 2024.02.15

[혼공 학습단 11기] 6주차 미션

기본 미션 p.400 확인 문제 1번 1. 메모리 할당 방식에 대한 설명으로 올바른 것을 다음 보기에서 찾아 써 보세요. (보기) 최초 적합, 최적 적합, 최악 접합 (①): 최초로 발견한 적재 가능한 빈 공간에 프로세스를 배치하는 방식 (②): 프로세스가 적재될 수 있는 가장 큰 공간에 프로세스를 배치하는 방식 (③): 프로세스가 적재될 수 있는 가장 작은 공간에 프로세스를 배치하는 방식 정답 ① : 최초 적합 ②: 최악 적합 ③: 최적 적합 해설 메모리 할당 방식 최소 적합 적재할 수 있는 공간을 발견하면 바로 그 공간에 프로세스 배치 검색 최소화, 빠른 할당 최적 적합 적재할 수 있는 공간 중 가장 작은 공간에 프로세스 배치 최악 적합 적재할 수 있는 공간 중 가장 큰 공간에 프로세스 배치 선택 미..

[혼공컴운] chapter 14. 가상 메모리

14-1. 연속 메모리 할당 - 연속 메모리 할당: 프로세스에 연속적인 메모리 공간을 할당하는 것 스와핑 현재 실행되지 않는 프로세스를 쫓아내고 생긴 빈 공간에 다른 프로세스를 적재하여 실행하는 방식 - 스왑 영역: 프로세스들이 쫒겨나는 보조기억장치의 일부 영역 - 스왑 아웃: 현재 실행되지 않는 프로세스가 스왑 영역으로 옮겨지는 것 - 스왑 인: 스왑 영역에 있던 프로세스가 다시 메모리로 옮겨오는 것 (이전과 다른 메모리 주소에 적재될 수 있음) -> 실제 메모리 크기보다 요구하는 메모리가 클 때 활용 가능 메모리 할당 최소 적합 적재할 수 있는 공간을 발견하면 바로 그 공간에 프로세스 배치 검색 최소화, 빠른 할당 최적 적합 적재할 수 있는 공간 중 가장 작은 공간에 프로세스 배치 최악 적합 적재할 ..

[혼공컴운] chapter 13. 교착 상태

13-1. 교착 상태란 - 교착 상태: 두 개 이상의 프로세스가 자원을 기다리며 진행이 멈춰 버리는 현상 식사하는 철학자 문제 동그란 원탁에 5명의 철학자, 5개의 음식, 5개의 포크 음식은 2개의 포크로 먹을 수 있음 식사 진행 순서 1. 왼쪽 포크가 사용 가능하면 집어 든다 2. 오른쪽 포크가 사용 가능하면 집어 든다 3. 포크 2개를 집어 들면 정해진 시간 동안 식사를 한다 4. 식사 시간이 끝나면 오른쪽 포크를 내려놓는다 5. 왼쪽 포크를 내려 놓는다 6. 1 ~ 5 과정을 반복한다 이러한 과정으로 식사를 한다고 했을 때 모든 철학자가 동시에 포크를 들어 식사를 하면 어떤 철학자도 식사를 할 수 없다 즉, 모든 철학자는 다른 철학자가 포크를 내려놓을 때까지 기다려야 한다 프로세스 / 스레드 자원 ..

[혼공 학습단 11기] 5주차 미션

기본 미션 p.363 확인 문제 1번 1. 뮤텍스 락과 세마포에 대한 설명으로 옳지 않은 것을 고르세요. ① 뮤텍스 락은 임계 구역을 잠근 뒤 임계 구역에 진입함으로써 상호 배제를 위한 동기화를 이룹니다. ② 세마포는 공유 자원이 여러 개 있는 상황에서도 이용할 수 있습니다. ③ 세마포를 이용해 프로세스 실행 순서 제어를 위한 동기화도 이룰 수 있습니다. ④ 세마포를 이용하면 반드시 바쁜 대기를 해야 합니다. 정답 ④ 세마포를 이용하면 반드시 바쁜 대기를 해야 합니다. 해설 ① 뮤텍스 락은 임계 구역을 잠근 뒤 임계 구역에 진입함으로써 상호 배제를 위한 동기화를 이룹니다. - 뮤텍스 락은 자물쇠를 이용하여 임계 구역에 진입하는 방식으로 상호 배제를 위한 동기화를 이룸 - 잠그고 -> 사용하고 -> 풀고 ..

[혼공컴운] chapter 12. 프로세스 동기화

12-1. 동기화란 동기화 목적: 협력하는 프로세스들의 실행 순서와 자원의 일관성을 보장하기 위해 동기화의 의미 협력적인 프로세스를 올바르게 실행하기 위해서 프로세스 사이의 수행 시기를 맞추는 것 - 프로세스 동기화: 프로세스 사이의 수행 시기를 맞추는 것 1. 실행 순서 제어 동기화: 올바른 순서대로 실행 2. 상호 배제 동기화: 동시 접근 불가 프로세스에 한 프로세스만 접근 1. 실행 순서 제어를 위한 동기화 읽고, 쓰는 프로세스가 있을 때 읽기 프로세스는 쓰기 프로세스 뒤에 와야 한다 2. 상호 배제를 위한 동기화 동시에 접근해서는 안 되는 자원에 동시에 접근하지 못하게 하는 것 한 프로세스가 올바르게 종료되지 않고 다른 프로세스가 접근한다면 올바르지 못한 값이 나올 수 있음 process A: 2..

[혼공학습단 11기] 혼공컴운 4주차 미션

기본 미션 1. P.304 확인 문제 1번 문제 다음은 프로세스 상태를 보여주는 프로세스 상태 다이어그램입니다. 1부터 5까지 올바른 상태를 적어보세요 정답 생성 상태 준비 상태 실행 상태 종료 상태 대기 상태 해설 프로세스 상태 1. 생성 상태 (new) 프로세스를 생성중인 상태 메모리에 적재되어 PCB를 할당 받은 상태 실행할 준비가 되면 준비 상태로 이동 2. 준비 상태 (ready) cpu 할당 차례를 기다리는 상태 3. 실행 상태 (running) cpu를 할당 받아 실행중인 샅애 할당된 시간 동안만 cpu 사용 가능 할당된 시간을 모두 사용한다면 다시 준비 상태로 이동 4. 대기 상태 (blocked) 입출력장치의 작업을 기다리는 상태 입출력 작업이 완료되면 준비 상태로 변경 5. 종료 상태 ..

[혼공컴운] chapter 11. CPU 스케줄링

11-1. CPU 스케줄링 개요 운영체제가 프로세스들에게 CPU 자원을 배분 하는 것 PCB에 명시되어 있음 프로세스 우선순위 우선순위가 높은 프로세스를 먼저 처리하는 것이 효율적 입출력 집중 프로세스 입출력이 많은 프로세스 예) 비디오 재생, 디스크 백업 등 실행 상태보다 입출력을 위한 대기 상태에 많이 머무름 CPU 집중 프로세스 CPU 작업이 많은 프로세스 예) 수학연산, 컴파일, 그래픽 처리 등 대기 상태보다 실행 상태에 많이 머무름 CPU 버스트 CPU를 사용하는 작업 입출력 버스트 입출력장치를 기다리는 작업 CPU 집중 프로세스와 입출력 집중 프로세스가 동일한 빈도로 CPU를 사용하는 것은 비합리적 입출력 집중 프로세스를 빨리 실행시켜 입출력 장치를 끊임없이 작동시키고 CPU 집중 프로세스에 ..

[혼공컴운] chapter 10. 프로세스와 스레드

10-1. 프로세스 개요 포그라운드 프로세스 사용자가 볼 수 있는 공간에서 실행되는 프로세스 백그라운드 프로세스 사용자가 볼 수 없는 공간에서 실행되는 프로세스 데몬(유닉스), 서비스(윈도우) 사용자와 상호작용하지 않고 정해진 일 만 수행하는 백그라운드 프로세스 프로세스 제어 블록 (PCB) 빠르게 번갈아 수행되는 프로세스의 실행 순서를 관리하고, 프로세스에 cpu와 같은 지원을 배분할 때 사용 프로세스와 관련된 정보를 저장하는 자료구조 커널 영역에 생성 특정 프로세스 식별, 처리 정보 저장 프로세스 생성시 만들어지고, 실행이 끝나면 폐기 새로운 프로세스 생성 == PCB 생성 프로세스 종료 == PCB 제거 PCB에 저장되는 항목 1. 프로세스 ID (PID) 프로세스 식별 번호 2. 레지스터 값 해당..

[혼공컴운] chapter 09. 운영체제 시작하기

09-1. 운영체제를 알아야 하는 이유 운영체제란 프로그램에 자원을 할당하고 프로그램이 올바르게 실행되도록 돕는 프로그램 (시스템) 자원: 프로그램 실행에 필요한 요소들 cpu, 메모리, 보조기억장치, 입출력 장치와 같은 부품 커널 영역: 부팅시 운영체제가 적재되어 실행되는 공간 사용자 영역: 응용 프로그램이 적재되는 공간 (커널 영역을 제외한 나머지 공간)운영체제를 알아야 하는 이유운영체제를 통해 하드웨어의 상태, 코드 실행 상태, 문제 상황 등을 파악할 수 있기 때문 하드웨어와 프로그램을 깊이 이해할 수 있음 09-2. 운영체제의 큰 그림 운영체제의 심장, 커널 자원 접근, 조작, 프로그램 안전 실행 등 운영체제의 핵심 서비스를 담당하는 부분 사용자 인터페이스: 커널에 포함되지 않는, 사용자와 상호작..

[혼공학습단 11기] 혼공컴운 3주차 미션

기본 미션 1. P.185 확인 문제 3번 문제 3. 다음 설명을 읽고 SRAM에 대한 설명인지 DRAM에 대한 설명인지 쓰세요. [보기| SRAM, DRAM] - 주로 캐시 메모리로 활용됩니다. [ (1) ] - 주로 주기억장치로 활용됩니다. [ (2) ] - 대용량화하기 유리합니다. [ (3) ] - 집적도가 상대적으로 낮습니다. [ (4) ] 정답 1. SRAM 2. DRAM 3. DRAM 4. SRAM 해설 DRAM dynamic RAM 저장된 데이터가 동적으로 변하는(사라지는) RAM 데이터의 소멸을 막기 위해 일정 주기로 데이터를 재활성화(다시 저장) 해야 한다 소비전력이 비교적 낮고, 저렴하고, 집적도가 높기에 일반적으로 사용하는 메모리 SRAM static RAM 저장된 데이터가 변하지 않..

[혼공컴운] chatper 08. 입출력 장치

08-1. 장치 컨트롤러와 장치 드라이버 장치 컨트롤러 입출력 장치는 너무 다양하다 cpu에 비해 속도가 매우 느리다 이러한 이유로 입출력 장치는 컴퓨터에 직접 연결되지 않고 장치 컨트롤러라는 하드웨어를 통해 연결된다 장치 컨트롤러는 입출력 제어기, 입출력 모듈 등으로 다양하게 불린다 위의 문제 해결 방법 cpu와 입출력장치 간의 통신 중계 오류 검출 데이터 버퍼링 : 전송률이 높은 장치와 낮은 장치 사이에 주고받는 데이터를 버퍼라는 임시 공간에 저장하여 전송률을 비슷하게 맞추는 방법 장치 컨트롤러의 내부 구조 데이터 레지스터 cpu와 입출력 장치 사이에 주고받을 데이터가 담기는 레지스터 버퍼역할을 함 주고 받는 데이터가 많은 입출력 장치에서는 레지스터 대신 RAM을 사용 상태 레지스터 입출력 작업을 할..

[혼공컴운] chatper 07. 보조기억장치

07-1. 다양한 보조기억장치 하드디스크 자기 디스크의 일종으로 취급하기도 함 자기적인 방식으로 데이터를 저장하는 보조기억장치 탐색 시간: 접근하려는 데이터가 저장된 트랙까지 헤드를 이동시키는 시간 회전 지연: 헤드가 있는 곳으로 플래터를 회전시키는 시간 전송 시간: 하드 디스크와 컴퓨터 간에 데이터를 전송하는 시간 플래시 메모리 USB, SD카드, SSD 전기적으로 데이터를 읽고 쓸 수 있는 반도체 기반 저장 장치 07-2. RAID의 정의와 종류 RAID의 정의 여러 개의 물리적 보조 기억장치를 마치 하나의 논리적 보조 기억장치처럼 사용하는 기술 RAID의 종류 구성 방식에 따라 RAID 0~6으로 나뉨 - RAID 0 (striping) 같은 규격의 디스크를 병렬로 연결 (여러 디스크에 동시 접근)..

[혼공컴운] chatper 06. 메모리와 캐시 메모리

06-1. RAM의 특징과 종류 DRAM dynamic RAM 저장된 데이터가 동적으로 변하는(사라지는) RAM 데이터의 소멸을 막기 위해 일정 주기로 데이터를 재활성화(다시 저장) 해야 한다 소비전력이 비교적 낮고, 저렴하고, 집적도가 높기에 일반적으로 사용하는 메모리 SRAM static RAM 저장된 데이터가 변하지 않는 RAM 시간이 지나도 데이터가 사라지지 않음 (데이터를 재활성 할 필요 없음) DRAM 보다 일반적으로 속도가 빠름 SRAM도 전원이 공급되지 않으면 저장된 내용이 날아간다 SDRAM 클럭 신호와 동기화된 발전된 형태의 DRAM DDR SDRAM 최근 가장 흔히 사용되는 램 대역폭을 넓혀 속도를 빠르게 만든 SDRAM 한 클럭당 하나씩 데이터를 주고받을 수 있는 SDRAM을 SDS..

[혼공학습단 11기] 혼공컴운 2주차 미션

기본 미션 1. P.125 확인 문제 2번 문제 설명에 맞는 레지스터를 보기에서 찾아 빈칸을 채워보세요 [프로그램 카운터, 명령어 레지스터, 플래그 레지스터, 범용 레지스터] (1): 연산 결과 혹은 CPU 상태에 대한 부가 정보를 저장하는 레지스터 (2): 메모리에서 가져올 명령어의 주소를 저장하는 레지스터 (3): 데이터와 주소를 모두 저장할 수 있는 레지스터 (4): 해석할 명령어를 저장하는 레지스터 정답 (1) 플래그 레지스터 (2) 프로그램 카운터 (3) 범용 레지스터 (4) 명령어 레지스터 해설 반드시 알아야 할 레지스터 프로그램 카운터 (PC) 메모리에서 가져올 명령어의 주소 저장 (== 명령어 포인터) 명령어 레지스터 메모리에서 읽어 들인 명령어를 저장하는 레지스터 제어장치는 명령어 레지스..

[혼공 컴운] chapter 05. CPU 성능 향상 기법

05-1. 빠른 CPU를 위한 설계 기법 클럭 컴퓨터 부품들을 움직이는 신호 -> 클럭 신호가 빠르게 반복되면 CPU를 비롯한 컴퓨터 부품들은 더 빠른 박자에 맞추어 움직임 > 클럭 속도 Hz 단위로 측정 CPU로 속도 단위 클럭 속도가 높을수록 CPU의 성능이 좋음 클럭 속도는 일정하지 않다. 유연하게 속도를 변화시킬 수 있다. 오버클럭킹: 최대 클럭 속도를 강제로 끌어올리는 기법 클럭 속도를 무작정 높이면 발열 문제가 심각해짐 클럭 속도만으로 CPU의 성능을 높이는 것은 한계가 있음 코어와 멀티코어 클럭 속도를 높이는 방식 외에 CPU의 성능을 높이는 방법 -> CPU의 코어, 스레드 수 늘리기 > 코어 CPU 내부에서 명령어를 실행하는 부품 > 멀티코어 CPU (== 멀티코어 프로세서) CPU 내에..

[혼공컴운] chapter 04. CPU의 작동 원리

| 참고 도서: 혼자 공부하는 컴퓨터 구조+운영체제 04-1. ALU와 제어 장치 ALU CPU에서 계산을 하는 부품 레지스터를 통해 피연산자와 제어 신호를 받아들인다. 피연산자와 제어신호를 바탕으로 다양한 연산 수행 > ALU의 결과 값을 레지스터에 우선 저장하는 이유 CPU에서 레지스터에 접근하는 속도는 메모리에 접근하는 속도보다 빠르다 접근 속도를 줄여 프로그램의 실행 속도를 높이기 위해 메모리가 아닌 레지스터에 연산의 결괏값을 저장한다. > 플래그 (flag) 연산에 대한 추가적인 상태 정보 부호, 제로, 캐리, 오버플로우, 인터럽트, 슈퍼바이저 플래그 플래그는 플래그 레지스터에 저장된다. 플래그 레지스터를 통해 연산 결과에 대한 추가적인 정보를 얻을 수 있다. 제어장치 제어 신호를 내보내고, 명..

[혼공학습단 11기] 혼공컴운 1주차 미션

[혼공학습단 11기] 스터디 활동과 도서별 커리큘럼 안내 » 혼자 공부하는 책 (hanbit.co.kr) [혼공학습단 11기] 스터디 활동과 도서별 커리큘럼 안내 안녕하세요, 한빛미디어 혼공학습단의 🧙‍♀️혼공족장🧙‍♀️입니다. 혼공학습단 활동과 도서별 커리큘럼 안내 드립니다. 11기 활동 기간 1주차: 1월 2일 ~ 1월 7일 2주차: 1월 8일 ~ 1월 14 hongong.hanbit.co.kr 1주차 기본 미션 1. P.51 확인 문제 3번 다음 설명의 빈칸에 들어갈 알맞은 내용을 써 보세요 프로그램이 실행되려면 반드시 [ ___ ]에 저장되어 있어야 합니다. 정답 메모리 (P.40 참고) 해설 메모리는 현재 실행되는 프로그램의 명령어와 데이터를 저장하는 부품이다. 그렇기에 만약 프로그램이 실행되기..