[운영체제] 리소스 관리, 가상화

Seokjun Moon·2023년 3월 31일
0

운영체제

목록 보기
4/23
post-custom-banner

Process Management

  • 프로세스
    = 실행중인 프로그램
    = 작업 수행을 위해 자원을 활용하여 활발히 작동합니다.
    = active entity
  • 프로그램
    = 메모리에 저장된 명령어들의 집합
    = 필요할 때 실행되고 자체적으로 어떠한 동작도 수행하지 않습니다.
    = passive entity

프로세스는 CPU, memory, I/O, files, data 등 자원을 필요로 합니다. thread 당 1개의 프로그램 카운터가 있습니다. 프로그램 카운터는 실행할 다음 명령어를 가리킵니다.

Process Management Activities

  • Creating and deleting
  • Scheduling
  • Suspending and resuming
  • synchronization
  • communication
  • deadlock handling




Memory Management

프로그램을 실행하기 위해서는, 해당 명령어들이 메모리에 존재해야 합니다. 디스크에 있으면 시간이 굉장히 오래 걸리기 때문에, 메모리에 존재해야만 합니다.
따라서 Memory Mangement는 무엇이 언제 메모리에 있어야 하는지 결정하는 역할을 합니다. 결국 메모리 관리도 CPU를 최대한 활용하기 위한 방법이라고 할 수 있습니다.

Memory Mangement Activities

  • 필요한 데이터를 메모리에 적재
  • 필요한 만큼의 공간을 할당/해제




File-system Management

물리적 속성을 논리적 저장 유닛인 '파일'로 추상화합니다. 파일들이 모여 폴더(디렉토리)가 됩니다.

File-ststem Activities

  • Creating and Deleting
  • Mapping files
  • Backups onto HDD




Cache Management

사용할 정보는 느린 저장소에서 빠른 저장소로 일시적으로 복사됩니다. (자동적으로 수행되며, 그래야만 합니다.)

빠른 저장소가 정보가 있는지 없는지 체크한 후에 있다면 캐시로 바로 전송합니다. 없을 경우, 캐시로 데이터가 캐시로 복사되어 사용됩니다. 캐시의 크기는 캐시가 적용되는 저장소보다 작습니다. 이는 캐시 관리가 중요한 설계 문제임을 의미합니다. 캐시 크기와 교체 정책이 성능을 결정합니다.

속도차이가 어마어마하므로 캐시 관리는 필수적입니다.

Migration of data from Disk to Register

  • Multitasking 환경에서는
    여러 작업이 동시에 진행되기 때문에, 값 업데이트도 동시에 진행됩니다. 해당 데이터가 최신 값이라는 것을 보장하기 위해서는 모든 저장소 계층을 검사하거나 값 업데이트 시 모든 계층을 동기화 해야 합니다.
  • Multiprocessor 환경에서는
    하드웨어적으로 cahce coherency(캐시 일관성) 을 제공해야 합니다.




Virtualization

운영체제가 다른 운영체제의 어플리케이션을 실행할 수 있도록 해주는 것 입니다.

Emulation (Interpretation)

다른 타입의 CPU를 위해 생성된 프로그램을 기존의 리소스나 하드웨어를 이용하지 않고 소프트웨어적으로 구현하여 특정 시스템을 돌릴 수 있게 하는 것입니다.

Virtualization (Virtual machine Manager)

다른 운영체제를 기존 리소스나 하드웨어 일부를 이용해 동시에 실행시키는 것을 말합니다.

profile
차근차근 천천히
post-custom-banner

0개의 댓글