[CS] 운영체제 (1)

yoorabaek·2022년 6월 5일
0

운영체제(OS)란

  • 컴퓨터 하드웨어 바로 위에 설치되어 다른 모든 software와 hardware를 연결하는 소프트우웨어 계층

  • 좁은 의미로는 메모리에 상주하는 커널을 뜻하고, 주변 시스템 유틸리티를 포함해서 말함

목적 : 주워진 자원으로 최대한의 성능을 내도록 관리해줌

  • 동시 사용자/ 프로그램이 독자적 컴퓨터에서 수행하는 것처럼 느끼도록 하드웨어를 직접 다루는 복잡한 부분을 처리해준다 ..!
  • 실행중인 프로그램들에게 짧은 시간씩 번갈아 CPU를 할당

[몇가지 용어]

  • Multitasking / Multiprogramming / Time sharing : 한 CPU로 여러 작업/프로그램을 시간을 분할(Timer Interrupt)해서 처리함
  • Multiprocess : 하나의 컴퓨터에 CPU가 여러개

유닉스 (Unix)

  • C언어로 대부분 작성 => 이식성 높다
  • 최소한의 커널 구조
  • 소스코드 공개 / 프로그램 개발 용이 / 다양한 버전 (Solaris, Linux...)

Mode bit

  • 모니터 모드 = 커널 모드 , 시스템 모드 ("특권명령"이 가능한 상태)
  • 사용자 모드 => 모니터 모드 : Interrupt / Exception
  • 모니터 모드 => 사용자 모드 : mode bit을 1로 설정



인터럽트

시스템콜

  • 사용자 software 프로그램이 운영체제 서비스를 받기 위해 커널함수 호출

DMA Controller

  • 빠른 입출력 장치를 메모리에 가까운 속도로 처리하기 위해 사용
  • CPU의 중재 없이 device controller가 device의 buffer storage의 메모리에 block 단위로 직접 전송
  • 바이트 단위가 아니라 block 단위로 인터럽트를 발생시킴

caching (재사용성)

  • 가장 가까운 계층의 저장장치에서 정보를 복사하는 방식

  • 재사용 가능성이 높은 것을 caching하고 아닌 것은 내보내는 관리가 필요

  • 주기억장치(휘발성 메모리) : Cache(SRAM), Main Memory(DRAM)는 모두 전원이 꺼지면 사라지는 데이터

  • 보조기억장치(비휘발성) : 하드디스크 Disk.. (파일 디렉토리)

0개의 댓글