data life

[운영체제] 운영체제란? 본문

카테고리 없음

[운영체제] 운영체제란?

주술회전목마 2023. 1. 11. 20:37

운영체제 Operating System(OS)란?


🤷🏻‍♀️  +  📖  =>  👩🏻‍💻 

사용자가 컴퓨터를 쉽게 다룰 수 있게 해주는 설명서 같은 존재이다.
사용자에게 컴퓨터의 프로그램을 쉽고 효율적으로 실행할 수 있는 환경을 제공해주며 이를 인터페이스(interface)라고 한다.

 

우리가 흔히 알고 있는 PC OS에는 윈도우, MacOS, 리눅스가 있다.

실행되는 응용 프로그램들이 메모리와 CPU, 입출력 장치 등을 사용할 수 있도록 만들어 준다. 

 

 

운영체제의 구성


하드웨어 ↔ 운영체제 ↔  / 응용 프로그램 ↔ 사용자

🔸 운영체제의 핵심 : 커널(kernel)

 

🔸 운영체제의 인터페이스 : 셸(shell)

>> 다양한 운영 체제 기능과 서비스를 구현하는 인터페이스를 제공하는 프로그램 

 >> 🐚 사용자와 커널 사이의 인터페이스를 감싸는 층 🐚

>> 종류 :  명령 줄 인터페이스(CLI) & 그래픽 사용자 인터페이스(GUI)

 

하드웨어운영체제시스템 호출 라이브러리 or API / 응용 프로그램 ↔ 사용자

커널에 접근하기 위해 시스템 호출(system call) 이용

이때, API를 통해 시스템 호출에 접근한다. 

왜 why? C나 C++과 같은 고급언어로 작성된 프로그램들은 직접 시스템 호출을 사용할 수 없기 때문에

API 란?

컴퓨터와 사용자를 연결시키는 사용자 인터페이스와 반대로, API는 컴퓨터나 소프트웨어를 서로 연결한다.

프로그래밍 언어 별 운영체제 지원을 위해 운영체제 별 API를 지원한다. 

 

보호 링(protection rings)


- user mode : 응용프로그램이 사용

- kernel mode : OS가 사용

 

응용프로그램 실행 시

[예제 코드]

char gbuff[100];

int main(int argc, char*argv[])
{
   int leng;
   int fp;

    fp = open("/dev/mydrv", ....);  // mydrv_open 호출
    gbuff[0] = 10;
    gbuff[1] = 20;
    leng = 2;
    write(fp, (void*) gbuff, leng);   // mydrv_write호출

    close(fp);                       // mydrv_release호출
    return 0;
}
사용자 모드 -> open() 함수로 시스템 콜 호출 -> 커널모드 -> 연산 수행 후 다시 사용자 모드 -> open() 함수 이후의 코드 실행

 

 

운영체제의 역할


1️⃣ 시스템 자원 관리자

* 시스템 자원 = 하드웨어

  • CPU, Memory
  • I/O Devices
  • 저장매체 (SSD, HDD)

운영체제를 통해서 컴퓨터 하드웨어를 관리 및 제어한다.

 

2️⃣ 사용자와 컴퓨터간 지원

 

3️⃣ 응용 프로그램 제어

  • 실행
  • 관한 관리
  • 응용 프로그램 사용자 관리(로그인)