내맘대로 정리

소프트웨어 정리

하나의묵 2020. 3. 11. 12:19

 

1. 운영체제

1) 운영체제(OS)의 개념

하드웨어와 사용자 사이에서 인터페이스를 제공하고, 한정된 시스템 자원을 더욱 효율적으로 관리하여 컴퓨터의 성능을 향상하는 시스템 소프트웨어

-컴퓨터 시스템의 구성 : 하드웨어, 운영체제, 응용 프로그램, 사용자

 

2) 운영체제의 목적

처리량 향상

응답 시간 단축

신뢰성 향상

유용성 증대

 

3) 운영체제의 역할

시스템 자원을 관리하는 역할 *시스템 자원 : 입출력장치, 프로세스, 정보, 기억장치

프로세스 관리

-프로세스 : 주기억장치에서 현재 실행 중인 프로그램

기억장치 관리

입출력장치 관리

정보 관리

 

4) 운영체제의 분류

운영체제는 중앙처리장치(CPU)의 작업 처리 방식에 따라 나눌 수 있음

일괄 처리 시스템 : 자료를 즉시 처리하지 않고 일정 기간(or 일정량)이 될 때까지 모아 두었다가 한꺼번에 처리 하는 방식 (전기 요금, 수도세, 가스 요금, 급여 처리 등)

다중 프로그래밍 시스템 : 다수의 프로그램을 주기억장치에 적재시킨 후 CPU를 번갈아 가며 사용하는 방식

다중 처리 시스템 : 하나의 컴퓨터에 두 개 이상의 CPU를 탑재하여 동시에 여러 프로그램을 처리하는 방식

시분할 시스템 : 각 작업에 일정한 CPU 시간을 할당하고 주어진 시간 동안 작업하는 방식

실시간 시스템 : 입력된 데이터를 즉시 처리한 후 바로 결과를 보냄 (환자 심박수 등)

-경성 실시간 시스템, 연성 실시간 시스템으로 나누어짐

분산 처리 시스템 : 네트워크를 통해 연결된 다수의 컴퓨터 시스템에 작업과 자원을 분산시켜 처리하는 방식

(클라우드 등)

-목적 : 자원을 공유, 연산 속도와 신뢰성 향상, 통신 기능을 활용하기 위해서

 

3. 프로세스

1) 프로세스의 개념

일반적으로 실행 중인 프로그램이라는 개념이 널리 사용됨

*프로그램과의 비교

-프로그램 : 디스크에 저장된 파일과 같은 수동적인 개체

-프로세스 : 다음에 실행할 명령어를 지정하는 프로그램 카운터를 가진 능동적인 개체

-, 프로그램이 주기억장치에 적재되어 처리를 시작할 때 비로소 프로세스라는 활동적인 개체가 됨

* 프로세스 상태

초기 상태, 준비 상태, 실행 상태, 대기 상태, 종료 상태

 

2) 프로세스 제어 블록

: 프로세스에 대한 정보를 운영체제에 제공하는 자료 구조

-프로세스가 생성될 때 만들어졌다가 프로세스가 실행을 마치면 삭제됨

 

3) 병행 프로세스

: 두 개 이상의 연관된 프로세스가 동시에 실행되는 것

*두 개 이상의 프로세스들이 병행 처리 상태에 있으면 예측 불가능한 결과가 발생

이러한 오류를 막기 위해 다음과 같은 기법 사용

동기화 : 프로세스의 실행 시간에 따른 처리 순서를 결정하는 것

임계 구역 : 공유 자원(데이터)을 읽고 수정하는 등의 작업이 이루어지는 부분

상호 배제 : 프로세스 동기화의 특수한 형태, 하나의 프로세스가 공유 자원을 사용하는 동안에는 다른 프 로세스가 공유 자원을 사용하지 못하게 하는 것

 

4) 교착 상태

: 다중 프로그래밍 시스템에서 하나 이상의 프로세스가 절대 일어나지 않을 특정 사건을 기다리고 있는 상태

 

발생하는 이유

: 다수의 프로세스에 의해 공유되는 자원이 특정 프로세스에 할당되어 독점적으로 사용될 때 다른 프로세스가 그 자원을 요구하면 발생

 

*교착 상태의 발생 조건

상호 배제 : 오직 하나의 프로세스만 자원을 사용할 수 있다는 조건

보유와 대기 : 어떤 프로세스가 자신에게 할당된 자원을 보유하면서 다른 프로세스의 보유 자원을 추가적으로 요구하는 상태

비선점 : 어떤 프로세스에 할당된 자원을 다른 프로세스가 강제로 선점할 수 없다는 조건

환형 대기 : 각 프로세스가 자신에게 할당된 자원을 보유하면서 상대방의 자원을 요청하는 상태

*교착 상태의 해결 방안

교착 상태 예방

교착 상태 회피

교착 상태 탐지

교착 상태 회복

 

 

 

5. 주기억장치 관리 기법

1) 단일 프로그래밍 기법 (초기 컴퓨터 시스템에서 사용하던 가장 단순한 방식)

-운영체제와 하나의 사용자 프로그램만 주기억장치에 적재

-주기억장치의 빈 공간이 있어도 다른 사용자 프로그램을 실행할 수 없음

-자원 낭비가 심함

-주기억장치의 용량보다 작은 프로그램만 실행

 

2) 다중 프로그래밍 기법

고정 분할 다중 프로그래밍 기법

-주기억장치를 다수의 고정된 크기로 나눠서 실행 중인 여러 프로세스에 할당

-분할은 하나의 작업이 적재될 수 있는 일정한 크기의 기억 공간

*단편화 현상 : 작업과 분할의 크기가 일치하지 않아 사용하지 못하는 빈 공간이 생기는 현상

-내부 단편화 : 분할에 작업을 적재한 후 빈 공간이 남는 현상

-외부 단편화 : 적재할 작업보다 분할의 크기가 작아서 분할이 빈 공간으로 남는 현상

 

가변 분할 다중 프로그래밍 기법

-고정 분할 다중 프로그래밍 기법의 단점을 보완한 기법

-고정된 분할의 경계를 없애고 각 작업에게 필요한 만큼의 기억 공간을 할당

-작업이 완료되면 사용되지 않는 기억 공간을 회수하여 관리

 

-새로운 작업의 적재와 완료된 작업의 기억 공간 회수가 반복됨에 따라 단편화 현상이 발생

통합 : 인접한 빈 공간을 합병하여 하나의 큰 공백을 형성하는 기법

집약 : 주기억장치의 한쪽 끝에 하나의 큰 공백을 형성하는 기법

 

 

6. 가상기억장치

: 현재 실행중인 프로그램의 일부를 주기억장치에 적재하고 나머지는 보조기억장치에 유지하여 프로그램 전체가 주기억장치에 존재하지 않아도 실행을 가능하게 함

 

7. 가상기억장치 구현 기법

1) 페이징 기법

-가상기억장치를 일정한 크기의 페이지로 나누어 관리하는 기법

-주기억장치는 페이지와 크기가 동일한 페이지 프레임으로 분할하여 사용

-가상 주소 V=(p, d) p=페이지 번호, d=변위, s=세그먼트 번호

2) 세그먼테이션 기법

-프로그램이나 데이터를 용도에 따라 가변 크기(세그먼트)로 분할하여 관리

-가상 주소 V=(s, d)

3) 페이징/세그멘테이션 혼합 기법

-모든 세그먼트를 페이지 단위로 다시 분할해 외부 단편화 현상을 해결

-세그먼트의 크기는 페이지의 정수 배

-가상 주소 V=(s, p, d)

 

-----------------------------------------------------------------------------------------------------------------------------------------------------------------

 

1. 멀티미디어

: 미디어(그래픽, 이미지, 사운드, 비디오 등)를 두 개 이상 사용하여 어떤 목적을 가진 콘텐츠로 제작하고 통신 매체로 제 3자에게 제공하는 기술

 

2. 멀티미디어의 특징

: 디지털화, 쌍방향성, 통합성, 비선형성

 

디지털 저작권 관리(DRM)

1) 정의 : 콘텐츠의 생성에서 유통 및 관리까지의 전 과정에 대해 콘텐츠 제공자의 권리와 이익을 보호하기 위한 기

2) 근본적인 목적 : 콘텐츠 복제 자체를 불가능하게 만드는 게 아니라 복제는 자유롭게 허용하되 복제된 콘텐츠의 사용료는 반드시 지불할 수 있도록 하는 것

3) 구성 : 디지털 콘텐츠, 사용자, 라이센스

 

멀티미디어 콘텐츠의 저작권 보호 기법

1) 암호 기법

: 평문을 제 3자가 알 수 없도록 암호문으로 변환하여 전송하는 기법

2) 디지털 워터마킹 기법

: 사진이나 동영상 등의 디지털 콘텐츠에 저작권 정보와 같은 비밀 정보를 삽입하는 기술

*마크를 인지할 수 있는 가시성 워터마킹’, 마크를 인지할 수 없는 비가시성 워터마킹으로 나뉨

3) 디지털 핑거프린팅 기법

: 정당하게 구입한 콘텐츠를 부정한 방법으로 재배포하는 것을 방지하는 것

저작권자 또는 판매자의 정보가 아닌 콘텐츠를 구입한 사용자의 정보를 콘텐츠에 삽입

 

모바일 플랫폼

1) 정의 : 모바일 운영체제를 기반으로 단말기 하드웨어에 상관없이 다양한 애플리케이션들이 실행될 수 있도록 지원하는 환경

2) 구현 방식

공개형 : API를 개발자에게 제공

특징

-라이선스 및 로열티 비용 부담

-업체별 차별화가 어려움

-신뢰성과 안정성 우수

종류 : 윈도우 폰, iOS

오픈 소스형 : 소스 코드를 공개

특징

-다양한 모바일 기기에 최적화된 사용자 인터페이스와 애플리케이션 제공 가능

-독자적인 플랫폼이 없더라도 저렴하게 애플리케이션 개발 가능

-모바일 콘텐츠의 다양화 유도 및 시장 활성화에 기여

종류 : 리모, 안드로이드, 심비안

3) 종류

리모 재단의 리모와 타이젠, 캐노니컬의 우분투 터치, 구글의 안드로이드, 애플의 iOS, 마이크로소프트의 윈도우 폰, 노키아의 심비안, RIM의 블랙베리 등

 

소셜 네트워크 서비스

1) 정의 : 인터넷에서 개인 정보를 바탕으로 타인과 상호 교제하는 서비스

2) 종류 : 페이스북, 트위터, 구글 플러스, 포스퀘어 등

 

소셜 네트워크 서비스의 특징

서버 중심으로 서비스가 실행되고 포털이 정하는 정책에 따라 사용 방식이 결정된다.

사용자의 콘텐츠 소유권이 제한적으로 인정된다.

온라인 커뮤니티의 확장으로 볼 수 있으며, 웹 기반의 정적 소셜 관계를 기반으로 하기 때문에, 미리 정해진 개별 취미와 친밀도 위주의 서비스를 제공한다.

웹에서 모바일 기기로 영역이 변경 및 확장되고 있다.

 

모바일 기기의 사회적 영향

1) 디지털 치매 : 모바일 기기의 과도한 사용으로 뇌 기능이 손상되어 어느 순간부터 인지 기능을 상실하는 질병

2) 스마트폰 중독

 

 

 

1. 유비쿼터스 컴퓨팅

1) 정의 : 일상생활에 사용되는 모든 사물에 칩을 넣어 컴퓨터를 언제 어디서나 존재하게 하여 사람들이 의식하지 않고 자연스럽게 이용하도록 만든 것

2) 핵심 개념 : 보이지 않는 컴퓨터, 조용한 컴퓨터

3) 특징

네트워크는 항상 연결되어 있어야 함

사용자에게 친화력 있는 인터페이스로 사용자에게 보이지 않아야 함

현실 세계에서 언제 어디서나 사용할 수 있어야 함

사용자의 상황에 따라 서비스 내용이 변해야 함

 

4) 종류

웨어러블 컴퓨팅

-정의 : 착용형, 의복 형태의 개인용 컴퓨터

-요구사항 : 하드웨어 플랫폼 기술, 사용자 인터페이스 기술, 상황 인지 기술, 저전력기술, 근거리 무선 통신 기술

노매딕 컴퓨팅

-정의 : 휴대기기와 결합해 언제 어디서나 외부와 접속할 수 있는 기술

-네트워크의 이동성을 극대화

퍼베이시브 컴퓨팅

-정의 : 모든 사물에 컴퓨터를 심어서 도처에 컴퓨터가 퍼져 있는 기술

-인터넷 냉장고와 같은 가전제품들

감지 컴퓨팅

-정의 : 인간의 감각기관 같은 센서 장치를 이용해 정보를 획득하고 처리하는 기술

-사용자의 행위 감지(사물을 만지거나 보거나 말하거나 움직임 등)

-주변 환경 감지(움직임, 거리 정보, 냄새, 소리, , 진동, 온도, 압력 등)

-: MIT 미디어랩의 해피타트 프로젝트

 

 

사물인터넷

1) 등장 배경 : 유비쿼터스 컴퓨팅, 사물지능통신 등의 기술이 더욱 발전된 형태

2) 정의 : 각종 사물에 센서와 통신 기능을 내장하여 인터넷에 연결하는 기술

3) 구조

 

4) 핵심 기술

센싱 기술 : 가속도, 중력, 온도, 습도 등 다양한 현상을 센서로 감지하여 사물과 주위 환경으로부터 정보를 수집

네트워킹 기술 : 인간과 사물, 서브스 등의 분산된 컴퓨팅 자원을 서로 연결

인터페이스 기술 : 센서에 의해 감지된 센싱 정보를 이용하여 특정 기능을 수행하는 응용 서비스와 상호 연동

디바이스 기술 : 사물인터넷에 사용되는 장치와 관련된 기술

 

5) 상용화 사례 : 구글 글라스, 오큘러스 리프트, 스마트 워치, 구글카, 스마트 팜 서비스, 스마트 홈 서비스, 실시간 차량 관제 서비스 등

 

빅데이터 컴퓨팅

1) 등장 배경 : 스마트 폰과 같은 디지털 기기의 보급과 SNS의 부상으로 엄청난 양의 데이터가 생산

러한 방대한 양의 데이터를 다루는 기술 = 빅데이터

2) 일반적인 정의 : 일반적인 데이터베이스 규모를 넘어선 매우 큰 규모의 데이터로부터 가치를 추출하고 결과를 분 석하는 기술

3) 기존 데이터와의 차이점

4) 특성

데이터의 규모 : 데이터의 크기가 일정 수준 이상이어야 의미 있는 데이터를 얻을 수 있음

데이터의 변화 속도 : 잘 가공된 데이터가 아닌 가공되지 않고 계속해서 변하는 원시 데이터에서 가치를 찾음

데이터의 다양성 : 빅데이터가 다루는 데이터는 데이터가 만들어내는 정보의 가치가 사실에 가깝고 사람들이 체감하고 공감하는 내용에 가까움

 

5) 빅데이터 처리 프로세스와 분석 기술

빅데이터는 기존의 데이터 관리 및 분석 기술로는 감당하기 어려운 방대한 양의 데이터를 다룸.

 

'내맘대로 정리' 카테고리의 다른 글

앱비지니스 모델  (0) 2020.03.11
PG와 VAN  (0) 2020.03.11
운영체제  (0) 2020.03.11
논리회로 정리  (0) 2020.03.11
정보통신기술 정리  (0) 2020.03.11