CS지식 쌓기
운영체제
류도토리
2024. 1. 2. 17:13
- 운영체제란?
- 프로그램 실행에 있어 마땅히 필요한 요소
- 컴퓨터의 네 가지 핵심 부품 포함
- 실행할 프로그램에 필요한 자원을 할당
- 프로그램이 올바르게 실행되도록 돕는 특별한 프로그램
- 메모리의 커널 영역에 적재되어 실행되는 프로그램
- 실행 순서 및 얼마나 실행할지 정해줌
- 현존하는 프로그램 중 규모가 가장 큰 프로그램 중 하나
- 커널
- 운영체제의 핵심 서비스를 담당하는 부분
- 유저 인터페이스
- 운영체제에 속하지만 커널에 속하지 않음
- 이중 모드
- CPU가 명령어를 실행하는 모드를 크게 사용자 모드와 커널 모드로 구분하는 방식
- 사용자 모드
- 운영체제의 서비스를 제공 받을 수 없는 실행 모드
- 커널 영역의 코드를 실행할 수 없는 실행 모드
- 자원 접근 불가
- 커널 모드
- 운영체제의 서비스를 제공 받을 수 있는 실행 모드
- 자원 접근을 비롯한 모든 명령어 실행 가능
- 시스템 호출
- 커널 모드로 전환하여 실행하기 위해 호출
- 일종의 소프트웨어 인터럽트
- 운영체제의 핵심 서비스
- 프로세스 관리
- 프로세서 = 실행 중인 프로그램
- 수많은 프로세스들이 동시에 실행
- 동시다발적으로 생성.실행,삭제되는 프로세스를 일목요연하게 관리
- 자원 접근 및 할당
- CPU 스케줄링 : 어떤 프로세스를 먼저, 얼마나 오래 실행할까?
- 메모리 (페이징, 스와핑…)
- 입출력장치
- 파일 시스템 관리
- 관련된 정보를 파일이라는 단위로 저장 장치에 보관
- 파일들을 묶어 폴더(디렉토리) 단위로 저장 장치에 보관
- 프로세스 관리