운영체제

leekoby·2023년 3월 27일
0

운영체제

목록 보기
1/7
post-thumbnail

🔧변경내용🔨

제목날짜내용
발행일23.03.27

📌들어가기에 앞서

해당 포스트는 운영체제에 대해 학습한 내용을 정리하며 기록한 것입니다.




폰 노이만이 제시한 컴퓨터 모델에 따르면 컴퓨터 시스템은 크게 CPU, 메모리, 디스크로 구성되어 있다고 볼 수 있다.

이 각각의 하드웨어를 연결했다고 해서 우리가 원하는 프로그램을 수행할 수 있는 것은 아니다.

하드웨어는 단지 그 하드웨어의 특정 기능을 수행 할 뿐인데, 이 컴퓨터라는 하드웨어 상에 프로그램들이 동작되려면 이 하드웨어들과 적절하게 데이터틀 주고 받으며 논리적인 일들을 해야한다.

그 하드웨어에게 일을 시키는 주체가 바로 운영체제




운영체제의 목적 및 기능

운영체제의 목적은 처리능력 향상, 사용 가능도 향상, 신뢰도 향상, 반환 시간 단축 등에 있으며, 이런 운영체제의 기능은 여러 가지가 있다.

  • 프로세서, 기억장치, 입출력장치, 파일 및 정보 등의 자원을 관리

  • 자원을 효율적으로 관리하기 위해 자원의 스케줄링 기능을 제공

    • 스케줄링이란 어떤 자원을 누가, 언제, 어떤 방식으로 사용할지를 결정해주는 것
  • 사용자와 시스템 간의 편리한 인터페이스를 제공

  • 시스템의 각종 하드웨어와 네트워크를 관리하고 제어



운영 체제의 시스템 자원 관리

운영체제가 없다면, 응용 프로그램이 실행될 수 없다.

응용 프로그램은 컴퓨터를 이용해 다양한 작업을 하는 것이 목적

운영체제는 응용 프로그램이 하드웨어에게 일을 시킬 수 있도록 도와줌

하드웨어를 구성하는 일을 하는 CPU, 자료를 저장하는 RAM, 디스크 등의 시스템 자원을 관리하는 주체가 바로 운영체제다.

  • 프로세스 관리(CPU)

  • 메모리 관리

  • I/O(입출력) 관리 (디스크, 네트워크 등)

[그림] 운영체제의 구조 모식도


응용 프로그램 관리

모든 응용 프로그램이 시스템의 자원을 마음대로 사용한다면, 해커에 의한 공격에 무방비한 상태가 된다.

악의적인 목적을 가진 프로그램이 디스크의 민감한 정보에 접근하거나, 내 스마트폰의 특정 앱이 카메라를 아무 때나 실행해서 촬영한다고 생각하면 매우 끔찍!!

따라서, 응용 프로그램은 권한에 대한 관리가 필요하다.

여러 사람이 하나의 기기를 사용하는 경우에는 사용자를 관리하는 일도 매우 중요하다

  • 응용 프로그램이 실행되고, 시스템 자원을 사용할 수 있도록 권한사용자를 관리한다.

응용 프로그램: 운영체제를 통해 컴퓨터에게 일을 시키는 것

응용 프로그램이 운영체제를 통해 컴퓨터에게 일을 시키려면, 컴퓨터를 조작할 수 있는 권한을 운영체제로부터 부여받아야 한다.

권한을 부여받고 난 후에는, 운영체제가 제공하는 기능을 이용할 수 있다.

응용 프로그램이 운영체제와 소통하기 위해서는, 운영체제가 응용 프로그램을 위해 인터페이스(API)를 제공해야 한다.

시스템 콜(System call) :

  • 응용 프로그램이 시스템 자원을 사용할 수 있도록, 운영체제 차원에서 다양한 함수를 제공하는 것

스마트폰에서 사용자에게 어떤 디바이스(카메라 등)의 사용을 허락받는 화면을 본 적이 있을텐데, 이와 마찬가지로, 응용 프로그램 역시 운영체제가 프린터 사용을 허가해 주지 않는다면 사용할 수 없다.

워드프로세서 프로그램이 프린터를 사용해서 인쇄하기 위해서는, 워드프로세서 프로그램은 운영체제로부터 프린터 사용에 대한 권한을 부여받아야 한다.

응용 프로그램이 프린터 사용에 대한 권한을 획득한 후에는, 프린터를 사용할 때 필요한 API를 호출해야 한다. 이 API는 시스템 콜로 이루어져 있다.




📚 레퍼런스

코드스테이츠 수업자료

0개의 댓글