issues
search
1two13
/
CS
혼자 공부하는 컴퓨터 구조 + 운영체제
2
stars
0
forks
source link
[운영체제 시작하기] 운영체제의 큰 그림
#21
Open
1two13
opened
1 year ago
1two13
commented
1 year ago
커널
운영체제의 핵심 서비스
를 담당하는 부분이다.
핵심 서비스:
자원에 접근하고 조작
하는 기능,
프로그램이 올바르고 안전하게 실행
되게 하는 기능
운영체제가 제공하는 서비스 중
커널에 포함되지 않는 서비스
사용자 인터페이스
(UI): 윈도우 바탕화면과 같이 사용자가 컴퓨터와 상호작용할 수 있는 통로
그래픽 유저 인터페이스(GUI): 그래픽을 기반으로 컴퓨터와 상호작용할 수 있는 인터페이스
커맨드 라인 인터페이스(CLI):
명령어
를 기반으로 컴퓨터와 상호작용할 수 있는 인터페이스
1two13
commented
1 year ago
이중 모드 2️⃣
CPU가 명령어를 실행하는 모드
를 크게
사용자 모드와 커널 모드로 구분
하는 방식이다.
CPU가
어떤 모드로 실행 중
인지는 플래그 레지스터 속
슈퍼바이저 플래그
를 보면 알 수 있다.
1. 사용자 모드
운영체제 서비스를 제공받을 수 없는
실행 모드이다. 즉,
커널 영역의 코드를 실행할 수 없는
모드이다.
일반적인
응용 프로그램
은 기본적으로 사용자 모드로 실행된다.
자원에 접근할 수 없다.
2. 커널 모드
운영체제 서비스를 제공받을 수 있는 실행 모드이다. 즉, 커널 영역의 코드를 실행할 수 있는 모드이다.
모든 명령어를 실행할 수 있다.
자원에 접근할 수 있다.
1two13
commented
1 year ago
시스템 호출(= 시스템 콜)
사용자 모드로 실행되는 프로그램이 운영체제 서비스를 제공받으려면
운영 체제에 요청을 보내 커널 모드로 전환
되어야 한다. 이 때, 보내는 요청을 시스템 호출이라고 한다.
소프트웨어적인 인터럽트
다. 왜냐하면 인터럽트를 발생시키는 특정 명령어에 의해 인터럽트가 발생되기 때문이다.
CPU가 시스템 호출을 처리하는 순서
시스템 호출을 발생시켜 커널 모드로 전환하기
CPU는 지금까지 했던 작업을 백업하고, 운영체제 내의 코드(커널 영역 내에 시스템 호출을 수행하는 코드)를 실행함으로써 자원에 접근하기
자원에 접근이 끝났다면 사용자 모드로 복귀하여 실행 계속 하기
1two13
commented
1 year ago
운영체제가 응용 프로그램에 제공하는 핵심 서비스 3️⃣
1. 프로세스 관리
프로세스:
실행 중인 프로그램
컴퓨터를 사용하는 동안 메모리 안에서는 새로운 프로세스가 생성되고, 사용되지 않는 프로세스는 메모리에서 삭제된다.
CPU는 한 번에 하나의 프로세스만 실행
할 수 있기 때문에 프로세스들을 조금씩 번갈아 가며 실행한다.
2. 자원 접근 및 할당
CPU
CPU 스케줄링: 프로세스들에게 공정하게 CPU를 할당하기 위해, 순서와 시간을 결정할 수 있어야 한다.
메모리
어느 주소에 적재할지 결정한다.
(보조기억장치와)입출력장치
인터럽트를 처리하는 프로그램(인터럽트 서비스 루틴)을 제공함으로써 입출력 작업을 수행한다.
인터럽트 서비스 루틴은 운영체제가 제공하는 기능으로 커널 영역에 있다.
3. 파일 시스템 관리
컴퓨터를 사용할 때 파일들을 관리하는 것
커널
운영체제가 제공하는 서비스 중 커널에 포함되지 않는 서비스