혼자 공부하는 컴퓨터구조 + 운영체제

운영체제 시작

단점이없어지고싶은개발자 2022. 10. 20. 21:00
반응형

데스크톱 운영체제 

  • 윈도우
  • macOS
  • 리눅스

스마트폰 운영체제

  • 안드로이드
  • IOS

운영체제란?

  • 실행할 프로그램에 필요한 자원을 할당하고, 프로그램이 올바르게 실행 되도록 돕는 특별한 프로그램
  • 메모리 내 커널영역(kernel space)라는 공간에 따로 적재되어 실행된다. 커널영역을 제외한 나머지 영역, 사용자가 이용하는 응용 프로그램이 적재되는 영역을 사용자영역이라고 한다.
  • 실행할 프로그램을 메모리에 적재하고, 더 이상 실행되지 않는 프로그램을 메모리에서 삭제하며 지속적으로 메모리 자원을 관리한다.
  • 최대한 공정하게 여러 프로그램에 CPU 자원을 할당한다.
  • 운영체제 서비스로 프로세스 관리, 자원 접근 및 할당, 파일 시스템 관리가 있다.

 

응용프로그램은 사용자가 특정 목적을 위해 사용하는 일반적인 프로그램을 의미. 워드 프로세서, 인터넷 브라우저, 메모장, 게임 등이 응용프로그램이다.

 

커널이란?

  • 프로그램이 올바르고 안전하게 실행되게 하는 기능
  • 어떤 커널을 사용하냐에 따라 실행하고 개발하는 프로그램이 하드웨어를 이용하는 양상이 달라진다. 전체적으로 볼 땐, 컴퓨터 전체의 성능도 달라질 수 있다.
  • 커널에 포함되지 않는 서비스도 있는데 사용자 인터페이스가 대표적이다.

사용자 인터페이스(UI: User Interface)

  • 윈도우의 바탕화면과 같이 사용자가 컴퓨터와 상호작용할 수 있는 통로
  • 그래픽 유저 인터페이스(GUI) - 그래픽을 기반으로 컴퓨터와 상호작용, 커맨드 라인 인터페이스(CLI) - 명령어를 기반으로 컴퓨터와 상호작용으로 나뉜다.

 

운영체제는 응용 프로그램들이 자원에 접근하려고 할 때 오직 자신을 통해서만 접근하도록하여 자원을 보호한다. 이러한 운영체제의 문지기 역할은 이중 모드로써 구현된다.

 

이중모드(dual mode)

  • CPU가 명령어를 실행하는 모드를 크게 사용자 모드와 커널모드로 구분하는 방식.
  • 사용자 모드는 운영체제 서비스를 제공받을 수 없는 실행 모드다. 즉, 커널 영역의 코드를 실행할 수 없는 모드.
  • 커널모드는 운영체제 서비스를 제공 받을 수 있는 실행모드. 즉, 커널 영역의 코드를 실행할 수 있는 모드.
  • 사용자 모드로 실행되는 프로그램이 자원에 접근하는 운영체제 서비스를 제공받으려면 운영체제에 요청을 보내 커널모드로 전환되어야 한다. 이 때 운영체제 서비스를 제공받기 위한 요청을 시스템 호출(system call)이라고 한다.
반응형

'혼자 공부하는 컴퓨터구조 + 운영체제' 카테고리의 다른 글

CPU 스케줄링  (0) 2022.10.27
프로세스와 스레드  (0) 2022.10.22
입출력장치  (0) 2022.10.17
보조기억장치  (0) 2022.10.15
메모리와 캐시 메모리  (0) 2022.10.11