CS/운영체제

운영체제 2024.7.5

infobox503 2024. 7. 5. 15:12

운영체제3

21. 선점, 비선점 설명

  • 선점(preemption)
    • 의미 : 프로세스가 CPU를 할당받았을 때, 운영체제가 CPU를 강제로 빼앗아서 다른 프로세스에 할당 가능
    • 예시 상황
      • interrupt
  • 비선점(non-preemption)
    • 의미 : 프로세스가 CPU를 할당받았을 때, 다른 프로세스가 CPU를 빼앗을 수 없는 방식

22. 동시성, 병렬성 설명

  • 동시성
    • 여러 작업이 동시에 실행되는 것 처럼 보이게 하는것
    • Context Switching을 통해 여러 작업을 번갈아가면서 실행시킴
    • 사용 코어 : 싱글 코어
    • 동작 방식 : 싱글 코어에서 멀티 쓰레드를 동작
  • 병렬성
    • 여러 작업을 동시에 실행시킴
    • 여러 프로세스를 동시에 실행시킴
    • 사용 코어 : 멀티 코어
    • 동작 방식 : 멀티 코어에서 멀티 쓰레드 동작(각 프로세스에 있는 쓰레드들을 동작)

23. 인터럽트 설명

인터럽트

  • 의미
    • 입출력 관리자가 CPU에게 보내는 완료 신호
    • 예외 상황에 대한 신호
      • 신호를 보내는 곳은 입출력 관리자, 운영체제 등 다양함
  • CPU는 인터럽트가 오면 하던 작업을 중단하고, 인터럽트의 작업을 수행함
  • 예시
    • CPU는 입출력 관리자에게 입출력 명령을 보냄
    • 입출력 관리자는 해당 명령을 수행
    • 입출력 관리자는 CPU에게 완료 신호를 보냄(인터럽트)
    • CPU는 인터럽트 다음 과정의 작업을 수행

24. System Call이란?

  • 의미
    • 사용자, 응용 프로그램이 커널의 기능을 사용하기 위한 인터페이스
  • 장점
    • 운영체제는 시스템 콜을 통해 컴퓨터 자원을 보호
    • 사용자, 응용 프로그램에게 서비스를 제공 가능
  • 예시
    • 프로세스 제어
      • ex) 프로세스 끝내기, 중지 등
    • 파일 조작
      • ex) 파일 생성, 삭제 등
    • 장치 관리
      • ex) 하드웨어 상태 정보 조회 등
    • 통신
      • ex) 통신 연결 생성, 제거 등

25. 메모리 종류 설명. 종류가 여러 개인 이유?

  • 종류(CPU와 가까운 순서)
    • 레지스터
      • CPU 레지스터
    • 캐시(SRAM)
      • 메인 메모리에 저장된 내용의 일부를 임시로 저장
    • 주기억장치(RAM, 메인 메모리)
      • CPU가 직접 접근 할 수 있는 기억장치
    • 보조기억장치
      • 전원이 꺼져도 내용을 잃지 않는 메모리 보조 역할
      • ex) 하드디스크, SSD, USB
  • 종류가 여러 개인 이유
    • 비용
      • 레지스터, 캐시는 비교적 속도가 빠름
      • 하지만 비용이 비교적 비쌈
      • 따라서 레지스터, 캐시 위주로 메모리를 배치하면 비용이 비쌈
    • 속도
      • 레지스터> 캐시> 주기억장치,>보조기억장치 순으로 속도가 빠름.
      • 각 메모리마다 속도 차이가 있으므로, 접근 속도에 따라 구분하기 위해 메모리 종류를 여러 개로 나눔.

※ 레지스터

  • cpu가 지니고 있는 저장 공간
  • 가장 자주 이용하는 데이터 보관

26. OS가 메모리를 관리해야 하는 이유? 메모리 관리를 위한 전략으로 어떤 것을 사용하는가?

  • 운영체제(OS, Operating System)
  • OS가 메모리를 관리하는 이유
    • OS만이 운영체제, 사용자 메모리 영역에 접근 가능
      • 프로세스는 독립된 메모리 공간을 갖는다.
      • 따라서 상대 프로세스의 메모리 공간에 접근할 수 없다.
  • 메모리 관리 전략
    • 단일 사용자 연속 메모리 할당
      • 메모리 전체를 프로세스 1개에 할당
    • 분할
      • 페이징
        • 물리 메모리를 고정 크기로 나눔
      • 세그멘테이션
        • 물리 메모리를 논리적인 내용을 토대로 나눔
          • 논리적인 내용
            • 분할에 대한 기준
    • 가상 메모리 활용
      • 페이징 기법
        • 메모리를 동일한 크기로 나눔
        • 구조
          • 가상 주소 → 페이지 테이블 → 물리 주소
            • 가상 주소 : 임의의 프로세스 A 저장
            • 물리 주소 : 프로세스 A 실행
      • 세그멘테이션 기법
        • 메모리를 프로세스 크기에 맞게 나눔
        • 구조
          • 가상 주소 → 세그먼테이션 테이블 → 물리 주소
            • 가상 주소 : 임의의 프로세스 A 저장
            • 물리 주소 : 프로세스 A 실행

27. 메모리의 fit 종류 4가지

  • 의미
    • RAM에 작업을 배치하는 방법 4가지
  • First fit
    • 메모리의 처음부터 검사해서, 크기가 충분한 첫번째 메모리에 할당
  • Next fit
    • 메모리의 마지막에서 부터 크기가 충분한 메모리에 작업 할당
  • Best fit
    • 모든 메모리 공간을 스캔 후, 내부 단편화를 최소화 하는 곳에 작업 할당
  • Worst fit
    • 남은 공간 중 가장 큰 공간에 작업 할당

※ 내부 단편화

  • 작업 크기보다 할당된 메모리 크기가 커서 메모리가 낭비 되는 상황
  • 해당 낭비된 메모리 공간을 내부 단편화라고 함

※ 외부 단편화

  • 총 메모리 크기가 작업 크기보다 큰 상황이지만,
  • 분할된 메모리의 최대 크기가 작업 크기보다 작아서 작업을 할당할 수 없는 상황
  • 작업 크기 - 분할된 메모리 최대 크기의 차이값을 외부 단편화라고 함.

28. 페이징, 세그멘테이션 설명

  • 페이징
    • 균등한 크기로 가상, 물리 메모리 공간을 분할하여 사용
    • 과정
      • 주소 공간을 페이지 크기 단위로 분할
      • 물리 메모리 공간을 페이지 크기 단위로 분할
        • 물리 메모리 공간의 페이지는 프레임이라고 부름
      • 프로세스는 페이지 크기 단위로 주소 공간에 저장
        • 쪼개진 프로세스는 불연속적으로 주소 공간 페이지에 저장됨
        • (남는 페이지가 연속적으로 존재하지 않을 수 있으니 불연속)
      • 페이지 테이블은 프로세스의 가상, 물리 주소를가짐
      • 가상 공간의 프로세스는 페이지 테이블에 적인 주소를 통해, 물리 주소에 접근
      • 페이지의 프로세스는 물리 공간의 프레임을 할당받고 실행

※페이지 : 가상 메모리를 일정한 크기로 나눈 블록

※프레임 : 물리 메모리를 일정한 크기로 나눈 블록

※페이지 크기 = 프레임 크기

  • 세그멘테이션
    • 가변적인 크기로 가상, 물리 메모리 공간을 분할하여 사용
    • 가상 공간(세그멘트), 세그멘테이션 테이블, 물리 공간(세그멘트)이 사용됨
    • 세그멘테이션 테이블은 페이지 테이블과는 다르게 limit정보가 포함됨
      • limit : 세그멘트의 크기 정보(자신에게 주어진 분할 크기)
        • limit을 넘어서 정보를 읽으면 문제가 되니 limit정보 포함함

29. 내부 단편화, 외부 단편화 설명

  • 단편화
    • 메모리에서 사용하지 못할 만큼의 작은 공간
  • 내부 단편화(페이지에서 발생)
    • 작업 크기보다 할당된 메모리 크기가 커서 메모리가 낭비 되는 상황
    • 해당 낭비된 메모리 공간을 내부 단편화라고 함
  • 외부 단편화(세그멘테이션에서 발생)
    • 총 메모리 크기가 작업 크기보다 큰 상황이지만,
    • 분할된 메모리의 최대 크기가 작업 크기보다 작아서 작업을 할당할 수 없는 상황
    • 작업 크기 - 분할된 메모리 최대 크기의 차이값을 외부 단편화라고 함.

30. 가상 메모리 설명

  • 프로세스 전체가 물리 메모리에 없더라도 실행 가능하게 하는 기법
  • 프로세스를 실행하는 데 필요한 부분만 물리 메모리 공간에 둔다. 나머지 부분은 보조기억장치에 보관
  • 장점
    • 상대적으로 더 많은 프로세스 실행 가능
  • 단점
    • 속도가 떨어짐(보조기억장치를 이용하므로)

'CS > 운영체제' 카테고리의 다른 글

운영체제4 (2024.7.6)  (0) 2024.07.06
운영체제 2024.7.4  (0) 2024.07.04
운영체제 2024.7.3  (1) 2024.07.03