티스토리 뷰

반응형

1. 운영체제

- 일반 컴퓨터, 노트북, 스마트폰의 전원을 켜면 가장 먼저 만나게 되는 소프트웨어

- ex) 윈도우, MacOS, Android, 리눅스 등

 

임베디드 운영체제

- CPU의 성능이 낮고 메모리 크기도 작은 시스템에 내장하도록 만든 운영체제

- 임베디드 운영체제가 있는 기계는 기능을 계속 향상할 수 있음

 

운영체제의 필요성

- 컴퓨터는 운영체제가 없어도 작동하지만 기능에 제약이 따른다.

- 운영체제가 있으면 다양한 응용프로그램을 제공하고 새로운 기능을 쉽게 추가할 수 있다.

- 운영체제는 컴퓨터의 성능을 향상시키고 사용자에게 편리한 인터페이스를 제공한다.

- 운영체제는 사용자가 직접 지원에 접근하는것을 막아서 컴퓨터 자원을 보호한다.

- 사용자 인터페이스와 하드웨어 인터페이스를 이용하여 자원에 접근 가능하다.

 

운영체제의 정의

- 응용프로그램이나 사용자에게 컴퓨터 자운을 사용할 수 있는 인터페이스를 제공하고 그 결과를 돌려주는 시스템 소프트웨어

- 응용 프로그램이나 사용자에게 모든 컴퓨터 자원을 숨기고 정해진 방법으로만 컴퓨터 자원을 사용할 수 있도록 제한

위처럼 사용자가 응용프로그램을 사용하고 운영체제를 거쳐 컴퓨터 하드웨어에 영향을 미침

 

운영체제의 역할

 

자원관리

- 컴퓨터 시스템의 자원을 응용프로그램에 나누어 주어 사용자가 원활하게 작업할 수 있도록 지원

- 자원을 요청한 프로그램이 여러가지면 적당한 순서로 자원을 배분하고 적절한 시점에 회수하고 다른 응용프로그램에 나누어줌

 

자원보호

- 비정상적인 작업으로부터 컴퓨터 자원을 보호

 

하드웨어 인터페이스 제공

- 사용자가 복잡한 과정 없이 다양한 장치를 사용할 수 있도록 해주는 하드웨어 인터페이스 제공

- CPU, 메모리, 키보드 등 다양한 하드웨어를 일관된 방법으로 사용할 수 있도록 지원

 

사용자 인터페이스 제공

- 사용자가 운영체제를 편리하게 사용하도록 지원 (GUI)

 

운영체제의 목표

- 자원관리 -> 효율성

- 자원보호 -> 안정성

- 하드웨어 인터페이스 제공 -> 확장성

- 사용자 인터페이스 제공 -> 편리성 //앞의 기능들이 아무리 훌륭해도 사람이 사용하기 불편하면 소용없음

 

 

2. 운영체제의 역사

아래 주소 참고

 

https://rlg1133.tistory.com/80

 

ICT 지식) 컴퓨터의 발전

컴퓨터의 역사는 1642년 프랑스 파스칼의 덧셈기로부터 시작이 되었다. 거기에 영국의 수학자가 덧셈기를 발전시키고 앨런 튜링의 튜링머신이 개발 되면서 범용성을 가진 컴퓨터로 발전되게 되�

rlg1133.tistory.com

 

0기 - 1940년대 진공관사용

1기  - 1950년대 일괄작업시스템, 운영체제의 등장

2기 - 196-년대 초반 키보드 모니터를 사용한 대화형 시스템

3기 - 1960년대 후반 C언어를 사용하고 다중 프로그래밍 기술 개발, 시분할 시스템

4기 - 1970년대 개인용컴퓨터(PC)등장, 분산시스템

5기 - 1990년대 웹을 기반으로한 서버/클라이언트 시스템 등장

6기 - 2000년대 스마트폰을 사용한 P2P시스템, 그리드컴퓨팅, 클라우드 컴퓨팅, 사물인터넷 등장

 

일괄작업시스템

천공카드 시스템

- 천공카드 리더를 입력장치로 라인 프린터를 출력장치로 사용

- 프로그램 구성 후 카드에 구멍을 뚫어 컴퓨터에 입력하면 프로그램이 실행되고 실행결과가 라인프린터를 통해 출력

 

대화형 시스템

- 모니터와 키보드가 등장하고 작업에 사용자가 개입하여 게임 등 다양한 응용프로그램을 사용할 수 있게됨

 

시분할 시스템

다중 프로그래밍

- 하나의 CPU로 여러 작업을 동시에 실행하는 기술

- 한 번에 하나의 작업만 가능한 일괄 작업시스템에 비해 효율성이 뛰어남

- 시간을 분할하는 방법 떄문에 여러 작업이 동시에 실행되는것 처럼 보임(시분할 시스템)

- 다중 프로그래밍 시스템에서는 CPU사용 시간을 아주 잘게 쪼개어 여러 작업에 나누어줌

 

시분할 시스템

- CPU 사용 시간을 잘게 쪼개어 작업들에게 나누어줌으로써 모든 작업이 동시에 처리되는 것처럼 보임

- 잘게 나뉜 시간 한 조각을 타임 슬라이스 또는 타임 퀀텀이라고 함

- 오늘날의 컴퓨터에는 대부분 시분할 시스템 적용

 

분산시스템

클라이언트 서버 시스템

- 작업을 요청하는 클라이언트와 거기에 응답하여 요청받은 작업을 처리하는 서버의 이중구조로 나뉨

- 웹 시스템이 보급된 이후 일반인들에게 알려짐

 

P2P 시스템

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

- 서버를 거치지 않고 사용자와 사용자를 직접 연결

- 냅스터(mp3공유 시스템)에서 시작하여 현재는 메신저나 토렌트 시스템에 사용

 

기타 컴퓨팅 환경

그리드 컴퓨팅

- 필요한 기간만큼만 컴퓨터를 사용하고 사용한 금액만큼만 돈을 지불하는 컴퓨팅 환경

- 원격지와 연결하여 대용량 연산

 

클라우드 컴퓨팅

- 그리드 컴퓨팅과  SaaS를 합쳐놓은 상태

- 다양한 작업을 수행하고 기기들 사이에 자유롭게 이동이 가능



사물인터넷

- 사물에 센서와 통신기능을 내장하여 인터넷에 연결하는 기능

 

 

3. 운영체제의 구조

커널과 인터페이스

커널

- 운영체제의 핵심적인 기능을 모아놓은 것

- 메모리관리, 저장장치 관리 등

 

인터페이스

- 커널에 사용자 명령을 전달하고 실행 결과를 사용자에게 알려주는 역할

- GUI를 주로 사용

 

시스템 호출과 디바이스 드라이버

시스템 호출

- 커널이 자신을 보호하기 위해 만든 인터페이스

- 자원의 보호를 위해 자원에 직접 접근하는 것을 차단

 

시스템호출 정리

- 커널영역에 진입할 수 있는 유일한 수단

- 시스템 호출은 커널이 제공하는 시스템 자원의 사용과 연관된 함수

- 운영체제가 제공하는 서비스를 이용하려면 시스템 호출을 이용해야함

 

드라이버

- 커널과 하드웨어의 인터페이스를 담당하며 디바이스 드라이버라고도 함

- 마우스 같은 간단한것 아닌 그래픽카드 같은 복잡한 하드웨어는 제작자가 드라이버를 제공함

 

커널

- 프로세스 관리 : 프로세스에 CPU를 배분하고 작업에 필요한 제반 환경을 제공함

- 메모리 관리 : 프로세스에 작업공간을 배치하고 실제 메모리보다 큰 가상공간을 제공한다.

- 파일 시스템관리 : 데이터를 저장하고 접근할 수 있는 인터페이스를 제공한다.

- 입출력 관리 : 필요한 입출력 서비스를 제공한다.

- 프로세스 간 통신관리 : 공동 작업을 위한 프로세스간 통신 환경을 지원한다.

 

커널의 구성

단일형 구조 커널

- 초창기 운영체제의 구조

- 커널의 핵심기능을 구현하는 모듈들이 구분 없이 하나로 구성

- 장점 : 모듈간 통신 비용이 줄어 효율적 운영이 가능

- 단점 : 모든  모듈이 묶여있어 오류를 처리하기 어려움

            상호 의존성이 높아 작은 결함이 시스템 전체로 확산될 수 있음

            다양한 환경의 시스템에 적용하기 어려움

            현대의 운영체제는 너무 커서 단일형으로 구현하기 어려움

 

계층형 구조 커널

- 비슷한 기능을 가진 모듈을 묶어서 하나의 계층으로 만들고 계층 간의 통신을 통해 운영체제를 구현하는 방식

- 현대에는 대부분 이 구조

 

마이크로 구조 커널

- 프로세스 관리 메모리 관리 등 가장 기본적인 기능만 제공

- 각 모듈은 세분화 되어 존재하고 모듈간 정보 교환은 프로세스 간 통신을 이용하여 이루어짐

 

 

가상머신

가상머신

- 운영체제와 응용프로그램 사이에서 작동하는 프로그램

- JVM이 대표적

- VMware나 Virtual Box 등 포함

 

4. 리눅스 및 기타 OS

리눅스의 개발

- GPL로 배포하고 이어서 소스코드도 공개한 것이 리눅스의 시작

 

애플2의 등장

- 스티브 잡스의 애플

 

스티브잡스의 업적

- 사용자 인터페이스 기술에 집중

- UX기술 개발에 집중

- 아이팟을 출시하여 음악 산업 전체를 뒤집어 엎음

 

모바일 운영체제의 특징

안드로이드의 특징

- 리눅스 커널을 사용하여 GPL을 따름

- 공짜로 누구나 사용하고 오픈소스를 사용해서 누구나 수정, 배포 가능

 

반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함