YS's develop story

Four Components of a Computer System, System call (시스템소프트웨어 - 1) 본문

Linux/시스템소프트웨어

Four Components of a Computer System, System call (시스템소프트웨어 - 1)

Yusang 2020. 11. 10. 20:54

Four Components of a Computer System, System call (시스템소프트웨어 - 1)

 

 

우선 컴퓨터의 전반적인 구조를 살펴봅시다!

컴퓨터 시스템의 구조는 위의 그림처럼 크게 4가지로 나누어 볼 수 있습니다!

 

Computer Hardware : 

Cpu, memory, I/O device (키보드, 모니터, HDD, SSD 등등...) 

 

Operation system :

 

Application programs :

Word processor, web browser, Music player....

 

Users:

People, other computers 

 

이 중에서 Operation system인 OS에 대해서 조금 더 자세히 정리하자면...

 

Operation system ( OS ) :

1. 사용자 프로그램을 실행하고, 일반적인 서비스를 제공하는 라이브러리를 제공한다.

 

2. 컴퓨터의 하드웨어를 효율적으로 관리해 준다.

 

3. 컴퓨터의 리소스(CPU, Memory, IO device)를 제어하고 할당하는 시스템 소프트웨어.

 

4. 사용자와 컴퓨터 하드웨어 사이에 존재하는 아주 큰  프로그램.

 

또한 OS 내부에 존재하는 항상 작동되고 있는 아주 중요한 프로그램을 '커널'이라고 합니다.

 

 

이어서... 

 

응용프로그램은 OS에 직접 접근할 수 없는데, 응용프로그램이 하드웨어에 접근할 수 있도록 커널이 응용프로그램에 제공하는 함수를 시스템 콜이라고 합니다.

 

즉 OS에서 제공되는 프로그래밍 인터페이스를 시스템 콜이라고 하죠.

 

시스템 콜을 통해서만 OS에 접근할 수 있습니다. 

그렇지 않으면 잘못된 접근으로 OS의 코드를 손상시킬 수 있기 때문에 시스템 콜을 통하지 않으면 OS에 접근할 수 없습니다.

 

또한 아래 그림처럼 우리가 사용하는 API는 내부적으로 시스템 콜을 호출합니다.

이러한 시스템 콜, 어셈블리를 이용하여 프로그래밍을 하는 것을 '시스템 프로그래밍'이라고 합니다.

Comments