1장 임베디드 운영체제

이세현's avatar
Aug 21, 2024
1장 임베디드 운영체제

1.1 운영체제

  • 프로세스 관리
    • 태스크, 프로세스, 스레드
    • 스케줄링
    • 동기화
    • IPC
  • 저장장치 관리
    • 메모리
    • 가상 메모리
    • 파일 시스템
  • 네트워킹 관리
    • TCP/IP
    • 기타 여러 네트워크 프로토콜
  • 사용자 관리
    • 계정 관리
    • 접근 권한 관리
  • 디바이스 드라이버
    • 순차 접근 장치
    • 임의 접근 장치
    • 네트워크 장치
1.1 프로세스 관리
  • 운영체제에서 작동하는 응용 프로그램을 관리, 어떤 의미에선 프로세서(CPU)를 관리하는 것
    • 현재 CPU를 점유해야 할 프로세스를 결정, CPU 자원을 프로세스에 할당
    • CPU와 프로세스가 여러 개일 때는 공유 자원 접근과 통신 등을 관리
1.2 저장장치 관리
  • 시스템 메인 메모리 (1차), SDD, HDD (2차) 등을 관리하는 기능
    • 메인 메모리 관리
      • 프로세스에 할당하는 메모리 영역을 지정하고 해제
      • 각 메모리 영역 간의 침범 방지 기능
      • 별도의 가상 메모리 관리 하드웨어를 이용한 가상 메모리 기능 제공
    • SDD, HDD 관리
      • 2차 저장장치에는 파일 형태로 데이터를 저장
      • 이 파일 데이터를 관리하는 소프트웨어가 바로 파일 시스템(FAT32, NTFS, exFAT)
      • 운영체제는 서로 다른 파일 시스템 간에 파일 교환 등을 지원하는 식으로 파일 시스템 관리
1.1.3 네트워킹 관리
  • TCP/IP 기반 인터넷에 연결 또는 다른 특별한 프로토콜 기반 네트워크에 연결 할 때
응용 프로그램이 네트워크를 사용하려면 운영체제에서 네트워크 프로토콜을 지원해야 함.
  • 운영체제는 네트워크 프로토콜에 따라 데이터를 처리해서 응용 프로그램이 처리할 수 있는 형태로 전달
  • 마찬가지로 응용 프로그램이 보내는 데이터를 네트워크 프로토콜에 맞춰 처리하여 물리적 네트워크에 데이터를 실어 보냄.
1.1.4 사용자 관리
  • 사용자별로 서로 다른 사용자의 개인적 데이터를 접근할 수 없도록 해야 함.
  • 반대로 모든 사용자가 접근하여 읽거나, 수정할 수 있는 데이터도 문제 없이 동작하도록 관리
1.1.5 디바이스 드라이버
  • 운영체제는 시스템의 하드웨어를 관리하며 시스템에는 여러 하드웨어가 붙어 있음.
  • 이들을 운영체제에서 인식하고 관리해서 사용할 수 있게 해야 함.
  • 이를 위해 운영체제 안에서 하드웨어를 추상화하는 계층이 필요함.
  • 이 계층을 디바이스 드라이버라고 함.

1.2 임베디드 운영체제와 펌웨어

  • 임베디드 운영체제를 포함하는 임베디드 시스템용 전체 소프트웨어를 펌웨어라고 부름.

1.3 RTOS

  • 운영체제의 응답과 동작이 즉각적이고 실시간이어야 함. (RealTime Operating System)
  • 이 책에서 만드는 나빌로스는 RTOS

1.4 나빌로스

  • 일반적인 펌웨어 / 최소한의 임베디드 운영체제에 대한 기능을 설계하고 구현

1.5 에뮬레이터 환경

  • QEMU

1.6 깃허브 리포지토리에서 아카이브 다운받기

 
Share article

isehyeon258