Study note/CS

Operation System

공대 아로마 2024. 4. 12. 17:01

기술면접을 위해 기초 CS에 대한 복습중이다.
공부한 내용 중 요점이나 나중에 기억해야할 부분을 정리해보려고 한다.
내가 아는 부분은 생략되어 있을 수 있고, 혹여나 틀린 부분이 있을 수도 있으니 이 글을 보고 '다른 사람'이 공부하기에는 도움이 되지 않을 수 있으니 주의!

 

시분할 시스템

  • CPU가 하나일 때 어떻게 스케줄링 하는지에 대한 방법론 중 하나
  • 다중 프로그래밍의 장점 + 아주 짧은 주기로 분할함
  • ex) 리눅스(웹서버, DB 등)에 여러 User가 동시 접속을 해도 혼자 독점한 것처럼 느낀다.

다중 처리 시스템 (Multiprocessor)

  • CPU가 여러 개일 때 (CORE)
  • 대칭적 다중 처리 시스템: 모든 CPU가 동등한 준위
  • 비대칭적 다중 처리 시스템: Master-slave처럼 준위가 다름

분산 처리 시스템

  • 네트워크로 동시에 작업 처리
  • 속도가 빠름: 적절한 자원공유로 각각의 CPU가 분산해서 부담하면 되므로
  • 신뢰성 높음: 어느 하나 고장이 나더라도 OK
  • ex) 클라이언트-서버 시스템, P2P(각각이 클라이언트/서버가 됨)

클러스터 시스템

  • LAN으로 비교적 가까운 거리에서 물리적으로 연결해서 아주 큰 CPU를 사용하는 방식
  • 기상청 등 고속처리(예전에 기상연구실이나 국제기구에서 일할 때 빅데이터나 고속 연산할 때 썼던 시스템)

실시간 시스템(Real-Time)

  • 의학 영상 시스템, 무기 등
  • 연성(soft): 음악 들을 때
  • 경성(hard): 무기, 의학 등과 같이 정밀 작업 시

인터럽트

  • 인터럽트 벡터 테이블을 가지고 사용
  • 인터럽트는 우선순위가 정해져있음
  • 포인터(벡터)가 가리키는 처리 루틴을 실행

메모리 구조

  • 프로그램이 OS로부터 할당 받는 주요 메모리 공간
  • 코드 영역: 프로그램의 코드
  • 데이터 영역: 전역변수, 정적변수
  • 힙 영역: 사용자의 동적 할당. 런타임에 크기 결정
  • 스택 영역: 지역변수, 매개변수. 컴파일타임에 크기 결정
  • 코드/데이터/힙 영역 순으로 낮은 주소부터 채워지고, 스택 영역은 높은 주소부터 힙 영역 쪽으로 채워진다.
  • 힙 영역이 스택 영역을 침범하면 힙 오버플로우, 반대로 스택 영역이 침범하면 스택 오버플로우라고 한다.

참고한 사이트

'Study note > CS' 카테고리의 다른 글

디자인 패턴 1  (0) 2024.04.12
네트워크  (0) 2024.04.12
DB 데이터베이스  (0) 2024.04.12
개발 상식  (0) 2024.04.12
C++ 코딩 인터뷰에서 기초 질문 모음  (0) 2021.01.08