일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 예외처리
- C언어
- android java
- text to speech
- storyboard
- Swift
- 안드로이드
- Firebase
- FLUTTER
- 준코딩
- Xcode
- 자바
- IOS
- 플러터
- label
- BAEKJOON
- 백준
- 안드로이드스튜디오
- xocde
- customPopup
- 연결리스트
- TextField
- 버블정렬
- Android Studio
- 커스텀팝업
- swift baekjoon
- Android
- 보호와 보안
- 링크드리스트
- deeplink
- Today
- Total
준코딩
시스템 소프트웨어2, 프로그래밍 언어, DB 본문
@@@@@@@시스템 소프트웨어@@@@@@@@
하드웨어: 컴퓨터를 구성하는 기기 장치
소프트웨어: 컴퓨터 시스템이나 주변기기 등의 하드웨어를 작동시켜 원하는 작업 결과를 얻기 위한 프로그램 또는 명령어
시스템 소프트웨어의 역할
운영체제: 하드웨어를 제어, ms windows 나 unix등
드라이버: 주변장치를 관리하는 프로그램
네트워크 프로그램: 인터넷 접속등의 네트워크 기능 수행
-소프트웨어의 계층적 체계
운영체제,컴파일러,데이터베이스,유틸리티
운영체제: 하드웨어를 직접 제어하고 자원을 관리해주는 계층
응용 프로그램들의 실행환경
다른 응용프로그램들의 실행 기반이라는 의미로 플랫폼 이라고 호칭
컴파일러/인터프리터: 응용소프트웨어를 개발하거나 사용자 자신의 프로그램을 개발하기 위하여 컴퓨터가 이해하는 언어로
번역해주는 소프트웨어
프로그래밍언어
컴퓨터가 읽고 사용하는 명령이나 코드의 집합
데이터베이스 관리시스템
:응용소프트웨어와 운영체제 사이에서 대용량 데이터를 효율적으로 관리하기 위한 시스템 소프트웨어
유틸리시 소프트웨어
:사용자가 시스템을 사용하기 편리하게 도움을 주는 프로그램
파일관리,파일설치.압축.,보안, 네트워크 등의 기능을 수행
:시스템 소프트웨어와 응용 소프트웨어를 구별하기 어려운 경우도 있다.
운영체제의 역할:
사용자의 작업명령이나 응용 소프트웨어 실행을 위해 하드웨어 자원을 할당하고 제어
컴퓨터의 시동을권장, 사용자 인터파페이스를 제공, 프로그램을 실행 ,메모리나 파일을 관리, 주변기기 관리,네트붱크 연결
@@@@@@@@@@@@@(2)
부팅: 컴퓨터를 시작 또는 재시작 시키는 과정
콜드부팅: 컴퓨터에 전원을 연결하여 시동
웜부팅: 운영체제에서 컴퓨터를 재시동 시키는것
펌웨어: 하드웨어를 직접 제어하는 부분
하드디스크에 있던 kernel부분을 메모리에 로드
메모리 상주 프로그램으로 대부분 눈에 보이지 않게 백그라운드에서 작업수행.
나머지는 필요할 때 로드
시스템 구성 관리: 어느 하드웨어가 연결되어 있는지 목록을 관리
주변기기와 통신하려면 device driver 필요, 요즘은 자동연결 (Plug & play)
사용자 인터페이스 제공
:입력을 운영체제에서 컴퓨터가 이해할 수 있는 형태로 변환, 처리 결과 및 정보를 화면에 출력
명령어방식: 문자로 구성된 명령을 직접 타이핑
메뉴방식: 기능이 할당된 키 또는 화면의 메뉴 선택사용
그래픽방식: 요즘에는 GUI방식이 많이 사용
프로그램 실행관리
:시스템 자원을 프로그램이나 주변 기기에 할당하며 실행을 제어
단일 사용자 환경의 단일 작업 경우는 문제 없음
여러 개의 프로그램을 동시에 또는 하나의 프로그램을 더 빠르게 실행하고 할때 다양한 기술이 필요
다중작업
시분할기법: 시간을 분할하여 순서대로 돌아가며 실행
병렬처리: 하나의 작업을 여러 개의 cpu에 할당하여 속도를 더 빠르게 하는 기술
다중처리: 여러개의 프로그램을 여러개의 cpu가 실행하여 전체적인 성능을 향상시키는 기술
메모리 관리
:레지스터와 캐시 메모리, 그리고 RAM 및 디스크 등의 메모리 사용을 최적화 하는것이 목적
RAM 상주 부분: 운영체제에서 커널 부분과 상황에 따라 필요한 기능 ,실행 중인 프로그램.,
@@@@@@@@@@프로그래밍 언어@@@@@@@@@@
저수준언어
-기계어: 자료 표현의 기본 단위인 비트의 값 0 과 `로 그대로 표기하는 언
컴퓨터 cpu에서 명령을 수행하기 위해 반드시 필요
cpu의 종류에 따라 각기 고유한 명령어로 구성
(컴퓨터 실행에는 효율적이지만, 사람이 작성하기에는 매우불편)
어셈블리 언어
기계어 명령을 사람이 어느 정도 해독할 수 있도록 문자화 하거나 기호화한 형태.
0과 1의 숫자 대신 그대로 기호화
고수준언어
-명령어가 일상적인 문장에 가까워 코딩 부분이 훨씬 간단
기계어로 번역하는 복잡한 과정을 거쳐야 하지만, 컴퓨터 하드웨어에 독립적이므로 프로그래밍 과정은 더욱 간단
컴파일러
모든 프로그램은 기계어로 번역되어야 프로그램의 실행이 가능
소스 프로그램을 기계어로 번역하여 오브젝트 코드 라 불리는 실행 가능한 프로그램으로 저장
인터프리터
:소스 프로그램 한 줄씩 기계어로 해석하여 바로 실행을 하는 방식.
ABSIC이 대표적. 실행속도는 약간 느리더라도 문제가 안 되는 분야에서 많이 사용,
장점으로는 개발이나 업데이트가 쉽다.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@(2)
인간이 이해하기 쉬운 사물이나 개념을 객체로 표현.
객체의 형식과 처리방법을 클래스 에 한 묶음으로 표현
c++
80년대 Bell연굿 개발
c언어를 확장하여 object, class, event 등 객체지향 개념을 적용
C#
웹서비스 응용에 적합하도록 개발
c++을 확장한 객체지향 언어
java
sun microsystems 사가 차세대 언어로 개발
웹 어플리케이션. 일반 어플리케이션 소형 가전기기에도 사용
application 일반 데스크탑 응용 프로그램
applet: 웹 응용 프로그램
xlet 또는 jlet: 셋탑박스 나 모바일 기기 등에서의 java프로그램
java 컴파일러
일종의 중간형태인 바이트코드 형태로 번역
java vm 에서 바이트 코드를 해석하여 작업을 수행.
제 4 세대 언어
초고수준 언어 로 선언적 언어
절차적 언어에서는 작업의 방법 을 기술
선언적 언어에서는 작업의 대상을 기술
sql rpg 등이 대표적
일반적으로 그래픽 프로그래밍 환경을 제공.
특수 목적 언어
인공지능 처리용 언어 : LISP, Prolog
웹 환경 개발 언어
HTML Peri Td Ajax
데이터와 정보
데이터: 텍스트.숫자,이미지,비디오 등으로 입력 받은 자료를 디스크와 깉은 저장매체에 기록.
정보:데이터를 처리해서 사람이 이해하기 적합한 형태로 만듬
정보는 데이터가 구조화되어 의미 있고 유용성있게 처리된 결과 .
데이터베이스의 개념
필요한 정보를 쉽게 검색하거나 사용할 수 있도록 테이터를 구조화하여 모아놓은것
일관된 형식으로 저장되어 다수의 사용자/프로그램이 공유가능.
중복을 최소화해야한다.
@@@@@@@@@@@@@@데이터베이스@@@@@@@@@@@
관계형 데이터베이스의 계층적 구성
-데이터의 가장 기본 단위는 문자 또는 숫자 -> 필드를 구성
각 필드는 필드명, 데이터형, 크기 등을 지정
-각각의 가로 행에 해당하는 한 줄의 필드는 레코드, 이들 필드들은 서로 연관된 데이터를 가지고 있다.
인덱스 키
-테이블에서 특정한필드 값을 가지는 레코드를 검색하기 위해 설정
-중복된 값을 가지지 않는 필드를 인덱스 키로 지정
-필요시 중복이 발생하지 않도록 복수 개의 필드를 인덱스로 지정
데이터베이스 스키마
-데이터베이스의 전체적인 구조와 가능한 상태를 정의
-테이블과 필드의 관계는 다음의 스키마로 정의 (인덱스 키는 밑줄) 학생정보(학생id,이름,전화,이메일)
-각 필드에 대한 데이터의 속성 예
학생id 이름 전화 이메일
데이터베이스 관리시스템(DBMS)
-DB의 추가 수정 검색 등의 작업을 하기 위한 시스템 인터페이스를 제공하며 관리해주는 소프트웨어
DBMS의 필요성
지속적으로 레코드를 추가 수정 삭제 하는 일이 빈번하게 발생
경우에 따라서는 새로운 스키마의 테이블을 추가하거나 스키마 정보를 변경해야 하는 일도 발생.
원하는 정보를 검색 하거나 추출하기 위해 질의어도 필요.
DBMS의 특징
데이터를 효율적으로 관리
용응 프로그램과 데이터베이스의 관리는 독립적으로 이루어지며, 데이터를 통합하여 관리함. 일관성 유지가 용이.
데이터 접근을 효율적으로 관리., 권한 없는 사용자로부터 접근을 차단,
질의어
-특정한 정보를 요청하는 질문을 수행하기에 최적화된 언어
-sql이 널리 사용
-테이블이나 레코드의 내용을 수정하고 원하는 레코드나 필드에 대해 검색해 결과를 원하는 리포트 형태로도 작성
DBMS의 종류
-관계 DB: 지금까지 가장 널리 사용되는 방식, 테이블을 기반으로 하는 데이터 모델로서 표현이 간단하며 구조를 이해하거나 사용하기 쉽다
@@@@@@@@@@@@@@@@(2)
객체지향 DB
-1980 객체지향 프로그래밍 패러다임을 기반으로 하는 모델
단점: 텍스트와 이미지 동영상 등이 섞여 있거나 용량이 매우 큰 데이터
트리 구조처럼 구조가 동일하지 않은 비정형적인 구조의 데이터
멀티미디어 또는 복잡한 구조의 데이터를 위해 사용
DBMS의 활용
전통적인 정보처리 분야
-개인이나 SOHO: 재고관리, 고객관리,회계/재무관리.물류관리 등을 위한 DB
일반기업: ERP 시스템이나 상거래 시스템을 위한 데이터베이스
국가기관이나 공공기관 등의 대형 SI사업: 대규모 DB구축이 필수, 대표적인 사례로 행정전산망, 교육전산망, 금융전산망 등의 대규모 국가정책사업
-기술발전에 따라 새롭게 등장하는 응용분야
데이터를 요구하는 CAD및 멀티미니어 데이터베이스, 웹 검색 데이터베이스가 대표적인 사례
GIS 분야에서는 공간정보와 관리정보를 연동하는 데이터베이스 사용,
DBA: 다양한 요구를 만족시키기 위해 일관성 있는 데이터베이스를 생성하고 관리하는 일을 결정하고 총괄
응용 프로그래머: 요구되는 작업 수행을 위해 데이터베이스를 사용하는 특정 프로그램이나 인터페이스를 구현
데이터베이스 설계자: 데이터 모델을 분석하여 데이터베이스 모델을 설계하고 수정이나 보완 작업을 하는사람,
오퍼레이터: DBMS가 실행되는 컴퓨터를 관리하는 사람
일반사용자: 데이터를 질의하거나 보고서를 생성하기 위해 데이터베이스를 사용하는 사람
범용 유틸리티 소프트웨어
-컴퓨터를 사용하거나 관리하는데 필요한 다양한 기능을 단독으로 수행하는 프로그램
-대표적인 기능으로 파일관리, 디스크관리, 시스템 상태관리. 그리고 네트워크 및 이에따르 보안관리
파일관리를 위한 기능
-파일복사, 이름바꾸고 삭제, dvd에 저장하는 등
디스크 관리기능
-디스크 상태보기: 필요없는파일 삭제, 문제점 해결, 포맷기능포함
디스크 조각 모으기: 사용하지않는 조각공간을 모아서 파일 공간으로 사용하기 쉽게 만듬
시스템상태보기
-하드웨어,주변기기나 시스템 소프트웨어의 상태보기
-문제 진단후 오류 수정까지 해주는 기능 포함
디스크 파일을 백업 해주고 디스크 오류발생시 복구
'CS > 컴퓨터 구조' 카테고리의 다른 글
컴퓨터 시스템 구성 (0) | 2018.11.20 |
---|---|
정보 통신 기술 (0) | 2018.11.19 |
컴퓨터의 역사 (0) | 2018.11.19 |