운영체제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만이 운영체제, 사용자 메모리 영역에 접근 가능
- 프로세스는 독립된 메모리 공간을 갖는다.
- 따라서 상대 프로세스의 메모리 공간에 접근할 수 없다.
- OS만이 운영체제, 사용자 메모리 영역에 접근 가능
- 메모리 관리 전략
- 단일 사용자 연속 메모리 할당
- 메모리 전체를 프로세스 1개에 할당
- 분할
- 페이징
- 물리 메모리를 고정 크기로 나눔
- 세그멘테이션
- 물리 메모리를 논리적인 내용을 토대로 나눔
- 논리적인 내용
- 분할에 대한 기준
- 논리적인 내용
- 물리 메모리를 논리적인 내용을 토대로 나눔
- 페이징
- 가상 메모리 활용
- 페이징 기법
- 메모리를 동일한 크기로 나눔
- 구조
- 가상 주소 → 페이지 테이블 → 물리 주소
- 가상 주소 : 임의의 프로세스 A 저장
- 물리 주소 : 프로세스 A 실행
- 가상 주소 → 페이지 테이블 → 물리 주소
- 세그멘테이션 기법
- 메모리를 프로세스 크기에 맞게 나눔
- 구조
- 가상 주소 → 세그먼테이션 테이블 → 물리 주소
- 가상 주소 : 임의의 프로세스 A 저장
- 물리 주소 : 프로세스 A 실행
- 가상 주소 → 세그먼테이션 테이블 → 물리 주소
- 페이징 기법
- 단일 사용자 연속 메모리 할당
27. 메모리의 fit 종류 4가지
- 의미
- RAM에 작업을 배치하는 방법 4가지
- First fit
- 메모리의 처음부터 검사해서, 크기가 충분한 첫번째 메모리에 할당
- Next fit
- 메모리의 마지막에서 부터 크기가 충분한 메모리에 작업 할당
- Best fit
- 모든 메모리 공간을 스캔 후, 내부 단편화를 최소화 하는 곳에 작업 할당
- Worst fit
- 남은 공간 중 가장 큰 공간에 작업 할당
※ 내부 단편화
- 작업 크기보다 할당된 메모리 크기가 커서 메모리가 낭비 되는 상황
- 해당 낭비된 메모리 공간을 내부 단편화라고 함
※ 외부 단편화
- 총 메모리 크기가 작업 크기보다 큰 상황이지만,
- 분할된 메모리의 최대 크기가 작업 크기보다 작아서 작업을 할당할 수 없는 상황
- 작업 크기 - 분할된 메모리 최대 크기의 차이값을 외부 단편화라고 함.
28. 페이징, 세그멘테이션 설명
- 페이징
- 균등한 크기로 가상, 물리 메모리 공간을 분할하여 사용
- 과정
- 주소 공간을 페이지 크기 단위로 분할
- 물리 메모리 공간을 페이지 크기 단위로 분할
- 물리 메모리 공간의 페이지는 프레임이라고 부름
- 프로세스는 페이지 크기 단위로 주소 공간에 저장
- 쪼개진 프로세스는 불연속적으로 주소 공간 페이지에 저장됨
- (남는 페이지가 연속적으로 존재하지 않을 수 있으니 불연속)
- 페이지 테이블은 프로세스의 가상, 물리 주소를가짐
- 가상 공간의 프로세스는 페이지 테이블에 적인 주소를 통해, 물리 주소에 접근
- 페이지의 프로세스는 물리 공간의 프레임을 할당받고 실행
※페이지 : 가상 메모리를 일정한 크기로 나눈 블록
※프레임 : 물리 메모리를 일정한 크기로 나눈 블록
※페이지 크기 = 프레임 크기
- 세그멘테이션
- 가변적인 크기로 가상, 물리 메모리 공간을 분할하여 사용
- 가상 공간(세그멘트), 세그멘테이션 테이블, 물리 공간(세그멘트)이 사용됨
- 세그멘테이션 테이블은 페이지 테이블과는 다르게 limit정보가 포함됨
- 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 |