반응형


프로세스 (process)란?
· 실행 중인 프로그램은 프로세스라고 함

  • 프로세스: 메모리에 올려져서, 실행 중인 프로그램
  • 코드 이미지(바이너리): 실행 파일

· 응용 프로그램 != 프로세스

  • 응용 프로그램은 여러 프로세스로 구성 가능


■ 프로세스라는 용어는 작업, task, job이라는 용어와 혼용
https://www.fun-coding.org/linux_basic2.html

리눅스 (linux) 익히기:  리눅스 쉘(bash), 기본 명령어 이해 및 실습 - 잔재미코딩

리눅스 쉘(bash), 기본 명령어 이해 및 실습 2. 리눅스 쉘(bash), 기본 명령어 이해 및 실습¶ 2.1. 쉘 종류¶ 쉘(shell) 운영체제 커널과 사용자 사이를 이어주는 역할 사용자의 명령을 해석하고, 커널에

www.fun-coding.org



현업, IT 기술과 컴퓨터 공학의 이해
· 엑셀 프로그램과 엑셀 프로세스

  • excel.exe (코드 이미지, 바이너리)와 엑셀 프로세스

· 휴대폰에서 앱이 실행되어 있을 때가 앱이 프로세스로 실행될 때임


프로세서 스케쥴링


배치 처리 시스템
· 여러 프로그램을 순차적으로 실행시킬 수 있도록 해주세요!

  • 어떤 프로그램은 실행에 너무 많은 시간이 걸려서, 다른 프로그램이 실행하기 위하여 많은 시간을 대기해야 함

참고: Batch Processing[OS], Queue


시분할 시스템
· 다중 사용자 지원을 위해 컴퓨터 응답 시간을 최소화하는 시스템

  • 여러 사용자가 동시에 하나의 컴퓨터를 사용하려면 어떻게 해야 하나요? (다중 사용자 지원)

참고: Time Sharing[OS]


멀티 태스킹

  • 단일 CPU에서, 여러 응용 프로그램이 동시에 실행되는 것처럼 보이도록 하는 시스템
  • 10~20ms 단위로도 실행 응용 프로그램이 교체됨

참고: 1000 ms = 1 초


멀티 프로그래밍
· 최대한 CPU를 많이 활용하도록 하는 시스템

  • 응용 프로그램은 CPU 외 다양한 하드웨어 사용

참고: Multi Programming[OS]


메모리 계층 - 컴퓨터 구조 이해



System Bus - 컴퓨터 구조 이해



멀티 프로그래밍과 Wait

  • 멀티 프로그래밍: CPU 활용도를 극대화하는 스케쥴링 알고리즘
  • Wait: 간단히 저장매체로부터 파일 읽기를 기다리는 시간으로 가정



멀티 태스킹과 멀티 프로세싱

  • 멀티 태스킹: 단일 CPU
  • 멀리 프로세싱: 여러 CPU에 하나의 프로그램을 병렬로 실행해서 실행속도를 극대화시키는 시스템



현업, IT 기술과 컴퓨터공학의 이해
· 프로그램 성능을 높이는 방법

  • 가능한 메모리상에서 실행하도록 해야합
  • 예: Redis, Scala



정리

  • 시분할 시스템: 다중 사용자 지원, 컴퓨터 응답시간을 최소화하는 시스템
  • 멀티 태스킹: 단일 CPU에서 여러 응용 프로그램을 동시에 실행하는 것처럼 보이게 하는 시스템
  • 멀티 프로그래밍: 최대한 CPU를 일정 시간당 많이 활용하는 시스템
  • 멀티 프로세싱: 여러 CPU에서 하나의 응용 프로그램을 병렬로 실행해서, 실행속도를 높이는 기법


반응형

+ Recent posts