IT 공부하기

운영체제란[운동하는 IT]

리카르도 2022. 6. 27. 10:48
728x90

  회사에 입사를 하고 2주 동안 계속되는 대표의 서버에 대한 질문에 지난번 서버에 대한 글을 쓴 것처럼 답변을 했다. 그러자 서버에는 어떤 운영체제가 있냐고 물으신다...... 난 모른다고 했다......

 

 

  처음 폰 노이만에 의해 에니악이라는 컴퓨터가 만들어졌을 때 운영체제의 개념은 없었다고 한다. 하지만 프로그램을 만들려고 하는데 공통된 하드 웨들을(CPU, 메모리 등) 사용을 하거나 공통이 되는 기능들이 있는데 이를 하나로 묶어서 만든 프로그램이 운영체제의 시작이라고 한다.

 

즉 운영체제는 주 기억장치, 처리기, 주변 장치 등의 자원을 관리하는 기능, 입출력 관리 및 파일 관리 기능, 사용자에게 편의성을 제공하는 시스템인 것이다.

 

개념적으로는 OSan Operating Sysem is a program that manages a computer’s hardware 즉 컴퓨터를 관리하는 프로그램이다.

 

운영체제의 종류: 윈도, 리눅스, 유닉스

리눅스는 오픈 소스 소프트웨어를 가져다가 내 걸로 내 제품에 최적화시켜서 사용하기 매우 좋게 되어 있고 서버에 가장 많이 사용되는 운영체제이다. 또한 서버는 가장 중요한 게 안정성이다. (서버 멈추면 회사 망하기까지 함) 그래서 중요한 서버는 몇십 년 동안 검증된 유닉스를 많이 쓴다고 한다.

 

운영체제가 해야 할 일 하드웨어와 CPU관리

 

운영체제의 목적

처리능력 : 시스템의 생산성을 나타내는 단위로, 일정 시간 동안 처리하는 일의 양

응답 시간 작업

신뢰도 : 주어진 문제를 얼마나 정확하게 처리하는가의 정도

사용 가능도 시스템을

 

 

운영체제의 구성

운영체제는 제어 프로그램과 처리 프로그램으로 구성됨

 

 

운영체제라는 시스템은 컴퓨터 안의 정보들과 자원들을 제어하고 상태를 감시하고 실행하는 과정을 지시하고 관리하는 제어 프로그램과 제어 프로그램의 지시와 감독을 받아서 실제로 데이터 처리를 실행하고 결과를 보여주는 처리 프로그램으로 되어 있다.

 

1. 제어 프로그램

각종 처리 프로그램의 실행과 기억 장소 및 데이터 제어 또는 연속 처리 작업의 스케줄링 등 감시하는 기능을 수행하며, 데이터 관리 기능, 작업관리 기능, 태스크 관리 기능을 갖습니다.

 

1) 감시 프로그램:

시스템 전체의 동작 상태를 감독하고 지원함, 제어 프로그램의 중추적 역할을 담당함.

시스템의 모든 동작 상태를 관리하고 감독하는 제어 프로그램을 슈퍼바이저라고 한다.

 

2) 작업 관리 프로그램:

어떤 작업을 처리하고 다른 작업으로의 자동적 이행을 위한 준비와 처리를 수행함

 

데이터 관리 프로그램:

주기억 장치와 외부 보조 기억 장치 사이의 데이터 전송,

입출력 데이터와 프로그램의 논리적 연결, 파일 조적 및 처리 등을 담당함

 

2. 처리 프로그램

제어 프로그램 감시 하에 컴퓨터의 특정한 문제를 해결하기 위해 필요한 여러 가지 기능을 처리할 수 있도록 해주는 프로그램과 사용자가 작성한 문제 해결 프로그램이 있다

 

1) 언어 번역 프로그램:

원시 프로그램을 컴퓨터가 알 수 있는 기계어로 번역시키는 프로그램

종류: 컴파일러, 어셈블리어, 인터프리터

 

2) 서비스 프로그램:

시스템에서 사용 빈도가 높은 프로그램을 미리 개발하여 높은 프로그램

종류: 연계 편집 프로그램, 로더 디버깅 프로그램, 정렬/병합 프로그램, 라이브러리 등

 

3) 문제 처리 프로그램:

컴퓨터 사용자가 필요한 업무에 맞게 개발한 프로그램

종류: 급여관리, 인사관리, 회계 관리 등

 

 

 

운영체제는 사용자가 컴퓨터를 사용하기 위해 필요한 소프트웨어이다. 우리가 일반적으로 컴퓨터를 사용하면서 실행한 모든 프로그램들은 운영체제에서 관리하고 제어한다.

 

운영체제는 크게 커널과 명령어 해석기(Shell)로 나뉜다.

커널은 운영체제가 수행하는 모든 것이 저장되어 있다. 명령어 해석기는 사용자가 커널(운영체제)에 요청하는 명령어를 해석하여 커널에 요청하고 그 결과를 출력한다

커널에 따라서 운영체제가 달라진다.

명령어 해석기는 이 커널로 만들어진 코드를 동작하기 위해 만들어진 부분이다. 인터페이스라고 볼 수 있다. GUL, CLI 같은 방식으로 운영체제에 명령을 요청할 수 있다.

 

사용자 프로그램은 특정 운영체제에 맞춰서 만든다. 그러므로 한 애플리케이션은 서로 다른 운영체제에서 수행할 수 없다. (하드웨어가 같은 것은 전혀 상관이 없다고 함.).) 예를 들면 Windows에서 수행하는 프로그램을 그대로 Linux에 옮기면 수행되지 않는다.  사용자 프로그램은 자원을 OS를 통해 요청한다. 한다. 그렇기 때문에 해당 운영체제의 Interface를 따라야 하고, 그렇기 때문에 운영체제가 다를 경우 동작할 수 없다