컴퓨터 시스템의 하드웨어 구성
[그림]

컴퓨터 시스템이 동작할 때 하드웨어에서 일어나는 일

  1. 입력장치 혹은 네트워크 어댑터를 통해서 컴퓨터에서 처리 요청이 들어온다.
  2. 메모리에 있는 명령을 읽어 CPU에서 실행하고 그 결괏값을 다시 메모리의 다른 영역에 기록한다.
  3. 메모리의 데이터를 하드디스크(HDD)나 SSD 등의 저장 장치에 기록 또는 네트워크를 통해 다른 컴퓨터에 전송하거나 디스플레이 등의 출력 장치를 통해 사람에게 결괏값을 보여줌
  4. 1번부터 반복
    1~3을 반복해서 사용자에게 필요한 하나의 처리로 정리한 것을 프로그램이라고 한다.

프로그램의 종류

  • 애플리케이션 : 사용자가 직접 사용. ex) 오피스 프로그램, 각종 앱 등
  • 미들웨어 : 애플리케이션이 공통으로 사용하는 처리를 묶어서 애플리케이션의 실행을 도와줌. ex) 웹 서버, 데이터 베이스
  • OS(운영체제) : 하드웨어를 직접 조작하여 애플리케이션이나 미들웨어의 실행에 필요한 기능을 제공 ex) 리눅스, ms 윈도우, OSX

OS가 프로그램을 실행 -> 프로세스라는 단위로 실행
각 프로그램은 1개 혹은 여러개의 프로세스로 구성됨

리눅스와 하드웨어

[정리]
리눅스의 중요한 역할

  1. 외부 장치(=디바이스, ex. 모니터, 마우스, 키보드) 조작

    1. OS가 없으면 프로세스가 각각 디바이스를 조작하는 코드를 작성해야함
      1. 애플리 케이션 개발자가 디바이스 스펙을 상사히 알아야함
      2. 개별 개발이므로 개발 비용이 커짐
      3. 멀티프로세스가 동시에 디바이스를 조작할 경우 예상 외의 동작 발생할 수 있음
        => 디바이스 드라이버라는 프로그램을 통해 디바이스를 다룸
        => 프로세스가 직접 하드웨어에 접근하는 것을 차단함
  2. 커널 모드에서의 처리 ?

    1. 커널 모드에서 동작하는 처리
      1. 프로세스 관리 시스템
      2. 프로세스 스케쥴링
      3. 메모리 관리 시스템
    2. 프로세스가 커널이 제공하는 기능을 사용하는 방법
      1. 시스템 콜이라는 특수한 처리를 통해 커널에 요청
  3. 커널 : 커널모드에서 동작하는 OS의 핵심 부분이 되는 처리를 모아 담당하는 프로그램

    1. 커널은 CPU나 메모리 등 리소스 관리
    2. 리소스의 일부를 시스템에 존재하는 각 프로세스에 적절히 분배

목차 소개

[그림]

  • 2장: 사용자 모드에서 동작하는 OS기능 및 프로세스, 커널과의 인터페이스가 되는 시스템 콜
  • 3장: 커널의 프로세스 생성, 파괴를 담당하는 프로세스 관리 시스템
  • 4장: CPU 자원을 관리하는 프로세스 스케쥴러
  • 5장: 메모리 자원을 관리하는 메모리 관리 시스템
  • 6장: 기억 장치 계층
  • 7장: 저장 장치에 보관된 데이터에 접근하기 위해 이용하는 파일시스템 이라는 프로그램
  • 8장: 저장 장치 성능의 특징, 성능을 이끌어 내기 위한 커널의 지원기능