컴공생의 공부LOG

[컴퓨터개론] 컴퓨터와 소프트웨어 본문

학교 수업/1학년 1학기

[컴퓨터개론] 컴퓨터와 소프트웨어

푸우키 2024. 11. 20. 01:29

소프트웨어의 종류와 계층적 구조

 

 

소프트웨어의 필요성 및 종류

 

 

 

소프트웨어 필요성

- 컴퓨터는 하드웨어만으로 동작하지 않음

- 하드웨어와 별도로 컴퓨터를 움직이기 위한 소프트웨어가 필요함

- 소프트웨어란?

-> 하드웨어를 사용하여 특정 목적을 달성하기 위한 데이터 처리 방법 모음

 

 

소프트웨어의 종류

 

 

 

응용 소프트웨어

- 특정 작업 시 사용하는 소프트웨어

문서 작성 : 아래아한글, MS워드

인터넷 : 익스플로러, 크롬

영화 재생 : 곰플레이어, 팟플레이어

발표 자료 제작 : 파워포인트

 

 

시스템 소프트웨어

- 시스템 소프트웨어(system software) = 운영체제 + 유틸리티

- 운영체제(Operating System, OS)

-> 컴퓨터 전체를 관리하고 운영하는 소프트웨어

-> 하드웨어를 작동하는 기본 규칙과 절차를 규정

ex) Windows, OSX, Android, iOS, ···

-유틸리티(utility)

-> 운영체제를 도와 시스템을 관리하는 소프트웨어 (백신 프로그램 등)

 

운영체제와 응용 소프트웨어의 관계

-응용 프로그램은 운영체제에 허락을 받은 후에만 하드웨어에 접근 가능

운영체제와 응용 소프트웨어 관계

 

 

 

운영체제의 구성

- 커널(kernel) : 운영체제 핵심 기능을 담아놓은 소프트웨어

- 인터페이스(interface) : 소프트웨어와 커널을 연결시켜 주는 역할

 

인터페이스 역할

 

 

 

운영체제, 데이터베이스, 네트워크

 

운영체제

 

 

 

운영체제의 종류

- 대형 컴퓨터 : UNIX

- 개인용 컴퓨터 : Windows, OSX, Linux, ···

- 스마트폰(모바일 운영체제) : iOS, Andriod

다양한 운영체제 제품

 

 

임베디드 운영체제(Embedded OS)

- 저성능CPU, 저용량 메모리를 갖는 시스템에 내장 할 수 있도록 만든 OS

- MP3플레이어, 내비게이션, 스마트 시계, 스마트 TV 등에 사용

- 일반 운영체제에 비해 몇가지 기능이 빠짐

임베디드 운영체제의 예

 

 

 

운영체제를 내장한다는 의미

- 단일 기능이 아니라 여러 기능을 확장하여 사용 할 수 있다는 뜻

- 스마트폰 : 어플을 설치해 게임이나 네비게이션 같은 기능 사용 가능

- TV : 시청뿐 아니라 동영상 감상, 인터넷 서핑 등 다양한 기능 사용 가능

 

안드로이드 OS를 탑재한 TV

 

 

 

운영체제 역할

1. 성능 향상

새로운 기능 추가, 성능을 변경이 가능하므로 성능 및 효율성 향상 가능

2. 자원 관리 (중재자 역할)

제한된 장치를 서로 차지하려는 응용 프로그램 사이에서 자원 관리

3. 자원 보호

악의적인 혹은 미숙한 사용자로부터 시스템 자원을 보호

4. 사용자 인터페이스 제공

컴퓨터 하드웨어와 소프트웨어를 편리하게 사용 할 수 있도록 환경 제공

 

운영체제의 정의와 핵심기능

운영체제의 정의

- 사용자에게 편리한 인터페이스를 제공

- 자원을 효율적으로 관리하는 소프트웨어

운영체제의 핵심 기능

 

 

운영체제의 구조

- 운영체제는 크게 커널과 사용자 인터페이스로 구성

- 커널내에는 드라이버와 시스템 호출 기능이 있음

운영체제 구조

 

 

UI / UX

 

 

 

스마트폰의 UI

스마트폰 인터페이스

 

 

 

GUI(Graphical User Interface)

- 마우스와 그래픽을 이용하는 사용자 인터페이스

문자 기반 컴퓨터 화면

 

 

 

사용자 경험(UX)

- 제품을 사용하는 방법을 따로 설명하지 않아도 조작이 가능한 인터페이스

- 애플은 직관적이고 편한 인터페이스를 가진 제품을 출시로 성공을 거둠

(왼쪽) 윈도우용 마우스 / (오른쪽) 애플용 마우스
(왼쪽) 일반 MP3 플레이어 / (오른쪽) 애플 아이팟

 

 

 

스마트폰의 UX

- 손가락 1개만 인식하는 구형 스마트폰에서 사진 크기를 변환 할 경우, 측면 버튼을 눌러야 함

- 최근 스마트폰은 손가락 여러 개를 동시에 인식 할 수 있음. 손가락 2개를 벌리면 사진이 확대됨

(왼쪽) 일반 스마트폰 / (오른쪽) 아이폰

 

 

 

애플과 UX

- UX라는 단어를 처음 알린 사람은 스티브잡스

- 사용자를 이해하고 편리함을 제공하는 것이 더 중요

- UX 인터페이스는 주로 디자인 관련 학과에서 많이 연구함

- 좋은 인터페이스 개발을 위해 심리학 전공자들이 개발팀에 합류하기도 함

애플 에어포드 광고

 

 

데이터베이스

 

 

 

로그인 웹 페이지

- 데이터베이스는 대용량의 데이터를 쌓아 놓은 것

- 아이디와 패스워드는 데이터베이스에 저장되어 있음

- 웹사이트는 데이터베이스에서 사용자 정보를 가져와 로그인 처리

 

 

데이터 관리

- 데이터가 많아지면 이를 관리 할 수 있는 시스템이 필요

- 컴퓨터를 사용하면 일일 판매 기록이나 재고량을 파악하기 쉬움

- 컴퓨터로 데이터를 가공하면 정보(information)가 됨

(왼쪽) 장부에 기록하는 방식 / (오른쪽) 컴퓨터로 관리하는 방식

 

 

 

데이터베이스의 정의

- 여러 사용자가 공유하고 통합해서 운영하는 데이터의 집합

 

 

 

DBMS(DataBase Management System)

- DB를 관리하고 작업을 통해 의미있는 정보를 생성 할 수 있는 시스템

- DB에 쌓인 데이터의 삽입, 삭제, 검색 등을 쉽게 할 수 있게 해줌

- 데이터중복성, 종속성, 보안, 백업과 회복의 문제 모두 해결 가능

- 자신을 통해서만 DB에 접근 할 수 있기 때문에 DB를 보호 할 수 있음

- 사용자는 데이터가 어떻게 저장되었는지 알 수도 없고, 알 필요도 없음

 

SQL(Structured Query Language)

- 데이터베이스에 저장된 데이터를 처리하려고 만든 언어

- 질문(query)을 하면 DBMS가 응답을 하는 구조이기 때문에 붙은 이름

- SQL은 스키마를 만들어서 데이터를 관리함

- 스키마는 데이터의 삽입, 삭제, 갱신 등의 작업에 적합한 구조를 지님

SQL(Structured Query Language)

 

 

DBMS의 종류

Oracle Database

- 상업용 DBMS로 가장 성공한 제품

 

MySQL

- 1995년에 발표된 오픈소스 DBMS

DBMS 제품 홈페이지 화면

 

 

 

네트워크

 

 

 

네트워크의 탄생 배경

- 컴퓨터끼리 전선으로 연결하여 데이터 전송

- 데이터를 직접 들고 이동할 필요가 없어짐

 

 

 

프로토콜(protocol)

- 컴퓨터를 선으로 연결하는 것만으로는 통신이 되지 않음

- 통신을 하기 위해서 서로 간에 규정한 약속

-> 어느 속도로 데이터를 보낼지, 어떤 신호를 보내 데이터 전송을 끝낼지 등

프로토콜을 지키지 않아 통신이 실패한 경우

 

 

 

네트워크 관련 용어

- 대부분 P로 끝나며, protocol을 의미

- 파일 전송 프로토콜 (File Transfer Protocol, FTP)

-> 컴퓨터와 컴퓨터 간에 파일을 전송 할 때 사용하는 프로토콜

- HTTP(Hyper Text Transmission Protocol)

-> 웹페이지를 볼 때 사용하는 프로토콜

- TCP(Transmission Control Protocol)와 IP (Internet Protocol)

-> 인터넷을 이용 할 때 사용하는 프로토콜

 

 

인터넷(internet)

- 네트워크를 하나로 묶는 기술

- 인터넷 등장 배경

1. 컴퓨터 간에 데이터를 편리하게 전송 할 수 있기에 급속도로 보급

2. 규격이 제각각이고 프로토콜간에 호환성이 없음

3. 표준 없이 여러 회사에서 각자 규격을 가진 LAN들을 출시함

4. 위 문제를 해결하기 위해 인터넷 등장

 

 

알파넷(ARPAnet)

- 미국에서 육군, 해군, 공군이 서로 다른 종류의 LAN을 구축

- 서로 호환이 되지 않아 효율적으로 명령을 전달하기가 어려웠음

- 1960년대 미국 국방성에서 1969년 알파넷(ARPAnet)을 구축

- 서로 다른 종류의 LAN을 선으로 연결

다양한 네트워크를 연결한 알파넷

 

 

TCP / IP

1. IP(Internet Protocol)

- 네트워크와 네트워크 사이에서 데이터를 주고받는 규칙을 정한 프로토콜

- IP를 처음 만들 당시 목적지까지 데이터를 보내는 데는 성공했음

- 하지만 데이터 순서가 뒤바뀌거나, 일부가 훼손되는 일이 발생

- 이런 문제를 해결하기 위해 TCP를 개발함

 

2. TCP(Transmission Control Protocol)

- 인터넷으로 받은 데이터를 목적지 프로그램에 전달하는 창구 역할

- 데이터 전송 오류 및 순서를 바로잡아 최종 목적지 프로그램까지 전달