[운영체제] 컴퓨터 시스템의 구조

SU-DAA·2023년 7월 18일
0

CS기초

목록 보기
1/3

반효경 교수님의 운영체제 수업을 정리한 내용입니다

운영체제란?

컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층

  • 좁은 의미
    운영체제의 핵심 부분으로 메모리에 상주하는 부분
  • 넓은 의미
    커널 뿐 아니라 각종 주변 시스템 유틸리티를 포함

운영체제의 목적

컴퓨터 시스템의 자원을 효율적으로 관리

운영체제의 분류

  1. 동시 작업 가능 여부
  2. 사용자의 수
    • 단일 사용자: MS-DOS, MS Windows
    • 다중 사용자: UNIX
  3. 처리 방식
    • 일괄 처리(batch processing)
    • 시분할(time sharing)
    • 실시간(realtime OS)

용어
멀티태스킹: 컴퓨터 시스템이 동시에 여러 작업을 수행할 수 있는 능력. 여러 프로그램이 동시에 실행되는 것처럼 보이도록 하는 기술

멀티프로그래밍: 컴퓨터 시스템이 동시에 여러 프로그램을 메모리에 올려놓고 실행하는 기술

멀티 프로세스: 컴퓨터 시스템이 동시에 여러 개의 독립적인 프로세스를 실행하는 기술. 각 프로세스는 운영 체제로부터 독립적인 메모리 공간과 자원을 할당받아 실행된다

시분할: CPU의 시간을 분할하여 나누어 쓴다는 의미를 강조

-> 위 4개의 용어들은 비슷한 의미로 혼용됨

컴퓨터 시스템 구조

  • CPU: 컴퓨터 시스템에서 중앙 처리 장치로서, 프로그램의 명령어를 해석하고 실행하는 역할을 수행
  • Memory: 컴퓨터에서 프로그램과 데이터를 저장하는 공간. 주기억장치는 CPU가 직접 접근하여 데이터를 읽고 쓸 수 있는 고속의 저장장치로, RAM(Random Access Memory)과 ROM(Read-Only Memory)으로 나뉜다
  • Disk: 컴퓨터에서 대용량의 데이터를 영구적으로 저장하는 보조기억장치
  • I/O 입출력장치: 컴퓨터 시스템과 외부 환경 간의 데이터 흐름을 관리하는 장치

시스템콜: 사용자 프로그램이 커널 함수를 호출하는것

인터럽트

  • 컴퓨터 시스템에서 발생하는 이벤트나 신호로 인해 CPU의 정상적인 실행 흐름이 중단되고, 운영체제 또는 하드웨어의 특정 처리루틴이 실행
  • 넓은 의미: 하드웨어가 발생시킨 인터럽트

Trap: 소프트웨어 인터럽트

  • Exception: 프로그램이 오류를 범한 경우
  • 시스템 콜: 프로그램이 커널 함수를 호출하는 경우

Device Controller
: 컴퓨터 시스템에서 하드웨어 장치(입출력 장치 등)를 제어하고 관리하는 부분. 해당 장치의 동작과 상호작용을 담당하여, 컴퓨터 시스템과 장치 간의 데이터 흐름을 조절


동기식 입출력 : I/O 요청 후 입출력 작업이 완료된 후에야 제어가 사용자 프로그램에 넘어감 비동기식 입출력 : I/O가 시작된 후 입출력 작업이 끝나기를 기다리지 않고 제어가 사용자 프로그램에 즉시 넘어감

-> 두 경우 모두 I/O완료는 인터럽트로 알려줌

DMA(Direct Memomy Access) 직접 메모리 접근
:컴퓨터 시스템에서 메모리 전송을 위해 사용되는 기술로써 CPU의 개입 없이 주변장치와 메모리 간의 데이터 전송을 수행
-> 기본적으로, CPU는 데이터를 입출력 장치와 주변장치 간에 전달하기 위해 관여해야 하는데 이러한 CPU 대신 DMA 컨트롤러(DMA Controller)가 데이터 전송을 관리하고, CPU는 다른 작업을 수행할 수 있다.

저장장치 계층 구조
: 속도가 빠르고 값 비싼 저장장치를 CPU가까이 두고, 값 싸고 용량 큰 저장장치를 반대쪽에 배치

프로그램의 가상 메모리 공간 구성: code, data, stack

  • code: cpu에서 수행할 기계어들이 위치
  • data: 전역 변수, 프로그램이 시작될 때 부터 종료될 때 까지 남아있는 데이터들
  • stack: 함수 호출, 리턴과 관련된 데이터들

사용자 프로그램이 사용하는 함수
1. 사용자 정의 함수: 자신의 프로그램에서 정의한 함수
2. 라이브러리 함수: 자신의 프로그램에서 정의하지 않고 가져다 쓴 함수
3. 커널 함수: 운영체제 프로그램의 함수
-> 커널 함수의 호출 = 시스템 콜

profile
아직은 감자

2개의 댓글

comment-user-thumbnail
2023년 7월 18일

글이 잘 정리되어 있네요. 감사합니다.

1개의 답글

관련 채용 정보