반응형
250x250
Notice
Recent Posts
Recent Comments
Link
관리 메뉴

짧은코딩

운영체제의 개요 본문

학교/운영체제

운영체제의 개요

5_hyun 2021. 9. 11. 22:04

컴퓨터시스템 = 사용자 + 하드웨어 + 소프트웨어

사용자: 사람 or 프로그램

소프트웨어: 시스템SW, 응용SW(운영체제라는 다리 역할이 있어야 하드웨어랑 연결)

운영체제: 조정자 역할, 자원관리자 역할, 입출력장치와 사용자프로그램 제어 역할

하드웨어: CPU, Memory, I/O Devices

자원관리: 프로세스관리, CPU관리, 메모리관리, 입출력장치관리을 하여 성능 향상

자원보호: 오류를 탐지해서 컴퓨터가 죽는 것을 방지하는 컴퓨터의 안정성

하드웨어 인터페이스: CPU, 메모리 등 특성이 다르더라도 일관성있는 접근제어

사용자 인터페이스: 화면의 형태, 마우스의 부드러움 등 제공 

 

-운영체제의 발전과정

시험 OMR 카드 판독기 예시

일괄처리(Batch System): OMR 카드 100명이 있다면 100명의 카드를 한방에 취합해서 처리하는 과정

1401: 입력작업

7094: 채점작업(메인 처리)

1401: 결과 출력작업

오프라인(Offline) System: 위 사진처럼 끊어지고 다시 이어지는 과정

Buffering: CPU와 운영체제 간에 성능(효율성)을 높이기 위해서 사람이 입력하는 값을 메모리의 버퍼에 쌓아뒀다가 한 번에 CPU에 전송해 처리하는 기법

Spooling: 예전엔 메모리가 비싸서 조금 느리지만 싼 디스크에 한 장씩 보내서 입출력하는 방법(프린터에서 이용)

 

-운영체제 유형별 특징

1. Multi Programming System(= Multi tasks = Multi Processes)

프로세스: CPU가 처리해야 할 일

어떤 처리를 하기 위해선 입력 -> 처리 -> 출력이 공통 과정

성능을 높이기 위해선 입력 장치, CPU, 출력 장치가 놀면 안 됨

따라서 입력 장치, CPU, 출력 장치를 쉬지 않고 사용하면 프로세스 1, 2, 3을 동시에 실행시킬 수 있다.

 

2. Time Sharing System(시분할 시스템, TSS)

요즘엔 잘 사용되지 않음

CPU의 사용시간을 분할해서 사용하게 해주는 시스템

옛날엔 컴퓨터가 비싸서 큰 본채를 하나 두고 모니터만 따로 썼다. 

CPU가 노는 순간 비효율적인 시스템이 되어버림

각각 프로세스마다 CPU의 실행 시간을 잘라서 공유하는 방법

 

3. Distributed Processing System(분산 시스템)

독립된 2개의 컴퓨터를 네트워크로 연결하고 서로 분산이 되어 하나의 일거리를 나누어 처리하는 방법

 

4. Multi Processor System

프로세서 = CPU

프로세스 = 일거리

하나의 본채에 CPU(프로세서)가 여러 개 존재

-장점

1) 처리율 증가(단위 시간당 처리할 수 있는 건수)

2) 비용절감(예전엔 CPU를 여러 개 사용하려면 본채가 많이 필요)

3) 신뢰성 증가(한 개가 고장 나도 실행 가능)

 

Asymmetric Multiprocessing(AMP)

마스터 프로세서가 일거리를 정리하고 다른 프로세서에게 배분하는 역할

 

Symmetric Multiprocessing(SMP)

마스터 프로세서가 없고 서로 독립적이고 대등한 관계, 듀얼 코어 CPU 같은 것의 방법, 최근의 컴퓨터 운영체제에 사용

 

Blade Server

서랍 구조로 생겨 넣다 뺐다가 가능, 서랍 하나가 프로세서이며 CPU가 n개가 존재, ex) 슈퍼컴퓨터와 같은 초고성능

하드웨어가 고성능이라도 적절하게 일거리를 줄 운영체제가 필요하다.

 

5. Desktop System(단일 사용자 시스템)

집에 있는 PC

 

6. Cluster System

디스크를 외부로 빼놓고 여러 개의 컴퓨터와 연결

각각의 컴퓨터 결과가 같은 디스크에 저장되어 공유

하드디스크, 컴퓨터 고장으로 인한 불상사를 막기 위해 은행, 아마존 클라우드 서비스 등 에서 사용됨

첫 번째 컴퓨터가 고장 나도 운영체제가 두 번째 컴퓨터로 자동 연결

 

7. Real-Time System

데이터가 발생 시 즉시 처리

시급한 순서(우선순위) 기준으로 처리, 처리 시간 단축, 처리 비용 절감

센서가 있어 화제 발생 시 최우선으로 알림, 자율 주행 자동차 등에 활용

 

8. Client - Server System

웹, 메일 등에 이용

클라이언트가 서버에게 요청을 하고 서버는 요청을 받아서 응답

클라이언트 = 이용자, 서버 = 제공자

 

9. P2P(Peer to Peer) System

주종 관계가 없다.

클라이언트-서버 구조의 단점인 서버 과부하를 해결하기 위해 만든 시스템

서버를 거치지 않고 사용자와 사용자 연결(서버 부하가 분산되는 효과)

서로가 이용자인 개념으로 이용된다.

 

10. IoT(Internet of Things, 사물인터넷)

기기, 디바이스 같은 사물들이 인터넷을 통해서 연결되어 있음

센서와 통신 기능이 내장되어 있어 운영체제가 필요하다.

사물들이 데이터를 주고받아 스스로 분석하고 정보 제공

 

11. Cloud Computing

사용자들의 단발기는 껍데기이고 서버로부터 내용을 받고 있다.

서버에 엄청난 용량과 내용이 있다.

하지만 인터넷이 잘 안되면 무용지물

 

12. Edge Computing

인터넷 죽으면 못쓰는 클라우드 컴퓨팅을 보안하기 위해 단말기에서 처리할 수 있는 방식

하지만 IoT가 발전할수록 센서 수가 많아져 네트워크 전송량 증가, 클라우드 서버 부하 증가

IoT 센서들과 클라우드 서버 간의 경계(Edge)에서 처리할 수 있는 데이터는 처리하여 부하를 줄이는 방식

 

728x90
반응형
Comments