※ 밑줄 : 추후 다른 페이지에 설명 추가.
※공부한 것을 정리한 것으로 틀린 부분이 있다면 피드백 주시면 감사합니다
운영체제(OS)
시스템 소프트웨어로 사용자에게 보이지는 않지만 하드웨어(cpu,메모리, I/O, 기타 주변장치)와 소프트웨어의 자원을 효과적으로 운용할 수 있도록 하는 서비스를 제공하는 것이다.
초기에는 ROM(Read Only Memory)에 운영체제를 넣어서 사용했으나 현재는 DISC(보조기억장치)에 운영체제를 설치하고 RAM에 올려 사용한다.
운영체제의 종류
- Windows: 중소규모, 개인용. close(어떻게 만들어졌는지 알 수 없음)
- UNIX:대용량. Sever, NAS(서버와 저장장치를 네트워크로 연결), Workstation에서 사용됨. open(소스가 공개되어 어떻게 만들었는지 알 수 있다)
- Linux : 중대규모. open.
- IOS: 애플의 운영체제
- Android:구글의 운영체제
운영체제 분석 고려사항
- 신뢰도: 오랜 시간 원활하게 사용할 수 있는지.
- 성능: 다수의 동시 요청 처리가 가능한지, 대량의 파일 작업이 가능한지.
- 기술지원 : 안정적인 기술 지원이 있는지.
- 주변기기 : 주변 기기와의 호환이 잘 되는지.
- 구축비용: 하드웨어나 라이센스 비용. TCO확인(컴퓨터 구입, 업그레이드, 유지보수 비용 등)
운영체제 현황
- 32bit의 운영체제에서는 4GB까지의 메모리를 사용할 수 있고 64bit의 운영체제에서는 4GB 이상까지 사용가능하다.
- Windows나 Linux는 CISC설계방식을 적용하고 UNIX는 RISC설계방식을 적용한다.
- RISC설계 방식은 주로 스마트폰이나 태블릿 등에 채택된다.
CPU(중앙처리장치)
CISC(Complex Instruction Set Computer)설계방식
- 소프트웨어적 명령어
- 수정과 확장이 가능하고 가변적이다.
- 복잡하고 명령어 수가 많다
- 명령을 수정할 수 있어 명령을 번역할 필요가 있다(컴파일).
- 따라서 복잡하고 느리며 전력소모가 비교적 많다
- 윈도우, 리눅스
RISC(Reduced Instruction Set Computer)설계방식
- 하드웨어적 명령어
- 수정과 확장이 불가능하고 고정적이다.
- 단순하고 명령어 수가 적다
- 명령어의 길이가 정해져 있어 빠르고 전력소모가 비교적 적다
- 호환성이 좋지 못하다
- 파이프라이닝 구조를 채택한다
- UNIX
DBMS(DataBase Management System)
데이터베이스를 운영하고 관리하는 소프트웨어. 수많은 데이터를 저장하고 있는 데이터베이스를 생성, 조회, 변경할 수 있다. 사용자가 데이터베이스와 상호작용 해 데이터를 저장하거나 검색할 수 있도록 한다.
DBMS의 종류
- Oracle : 대규모
- IBM DB2 : 대규모
- SQL Server : 중소규모
- MySQL: 오픈소스 RDBMS(관계형 데이터베이스)
- SQLife: 스마트폰, 태블릿 PC등 임베디드 데이터베이스
- MongoDB : 오픈소스 NoSQL DBMS
- Redis : 오픈소스 키-값 DBMS
DBMS 분석 고려사항
- 신뢰도: 오랜 시간 원활하게 사용할 수 있는지.
- 성능: 대규모 데이터 처리가 가능한 성능인지
- 기술지원 : 안정적인 기술 지원이 있는지. 오픈소스여부 확인.
- 상호 호환성: 설치 가능한 운영체제 종류 확인. ODBC, JDBC의 지원 여부 확인
- 구축비용: 라이센스, 유지 및 관리 비용 확인
미들웨어
운영체제와 소프트웨어 사이에서 운영체제가 제공하는 서비스를 추가, 확장해서 소프트웨어에 제공하거나 클라이언트와 서버 간의 통신을 담당한다.
미들웨어의 종류
- DBMS : 사용자가 편하게 데이터에 접근할 수 있도록 한다. 이 제품을 사용하는 경우 2-티어 아키텍처라고 부른다
- RCP:사용자의 컴퓨터에 설치되어있지 않아도 사용자의 컴퓨터에서 실행되는 것 처럼 원격 호출 해주는 프로그램.
- MOM : 각각의 컴퓨터에 나누어져 있는 DB를 하나의 데이터베이스처럼 동기화 시켜주는 프로그램.
- TP-Moniter: 트랜젝션이 잘 처리되고 있는지 감시하고 제어하는 프로그램. 주로 은행이나 항공예약 프로그램에서 사용된다.
- ORB: 객체 중개인. 객체 프로그램을 설계하면 데이터를 주고받는 것은 ORB가 대신 해주게된다.
- WAS: 웹 환경을 구현하기 위한 미들웨어.
'CS' 카테고리의 다른 글
| [1과목] 프레임워크와 컴포넌트 (0) | 2022.09.21 |
|---|---|
| [1과목] 소프트웨어의 종류 (1) | 2022.09.21 |