minyule.log
로그인
minyule.log
로그인
혼공컴운 챕터 9. 운영체제 시작하기
김민영
·
2023년 2월 4일
팔로우
0
운영체제
0
혼공학습단
목록 보기
7/22
9-1 운영체제를 알아야 하는 이유
운영체제란
시스템 자원, 자원 : 하드웨어
운영체제 : 프로그램에 자원 할당
커널 영역 : 운영체제가 적재되는 공간
사용자 영역 : 커널 영역을 제외한 영역. 사용자가 이용하는 응용 프로그램이 적재되는 영역
필요성
하드웨어, 프로그램 상태 파악 - 깊은 이해
ex. 메모리 누수 현상, 잘못된 주소 참조
9-2 운영체제의 큰 그림
커널
커널
운영체제의 핵심 서비스 담당
자원에 접근, 조작, 프로그램 실행
하드웨어와 응용 프로그램 사이에 위치
사용자 인터페이스
사용자가 컴퓨터와 상호작용할 수 있는 통로
그래픽 유저 인터페이스 GUI
커맨드 라인 인터페이스 CLI
이중 모드, 시스템 호출
운영체제 : 응용 프로그램이 하드웨어 자원에 직접 접근 방지. : 자원 보호
이중 모드
CPU
가 명령어를 실행하는 모드를
사용자 모드
와
커널 모드
로 구분하는 방식
사용자 모드
운영체제 서비스를 제공받을 수 없는 실행 모드
커널 영역의 코드를 실행할 수 없는 모드
응용 프로그램이 실행되는 모드
자원 접근 불가능
커널 모드
운영체제 서비스를 제공받을 수 있는 실행 모드
커널 영역의 코드를 실행할 수 있는 모드
자원 접근 가능
플래그 레지스터의 슈퍼바이저 플래그를 통해 현재 사용자 모드인지, 커널 모드인지 확인할 수 있음.
시스템 호출, 시스템 콜
운영체제 서비스를 제공받기 위한 요청
커널 모드로 전환
소프트웨어 인터럽트
과정
하드웨어에 접근하는 시스템 호출 발생 - 커널 모드로 전환
운영체제 내의 하드웨어에 접근하는 코드 실행하여 하드웨어 접근
하드웨어 접근이 끝나면 사용자 모드로 복귀
핵심 서비스
프로세스 관리
프로세스 : 실행 중인 프로그램
프로세스를 효율적으로 관리 ( 프로세스 동기화, 교착 상태 해결 )
자원 접근 및 할당
CPU
CPU 스케줄링 : CPU를 프로세스에 공정하게 할당
메모리
메모리에 프로세스를 적재할 때, 운영체제는 어느 주소에 적재할지 결정
메모리 할당, 메모리 부족할 경우 처리
입출력장치
인터럽트 서비스 루틴은 운영체제가 제공하는 기능. 커널 영역에 존재
하드웨어 인터럽트 (입출력장치가 발생)도 마찬가지
입출력장치가 CPU에 하드웨어 인터럽트 요청 신호를 보내면, CPU는 하던 일 중단하고, 커널 영역의 인터럽트 서비스 루틴 실행
파일 시스템 관리
디렉토리도 운영체제가 지원하는 서비스
추가
가상머신과 이중 모드
가상 머신
소프트웨어적으로 만든 가상 컴퓨터.
새로운 운영체제와 응용 프로그램을 설치하고 실행할 수 있음.
가상머신도 사용자 모드로 실행되는데, 그러면 가상머신의 리눅스와 같은 운영체제 서비스를 제공받기 어려움
가상화를 지원하는 CPU는
하이퍼 바이저 모드
를 따로 지원
시스템 호출 종류
프로세스 관리
fork(), execve(), exit(), waitpid()
파일 관리
open(), close(), read(), write(), stat()
디렉터리 관리
chdir(), mkdir(), rmdir()
파일 시스템 관리
mount(), unmount()
김민영
노션에 1차 정리합니당 - https://cream-efraasia-f3c.notion.site/4fb02c0dc82e48358e67c61b7ce8ab36?v=
팔로우
이전 포스트
혼공컴운 챕터 8. 입출력장치
다음 포스트
혼공컴운 챕터 10. 프로세스와 스레드
0개의 댓글
댓글 작성