IT

OS(운영체제)뜻,개념,역할,관련 직업,용어,예시[operating system/공학]

녹차한잔 2023. 3. 29. 14:57

 

OS란?

 

OS는 operating system의 약자로, 운영체제라는 뜻이다.

운영체제는 누가,어떻게 시스템을 사용할 수 있는지를 관리하므로,

모든 하드웨어와 소프트웨어를 관리하는 컴퓨터시스템의 한 부분인 실행 관리자라고 정의할 수 있다. 다시말해 운영체제란 컴퓨터시스템을 관리하는 감독관이라고 할 수 있다.

서버용 운영체제의 예시로는 macOS,리눅스나 유닉스(BSD, 솔라리스 등), 윈도우 등이 있다.

 

OS의 역할

운영체제는 일련의 작업 순서를 정하며, CPU(중앙처리장치),주기억장치,주변장치 등 여러 하드웨어 시스템에 이를 할당하는 일련의 매우 복잡한 명령이다. 이것은 프로그램 실행은 물론 파일 접근에서 응용 프로그램 구동, 모니터 및 메모리 저장장치 제어, 글자판 명령 해석에 이르기까지 여러 임무를 수행하도록 CPU에 지시한다. 그리고 여러 사용자가 동시에 작업을 수행할 때는 시분할(time-sharing) 방식으로 작업의 우선순위를 정하여 시간과 자원을 효율적으로 배분하고, 네트워크상에서는 다른 컴퓨터와 상호 작용하는 일을 제어하기도 한다.

다시말해 운영체제란 하드웨어를 제어하고 컴퓨터 자원을 관리하고, 응용 프로그램들의 수행을 도와주며, 컴퓨터 사용을 편리하게 해주는, 사용자와 하드웨어 사이의 매개 역할을 하는 소프트웨어라 할 수 있다.

 

OS의 종류

 

일괄처리 운영체제

작업을 모아서 처리하며, 사용자와의 상호작용 없이 순차적으로 실행하는 운영체제.

대화형 운영체제

시분할시스템이라고도 한다.

일괄처리를 할 때 보다 반환시간이 빠르며, 이용자에게 즉각적인 피드백을 제공한다. 응답시간은 사용자 수에 따라서 수 분에서 수십 초가 걸리기도 한다.

실시간 운영체제

모든 시스템 중 가장 빠른 응답시간을 보이는 운영체제.

결과값이 현재의 결정에 영향을 받으며, 데이터 처리가 매우 빠르고 반환시간이 중요한 환경에 적합하다.

하이브리드 운영체제

일괄처리와 대화형을 합성한 운영체계이다. 대화형 작업이 많지 않을 경우 백그라운드에서 배치 프로그램을 실행한다. 현재 사용되고 있는 대부분의 컴퓨터 시스템이다.

 

 

 

OS 관련 직업들

기술 분야 공무원-국가공무원, 관변단체 공무원

전문적인 기술인-감리사,산업기사, 기술사

학문분야-연구원,대학교수

연구분야-정부기관 연구소 혹은 민간기업 연구소 컴퓨터 소프트웨어 전문가

산업체-대기업, 중견기업, 중소기업, 창업 등

 

 

 

OS 관련 용어

교착상태(deadlock)

다중 프로그래밍 환경에서 두 개의 프로세스가 서로 다른 프로세스가 가지고 있는 자원을 기다리고 있으며 자신이 차지하고 있는 자원을 내놓지 않는 현상이다. 이 프로세스들에게는 영원히 처리기를 줄 수 없게 된다.

매크로(macro)와 서브프로그램(sub program)

반복되는 부분을 분리시켜 놓고 이름을 부여하고 이름을 호출하여 실행할 수 있도록 하는 것. 매크로는 컴파일 이전에 확장 과정을 거쳐 실행시 시간이 적게 걸리며, 서브프로그램은 확장 과정을 거치지 않아 저장 공간을 줄일 수 있다.

로더(loader)

외부기억장치에서 정보들을 주기억 장치로 옮기기 위해 메모리 할당 및 연결, 재배치, 적재를 담당하는 서비스 프로그램을 말한다.

링커(linker)

여러 오브젝트(Object)를 한 개의 실행 가능한 형태의 파일로 작성한다. 일반적으로 다른 곳에서 프로그램루틴이나 컴파일, 어셈블 된 루틴들을 모아서 실행 가능한 루틴을 작성하게 된다.

오버레이(overlay)

큰 프로그램을 작은 단위의 모듈로 잘라 필요한 부분만 램(RAM)에 적재하여 실행 할 수 있도록 하는 기법을 말한다. 프로그래머가 모듈을 자르는 단위나 연결 순서를 명시해야 하기 때문에 사용이 불편하다. 이런 오버레이의 단점은 가상메모리 기법을 이용해 해결할 수 있다.

스와핑(swapping)

여러 개의 프로그램을 하나의 메모리에서 실행될 수 있도록 하기 위해 사용하는 기법이다. 실행 도중에 스와프 아웃(swap out)이 되어 보조기억 장치로 옮겨졌다가 실행 시에 스와프 인(swap in)이 되는 것을 반복하며 실행하는 것을 말한다.

단편화(fragmentation)

연속으로 기억장치를 할당하여 사용할 경우에 크기가 맞지 않아 사용되지 못하는 공간이 생길 수 있는데, 이러한 공간을 단편화 공간이라고 부른다.

버퍼링(buffering)

주기억 장치 일부를 큐 방식(FIFO: First In First Out)으로 동작하는 버퍼로 이용해서 하나의 프로그램에서 CPU 연산과 I/O 연산을 중첩시켜 처리할 수 있게 하 는여 CPU의 효율을 높이는 방식을 말한다. 버퍼를 2개 혹은 그 이상 사용하는 방식을 이용해 버퍼링 효과를 높일 수도 있다.

프로세스(Process)

실행중인 프로그램이나 주기억장치에 저장된 프로그램, PCB(Process Control Block)와 결합된 형태의 코드를 말한다.여기서 PCB란 프로세스가 작업 도중 필요한 정보나 스케줄에 필요한 여러 정보를 기억하고 있는 구조체이다. 이것은 작업 스케줄러(job scheduler)에 의해서 생성되어 주기억장치에 진입한다.

스풀링(spooling)

주기억 장치를 이용하는 버퍼링은 공간이 작기 때문에, 보조기억장치를 이용해 여러 개의 프로그램에 대하여 입력과 CPU 작업을 중첩시켜 처리할 수 있게 하는 방식이다.

보조기억장치 중에서 직접접근 및 저장(DASD: Direct Access Storage Device)이 가능한 디스크를 사용한다.

셸(shell)

사용자의 명령어를 번역,실행을 지시하고 결과를 사용자에게 돌려주는 역할을 하는 부분을 말한다.

커널과 사용자 사이의 인터페이스 역할을 하는 부분이다. 도스(DOS)에서는 command.com이 셸의 기능을 하고, 유닉스에는 여러가지 종류의 셸이 존재한다. 이러한 셸은 주기억장치에 상주하지 않고 사용자가 요구할 때 메모리로 적재되어 실행된다.

커널(kernel)

자원을 관리하는 모듈의 집합을 말한다. 운영체제 기능의 핵심적인 부분을 모아 놓은 부분이다.

메모리 관리나 스케줄링 인터럽트 처리 등의 기능을 담당하고 사용자는 직접 커널의 기능을 제어할 수 없다. 그저 셸에 의해 의뢰할 뿐이다. 커널은 항상 필요로 하는 부분이기 때문에 메모리에 적재되어 있다.

스레드(thread)

프로세스는 실행 환경부분과 제어부분의 두 부분으로 나눌 수 있다. 여기서 스레드란 프로세스의 제어부분만을 말하는데, 실행에 필요한 최소한의 정보만 가지고 자신에 속해 있는 프로세스의 기억장치나 파일과 같은 실행환경을 다른 스레드와 공유하여 프로세스의 생성과 문맥교환 등의 오버헤드를 줄여 운영체제의 성능을 개선할 수가 있다.

비선점(nonpreemptive) 스케줄링

어떠한 자원이 특정 프로세스에 할당이 되면, 실행을 종료할 때까지 그 프로세스가 중앙처리장치의 사용권을 독점하여 사용하는 것.

짧은 작업들을 기다리게 되는 경우가 있지만 모든 프로세스 관리에 공정하다.

병행(concurrent) 프로세스

시스템 내 다수의 프로세스들이 동시에 실행되는 것을 말한다. 프로세스들이 시스템 내에 동시에 존재하지만 어느 한 순간 단 한 프로세스만 중앙처리장치에서 실행된다.

선점(preemptive) 스케줄링

특정한 프로세스가 중앙처리장치를 효율적으로 사용할 수 없는 시점에 이를 때마다 중앙처리장치의 사용권이 다른 프로세스로 옮겨지는 방식이다. 특히 높은 우선순위의 프로세스들이 급하게 실행해야 할 경우에 유용하게 사용된다.

참고영상

 

 

자료출처

 

https://m.terms.naver.com/entry.naver?docId=2073347&cid=44414&categoryId=44414 

 

운영체제

[ 1. 개념 및 정의] 운영체제는 모든 하드웨어와 모든 소프트웨어를 관리하는 컴퓨터시스템의 한 부분인 “실행 관리자”라고 정의할 수 있다. 운영체제는 누가 시스템을 사용할 수 있고, 어떻게

m.terms.naver.com

 

반응형