[운영체제] 2. Operating-System Service

Kim Nahyeong·2021년 10월 12일
0

운영체제

목록 보기
2/3

Operating System Services

운영체제가 제공하는 서비스

  • User interface
  • Program execution
  • I/O operation
  • File-system manipulation (데이터 관리)
  • Communications (데이터 주고 받기)
  • Error detection
  • Resource allocation (자원/CPU 누구에게 줄 것인가?)
  • Logging
  • Protection and Security

View of Operating System Service

Layered Architecture

  • 파란 부분이 바로 OS이다!
  • System calls : Application Middleware
  • Services : 모듈, 프로그램
  • System Program : 응용 소프트웨어와 사용자를 위해서 컴퓨터 시스템 자체를 운영, 제어하는 프로그램이다. (컴파일러, 어셈블러, 링커, 로더 등등)

(+) 자바의 경우 가상 머신인 JVM (Java Virtual Machine - Java와 OS의 중계자 역할) 위에서 포터블(플랫폼 종속성 탈피)하게 프로그램이 동작한다.

  • 포터블 : 설치가 필요 없이 바로 사용할 수 있는 프로그램

API - System Call - OS Relationship

  • user가 요청 / interrupt해서 open()
  • System Call 실행 -> 명령어 실행(interrupt handler)실행하고 return 값 SCI로 반환하기

System Call

: App과 OS간의 API

API란?
Application Programming Interface의 약자
: 응용 프로그램에서 사용할 수 있도록 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스

인터페이스(interface)는 서로 다른 두 개의 시스템, 장치 사이에서 정보나 신호를 주고받는 경우의 접점이나 경계면이다. 즉, 사용자가 기기를 쉽게 동작시키는데 도움을 주는 시스템

그러니까 운영 체제의 커널이 제공하는 서비스(커널 영역의 기능 - OS 명령어라고 보면 좋을 것 같다)을 응용 프로그램의 요청에 따라 사용자 모드에서 사용 가능하도록 커널에 접근하기 위한 인터페이스이다.
즉, 프로세스가 하드웨어에 직접 접근하고 이용해서 필요한 기능을 사용할 수 있게 해준다!

Q) 잠깐 커널이 뭐더라?
A) 컴퓨터의 운영 체제의 핵심이 되는 컴퓨터 프로그램의 하나로, 시스템의 모든 것을 완전히 통제한다. 간단히 말해서 그냥 운영체제로 퉁쳐서 봐도 좋다(...)

The Role of Linker and Loader


교수님이 설명했는데 사실 별로 중요하지 않다.
컴파일러에서나 배우도록 하자 패스

0개의 댓글