컴퓨터 공학 | 퀴즈 (4)

Faithful Dev·2025년 1월 27일

컴퓨터 공학

목록 보기
42/81

운영체제의 기본 개념

운영체제의 역할과 구성요소

  1. 운영체제(OS)는 컴퓨터 하드웨어와 사용자를 연결하는 인터페이스 역할을 한다.
  2. 쉘은 사용자가 운영체제와 상호작용할 수 있도록 돕는 프로그램이다.
  3. 운영체제는 하드웨어뿐만 아니라 응용 프로그램이 필요로 하는 시스템 자원을 효율적으로 관리한다.
  4. 주요 기능으로는 프로세스 관리, 메모리 관리, 파일 시스템 관리, 입출력 관리 등이 있다.
  5. 하드웨어 요청을 처리하는 것은 운영체제가 아니라, 하드웨어 인터페이스를 통한 드라이버나 펌웨어의 역할이다.

운영체제의 주요 기능과 역할

  1. 운영체제는 다중 프로세스 환경에서 실행 우선순위를 관리하여 응용 프로그램 실행을 제어한다.
  2. 멀티태스킹을 지원해 여러 응용 프로그램이 동시에 실행되도록 한다.
  3. 운영체제는 사용자 계정 관리는 가능하지만, 응용 프로그램 사용자를 직접 관리하지 않는다.
  4. Instruction set은 운영체제가 아닌 CPU 아키텍처에서 제공되는 명령어 집합이다.

프로세스 관리

프로세스 메모리 구조

프로세스 메모리 구조는 일반적으로 코드(Code), 데이터(Data), 힙(Heap), 스택(Stack) 영역으로 나뉜다.
1. Code 영역: 실행할 프로그램의 명령어(코드)가 저장되는 공간.
2. Data 영역: 전역 변수와 정적 변수 등이 저장되는 공간.
3. Heap 영역: 런타임 시 동적으로 할당되는 메모리 공간.
4. Stack 영역: 함수 호출 시 생성되는 지역 변수와 반환 주소 등이 저장되는 공간.

프로세스 스케줄링과 시스템 유형

  1. 시분할 시스템은 다중 사용자를 지원하며, 응답시간을 최소화하기 위해 각 프로세스에 제한된 CPU 시간을 할당한다.
  2. 멀티태스킹은 단일 CPU에서 여러 작업이 동시에 실행되는 것처럼 보이게 만드는 스케줄링 기술이다.
  3. 멀티프로그래밍은 CPU 활용도를 최대화하기 위해 여러 프로그램을 메모리에 적재하여 관리하는 방식이다.
  4. 멀티프로세싱은 여러 CPU를 사용해 병렬로 작업을 처리하는 시스템으로, 단일 CPU와는 다르다.

선점형 스케줄러의 특징

  1. 선점형 스케줄러는 우선순위가 높은 프로세스가 실행 중인 프로세스를 강제로 중단하고 CPU를 차지할 수 있는 방식이다.
  2. 이는 응답 시간이 중요한 실시간 시스템에서 자주 사용된다.
  3. 비선점형 스케줄링과 달리, 현재 실행 중인 프로세스가 종료되지 않아도 스케줄링이 발생할 수 있다.
  4. FIFO 스케줄러는 비선점형 방식에 가깝고, 선점형 스케줄링과는 무관하다.

시스템 구성과 제어

멀티프로세싱의 특징과 오해

  1. 멀티프로세싱하나의 CPU가 아닌 여러 CPU를 활용하여 병렬 처리를 수행하며, 실행 속도를 높이는 데 기여한다.
  2. 배치 프로세싱과 달리 멀티프로세싱은 여러 CPU를 활용하여 하나의 응용 프로그램을 병렬로 실행하거나 여러 프로그램을 동시에 실행할 수 있다.
  3. 멀티프로세싱은 스케줄링 기법이 아니라 하드웨어 기반의 병렬 처리 기술이다.
  4. 특정 응용 프로그램의 실행 시간이 길어도, 멀티프로세싱에서는 다른 CPU에서 병렬로 작업이 진행되므로 기다림이 줄어든다.
  5. 멀티프로세싱과 멀티태스킹은 다른 개념으로, 멀티태스킹은 단일 CPU에서 작업 간 전환으로 이루어진다.

인터럽트의 목적과 필요성

  1. 인터럽트는 입출력 하드웨어와 CPU 간의 효율적인 커뮤니케이션을 가능하게 한다.
  2. 선점형 스케줄러 구현은 인터럽트가 없어도 가능하며, 인터럽트는 필수 조건이 아니다.
  3. 예외 상황(예: 0으로 나누기, 메모리 접근 오류 등)을 처리하기 위해 인터럽트를 활용한다.
  4. 비선점형 스케줄러는 인터럽트 없이도 동작하며, 주로 프로세스가 자발적으로 CPU를 반환할 때 사용된다.

인터럽트 벡터 테이블(IDT)의 역할

  1. IDT(Interrupt Descriptor Table)는 인터럽틑 번호와 해당 인터럽트 처리 루틴의 주소를 저장하는 데이터 구조이다.
  2. CPU는 인터럽트 발생 시 IDT를 참조하여 적절한 처리 루틴을 실행한다.
  3. PCB(Process Control Block)는 프로세스의 상태 정보를 저장하며, 인터럽트 처리와는 직접 관련이 없다.
  4. SP(Stack Pointer)JOB은 인터럽트 처리 루틴의 주소를 기록하지 않는다.

입출력 시스템

I/O Device (입출력 장치)

I/O device는 Input(입력) 또는 Output(출력) 기능을 수행하는 장치를 의미한다.

  • 입력 장치: 키보드, 마우스, 마이크 등.
  • 출력 장치: 모니터, 스피커, 프린터 등.
  • 네트워크 장치는 데이터 송수신에 사용되지만, I/O 장치로 간주되기도 한다.
  • CPU는 데이터 처리를 담당하며, I/O 장치가 아니다.

운영 방식

배치 처리 시스템 (Batch Processing System)

배치 처리 시스템은 여러 작업(Job)을 모아 한꺼번에 처리하는 방식으로, 사용자와의 실시간 상호작용 없이 실행된다.

  • 작업들은 실행 순서에 따라 순차적으로 처리된다.
  • 이 시스템은 주로 데이터 처리, 급여 계산 등 반복적이고 대량 작업에 사용된다.
  • 대화형(interactive) 시스템과 달리 응답 속도는 중요하지 않다.
profile
Turning Vision into Reality.

0개의 댓글