[컴퓨터 구조]운영체제 시작하기

Ethan·2023년 8월 21일
0

1.운영체제를 알아야 하는 이유

1-1. 운영체제란?

실행할 프로그램에 필요한 자원을 할당하고, 프로그램이 올바르게 실행되도록 돕는 특별한 프로그램이다.

  • 프로그램 실행에 마땅히 필요한 요소(CPU, 메모리, 보조기억장치, 입출력장치 등등...)을 시스템자원, 자원 이라고 한다.


운영체제는 특별한 프로그램이기에 메모리 내 커널 영역에 따로 적재되어 실행된다. 즉, 운영체제는 커널영역에 적재되어 사용자 영역에 적재된 프로그램들에 자원을 할당하고 이들이 올바르게 실행되도록 돕는다(메모리관리, cpu관리, 입출력장치 관리).

1-2. 운영체제를 알아야 하는 이유

운영체제 덕분에 개발자는 하드웨어를 조작하는 코드를 직접 작성할 필요 없이 운영체제의 도움을 받아 간편하게 개발 할 수 있는데 그러기 위해서는 운영체제와의 대화로 하드웨어ㅘ 프로그램을 더 깊이 이해하고 문제 해결의 실마리를 찾을 수 있습니다.

2. 운영체제의 큰 그림

2-1. 운영체제의 심장, 커널

2-2. 이중모드와 시스템 호출

운영체제는 이중모드를 통해 사용자가 실행하는 응용프로그램이 하드웨어 자원에 직접 접근하는 것을 방지하여 자원을 보호합니다.

  • 사용자 모드: 커널역역의 코드를 실행할 수 없는 상태 (슈퍼바이저 플래그 0)
  • 커널모드 : 커널영역 코드 실행 가능(슈퍼바이저 플래그 1)
  • 시스템 호출(System call) : 사용자 모드에서 커널모드로 전환하기위한 소프트웨어 인터럽트

2-3. 운영체제의 핵심서비스

프로세스 관리, 자원접근 및 할당(메모리관리, cpu관리, 입출력장치 관리), 파일 시스템 관리

profile
코딩하는 알파카

0개의 댓글