정보처리기사 필기

정보처리기사 필기 정리 (프로그래밍 언어의 활용)

도사원 2023. 2. 7. 17:13

응집도 / 결합도

결합도 : 모듈 내부가 아닌 외부에서 모듈과의 연관도 또는 모듈간의 상호의존성을 나타내는 정도

            내용결합도(content)>공통결합도(common)>외부결합도(extern)>

                                                  제어결합도(control)>스탬프결합도(stamp)>자료결합도(data)

응집도 : 모듈의 독립성을 나타내는 개념, 모듈 내부 구성요소 간 연관 정도

             기능적(Funcional) > 순차적(Sequenfial) >통신적(Communication) > 절차적(procedure) >

                                                                  시간적(Temporal) > 논리적(Logical) > 우연적(Coincidental)

 

 OSI 7계층 : 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것

1계층 : 물리계층(physical Layer) 전기적, 기계적, 기능적특성을 이용해 통신 케이블로 데이터 전송

            - 실제장비연결

           통신케이블 / 리피터 / 허브

2계층 : 데이터링크계층(DataLink Layer) 브릿지나 스위치를 통해 맥주소를 가지고 물리 계층에서 받은 정보 전달

            포인트 투 포인트 (Point to Point) / 에러검출 / 재전송 / 흐름제어

3계층 : 네트워크계층(Network Layer) 데이터를 목적지ᄁᆞ지 가장 안전하고 빠르게 전달하는 기능(라우팅)

             IP주소 사용 / 흐름제어 / 세그멘테이션 / 오류제어 / 인터네트워킹 / 경로설정

4계층 : 전송계층(Transport Layer) TCP프로토콜 이용/ 포트를 열어서 응용프로그램들을 전송

         연결기반 / 패킷들의 전송이 유효한지 확인하고 전송 실패한 패킷들을 다시 전송 / end-to-end / 패킷생성

5계층 : 세션계층(Session Layer) 데이터가 통신하기 위한 논리적인 연결

            동시 송수신 방신, 반이중 방식, 전이중 방식 , TCP / IP세션을 만들고 없애는 책임

6계층 : 표현계층(Presentation Layer) 데이터 표현이 상이한 응용프로세스의 독립성을 제공하고 암호화

            사용자의 명령어를 완성 및 결과 표현, 포장/압축/암호화

7계층 : 응용계층(Application Layer) HTTP/FTP/SMTP/POP3/IMAP/Telnet 프로토콜

            응용서비스 수행 / 네트워크 소프트웨어 UI부분 / 사용자의 입출력 부분

 

 제어프로그램 : 시스템 작동감시 , 순서지정, 데이터 관리등의 역할을 수행하는 프로그램

감시프로그램(Superviosr Program)

작업 제어 프로그램(Job Control Program) : 연속 처리를 위한 스케줄 및 시스템 자원 할당 등 담당

                             데이터 관리 프로그램 : 주기억 보조기억장치 사이의 자료전송, 파일의 조작

                           입출력 자료와 프로그램간의 논리적 연결 등 처리할 수 있도록 관리

 처리프로그램 : 제어프로그램의 지시를 받아 사용자가 요구한 문제를 해결하기 위한 프로그램

                      서비스 프로그램 : 효율성을 위해 사용 빈도가 높은 프로그램

                      문제 프로그램 : 특정 업무 해결을 위해 사용자가 작성한 프로그램

                     언어 번역 프로그램 : 어셈블러, 컴퍼일러, 인터프리터

IEEE802.3 LAN

 

 First Fit (최초적합)/ Best Fit(최적적합) / Worst Fit(최악접합)

최초적합 : 가장 최초로 발견되는 hole에 할당

최적적합 : 가장 잘 맞는데에 넣는다.

최악적합 : 가장 큰 공간

 

 Paging / Segmentation

페이징 기법: 프로그램을 일정한 크기로 나눈 단위 / 여러프로그램 동시 실행 / 내부 단편화 문제발생

세그먼테이션 기법 : 사용자 주소 공간을 논리적인 단위로 나눈 것 / 외부단편화에 의한 기억장비 낭비 줄일 수 있다

세그먼트크기가 가변적이기 때문에 다른 세그먼트 영역을 침범하지 않는 기억장치 보호기 필요

 

FIFO (First In First Out)

선입선출

 

 

 교착상태(Deadlock) : 시스템 자원에 대한 요구가 뒤엉킨 상태

둘 이상의 프로세스가 다른 프로세스가 점유하고 있는 자원으르 서로 기다릴 때 무한 대기에 빠지는 상황

발생조건 : 상호배제  한번에 프로세스 하나만 해당 자원을 사용할 수 있다

                 점유대기  자원을 최소한 하나 보유, 다른 프로세스에 할당된 자원을 점유

                   비선점  이미 할당된 자원을 강제로 빼앗을 수 없다

                 순환대기  대기 프로세스의 집합이 순환 형태로 자원을 대가하고 있어야 한다.

 

IPv6 / IP주소체계

 

 C언어 변수 ./산술연산자

 

구분 예약어
제어문 반복 do, for, while
선택 case, default, else. is, switch
분기 break, continue, goto, return
자료형 char, short, int, long, float, double, enum, signed, unsigned, union, void, struct, typedef
기억 클래스 auto, register, extern
기타 const, sizeof, volatile
+
-
*
/
%
++
--

 

 

C언어 라이브러리 함수

stdio.h 데이터의 입, 출력
math.h 수학 함수 제공
string.h 문자열 처리
stdlib.h 자료형 변환, 난수발생, 메모리 할당
time.h 시간처리

라이브러리 개념

프로그램을 효율적으로 개발할 수 있도록 자주 사용하는 함수나 데이터들을 미리 만들어 모아 놓은 집합체로 필요할 때

언제든지 호출하여 사용

 

 

개발환경구축

- 개발프로젝트를 이해하고 하드웨이 및 소프트웨어 장비를 구축하는 것

- 하드웨어와 소프트웨어의 성능, 편의성, 라이선스 등의 비즈니스 환경에 적합한 제품을들 최종적으로 결정하여 구축함.

 

하드웨어 환경

- 사용자와 인터페이스 역할을 하는 클라이언트와 클라이언트와 통신하여 서비스를 제공하는 서버로 구성됨

- 클라이언트 : PC, 스마트폰

- 서버 : 웹서버, 웹 애플리케이션 서버, 데이터베이스 서버, 파일 서버 등

 

웹 서버 (Web Server)

- 클라이언트로부터 직접 요청을 받아 처리하는 서버로 저용량의 정적파일들을 제공

- 웹 서버의 기능

기능 설명
HTTP / HTTPS 지원 브라우저로부터 요청을 받아 응답할 때 사용되는 프로토콜
통신기록(Communication Log) 처리한 요청들을 로그 파일로 기록하는 기능
정적 파일 관리 (Managing Static Files) HTML, CSS, 이미지 등의 정적파일들을 저장하고 관리
대역폭 제안(Bandwidth Throttling) 네트위크 트래픽의 포화를 방지하기 위해 응답 속도를 제한하는 기능
가상 호스팅(Virtual Hosting) 하나의 서버로 여러 개의 도메인 이름을 연결하는 기능
인증(Authentication) 사용자가 합법적인 사용자인지를 확인하는 기능

 

웹 애플리케이션 서버 (WAS : Web Application Server)

- 정적인 콘텐츠를 처라히는 웹서버와 반대

- 동적인 콘텐츠를 처리하기 위해 사용되는 미들웨어(=소프트웨어)

- 데이터 접근, 세션관리, 트랜잭션 관리 등을 위한 라이브러리를 제공

 

데이터베이스 서버

-데이터베이스와 이를 관리하는 DBMS를 운영하는 서버

 

파일서버

-데이터베이스에 저장하기에는 비효율적이거나, 서비스 제공을 목적으로 유지하는 파일들을 저장하는 서버

 

소프트웨어 환경

- 클라이언트와 서버 운영을 위한 시스템 소프트웨어와 개발에 사용되는 개발 소프트웨어로 구성

-시스템 소프트웨어 : 운영체제(OS), 웹 서버 및 WAS운용을 위한 서버 프로그램, DBMS

-개발 소프트웨어 : 요구사항 관리 도구, 설계/ 모델링 도구, 빌드 도구, 구현 도구, 테스트도구, 형상관리도구 등

요구사할 관리 도구 요구사항의 수집과 분석, 추적 등을 편리하게 도와주는 소프트웨어
JIRA / Trello
설계 / 모델링 도구 UML을 지원, 개발의 전 과정에서 설계 및 모델링을 도와주는 소프트웨어
빌드 도구 구현 도구를 통해 작성된 소스의 빌드 및 배포, 라이브러리 관리를 지원하는 소프트웨어
Ant, Maven, Gradel, Jenkins
구현 도구 개발 언어를 통해 애플리케이션의 실제 구현을 지원해주는 소프트웨어
Eclipse, Visual Studio, Node.js
테스트 도구 모듈들이 요구사항에 적합하게 구현했는지 테스트하는 소프트웨어
형상 관리 도구 산출물들을 버전별로 관리하여 품질 향상을 지원하는 소프트웨어
SVN(Subversion), GIT

 

개발 언어의 선정 기준

-적정성 : 개발하려는 소프트웨어의 목적에 적합

-효율성 : 코드의 작성 및 구현이 효율적이여야 함

-이식성 : 다양한 시스템 및 환경에 적용 가능해야 함

-친밀성 : 개발 언어에 대한 개발자들의 이해도와 활용도가 높아야함

-범용성 : 다른 개발 사례가 존재하고 여러 분야에서 활용되고 있어야함

 

서버개발에 사용되는 프로그래밍 언어

-JAVA, Java Script, Python, PHP, Ruby 

 

서버 개발 프레임워크

- 프레임워크 : 뼈대 골조, 소프트웨어에서는 특정 기능을 수행하기 위해 필요한 클래스나 인터페이스 등을 모아둔 집합체

- MVC (Model, View, Controller) 패턴을 기반으로 개발됨

프레임워크 특징
Spring JAVA 기반, 전자정부 표준 프레임워크의 기반 기술 사용
Node.js Java Script 기반, 비동기 입출력 처리와 이벤트 위주의 높은 처리 성능을 갖고 있어 실시간으로 입출력이 빈번한 애플리케이션에 적합
Django Python 기반, 컴포넌트의 재사용
Codeigniter PHP 기반, 인터페이스가 간편
Ruby on Rails Ruby 기반, 신속한 개발

 

서버 프로그램 구현(효과적인 모듈 설계)

- 응용 소프트웨어와 동일하게 모듈 및 공통 모듈을 개발 한 후, 모듈들을 통합하는 방식으로 구현, 유지보수가 용이해야함

- 모듈의 독립성을 높이려면 모듈의 결합도(Coupling)를 약하게 하고 응집도(Cohesion)를 강하게 하며 모듈의 크기를

작게 만들어야 함

- 복잡도와 중복성을 줄이고 일관성 유지

- 공통 모듈은 여러 프로그램에서 재사용 할 수 모듈의미 -> 함수와 객체 재사용, 컴포넌트 재사용, 애플리케이션 재사용

 

재사용 프로그래밍 기법

- 객체지향 / 제네릭 / 자동 / 메타

 

프레임워크 특징

- 모듈화 : 캡술화를 통해 모듈화를 강화하고 설계 및 구현의 변경에 따른 영향을 최소화함으로써

                  소프트웨어의 품질 향상시킴 (Modularity)

- 재사용성 : 재사용이 가능한 모듈들을 제공함으로써 개발자의 생선성을 향상시킴(Reusability)

- 확장성 : 다형성(Polymorphism)을 통한 인터페이스 확장이 가능하여 다양한 형태와 기능을 가진

                개발이 가능(Extensibility)

- 제어의 역흐름 : 개발자가 관리하고 통제해야 하는 객체들의 제어를 프레임워크가 관리함으로써

                           생산성 향상시킴

 

프레임워크의 구성요소

- 개발환경 / 실행환경 / 운영환경 / 관리환경

 

소프트웨어 개발 보안의 개요

- 개발 과정에서 발생할 수 있는 보안 취약점을 최소화하여 보안 위협으로부터 안전한 소프트위어를 개발하기 위한

일련의 보안 활동을 의미

- 시큐어 코딩(Secure Coding)

- 기밀성(Confidentiality) / 무결성(Integrity) / 가용성(Avaliability) 유지하는 것을 목표

- 정부에서 제공하는 소프트웨어 개발 보안 가이드를 참고

 

소프트웨어 개발 보안 점검 항목

- 세션통제 : 세션(서버와 클라이언트의 연결)의 연결과 연결로 인해 발생하는 정보를 관리하는 것

- 입력 데이터 검증 및 표현 : 입력데이터에 대한 유효성 검증체계를 갖추고 검증 실패 시 이를 처리할 수 있도록 코딩

- 보안기능 : 인증, 접근제어, 기밀성, 암호화 등

- 시간 및 상태 : 동시 수행을 지원는 병렬 처리 시스템이나 다수의 프로세스가 동작하는 환경에서 시간과

   실행상태를  관리하여 시스템이 원활히 동작되도록 코딩하는 것

- 에러처리 발생할 수 있는 오류들을 사전에 정의하여 에러로 인해 발생할 수 있는 문제들을 예방

- 코드 오류 ; 개발자들이 코딩 중 실수하기 쉬운 타입 변환, 자원의 반환등을 고려하여 코딩

- 캡슐화 : 데이터(속성)와 데이터를 처리하는 함수를 하나의 객체로 묶어 코딩하는 것

- API 오용 : API를 잘못 사용하거나 보안에 취약한 API를 사용하지 않도록 고려하여 코딩

 

API (Application Programming Interface)

- 응용프로그램 개발 시 운영체계나 프로그래밍 언어 등에 있는 라이브러리를 이용할 수 있도록 함으로써

효율적인 소프트웨어 구현을 도와주는 인터페이스

- 개발에 필요한 여러 도구를 제공

- 누구나 무료로 사용 할 수 있게 공개된 API Open API라고 함

 

배치프로그램(Batch Program)

- 사용자와의 상호 작용 없이 여러 작업들을 미리 정해진 일련의 순서에 따라 일괄적으로 처리하는 것

이벤트성 배치 특정 조건을 설정해두고 조건이 충족될 때만 수행
On-Demand 배치 사용자 요청 시 수행
정기 배치 , , 월과 같이 정해진 기간에 정기 수행

 

필수요소 설명
대용량 데이터 대량의 데이터를 가져오거나, 전달하거나, 계산 등의 처리가 가능해야 함
자동화 심각한 오류가 발생하는 상황을 제외하고는 사용자의 개입 없이 수행돼야 함
견고성 잘못된 데이터나 데이터 중복 등의 상황으로 중단되는 일 없이 수행돼야 함
안전성/신뢰성 오류가 발생하면 오류의 발생위치, 시간 등을 추적할 수 있어야함
성능 다른 응용프로그램의 수행을 방해하지 않아야 하고, 지정된 시간내에 처리가 완료돼야함.

 

배치 스케줄러, 잡 스케줄러

- 일괄처리 작업이 설정된 주기에 맞춰 자동으로 수행되도록 지원해주는 도구

-스프링 배치 : 스프링이 가지고 있는 다양한 기능들을 모두 사용 할 수 있는 오픈 소스 프레임 워크

-쿼츠 : 스프링 프레임워크로 개발되는 응용프로그램들의 일괄 처리를 위한 다양한 기능을 제공하는 오픈 소스

 

패키지 소프트웨어

- 기업에서 일반적으로 사용하는 여러 기능들을 통합하여 제공하는 소프트웨어

- 기업에서 패키지 소프트웨어를 구입해 기업 환경에 적합하게 커스터마이징 후 사용

- 기능 요구사항을 70% 이상 충족시키는 패키지 소프트웨어 사용

  패키지 소프트웨어 전용 개발 소프트웨어
기능 요구사항 70% 이상 충족시키는 패키지 소프트웨어 모든 기능 요구사항 반영 가능
안정성 품질이 검증됐고, 업계 표준 준용 개발자의 역량에 따라 달라짐
라이선스 판매자 회사
생산성 개발을 위한 인력과 시간 절약 가능 개발을 위한 인력과 시간 필요
호환성 보장안됨 설계단계부터 고려하며 개발에서 호환성이 좋음
유지보수 결함 발생 시 즉시 대응 어려움 결함 발생 시 즉시 대응 가능

 

 

데이터 타임

- 변수에 저장될 데이터의 형식을 나타내는 것

- 변수에 값을 저장하기 전에 문자형, 정수형, 실수형 등 어떤 형식 값으로 저장할지 선언

Boolean / 조건의 참 거짓 / 기본 false
Char / 문자타입 / ‘ ’ 표시 / ‘a’ ‘A’ ‘1’
String / 문자열 타입 / “ ” 표시
Int / 정수타입
float / 부동 소수점 타입
Array / 배열타입 / 데이터는 중괄호 안에는 콤마

 

C / C++ 데이터 타입 크기
문자 char 1 Byte
정수 short 2 Byte
int 4 Byte
long 4 Byte
long long 8 Byte
실수 float 4 Byte
double 8 Byte
long double 8 Byte

 

변수

- 값을 저장하기 위한 공간, 변할 수 있는 값을 의미

 

변수명 작성 규칙

- 영문자, 숫자, _ 언더바 사용가능

- 첫글자는 영문자, _ 언더바로 시작할 수 있으나 숫자는 올 수 없다.

- 글자 수에 제한이 없고, 대소문자 구분

- 공백이나 *,+,-,/ 등 특수문자 사용불가

- 예약어를 변수명르로 사용할 수 없음

- 변수 선언 시 문장 끝에 반드시 세미콜론 붙여야 함

 

예약어 – c 언어

구분 예약어
제어문 반복 do, for, while
선택 case, default, else. is, switch
분기 break, continue, goto, return
자료형 char, short, int, long, float, double, enum, signed, unsigned, union, void, struct, typedef
기억 클래스 auto, register, extern
기타 const, sizeof, volatile

 

기억 클래스

- (변수의 값을 저장하기 위한 기억영역이 할당되는데)기억영역을 결정하는 작업

 

자동변수 / 메모리(스택) / auto / 일시적 / 지역적
레지스터 변수 / 레지스터 / register / 일시적/ 지역적
정적 변수(내부) / 메모리(데이터) / static / 영구적 / 지역적
정적 변수(외부) / 메모리(데이터) / static / 영구적 / 전역적
외부변수 / 메모리(데이터) / extern / 영구적 / 전역적

 

 

변수의 선언

- 자료형 변수명 = ;

-자료형 : 변수에 저장될 자료의 형식 지정

-변수명: 사용자가 원하는 이름을 임의로 지정

-: 변수를 선언하면서 초기화할 값을 지정

 

포인터

- 포인터 : 변수의 주소

- 포인터 변수 : C언어에서 변수의 주소를 저장할 때 사용하는 변수

- 변수 선언

int *a; (변수 명 앞에 간접 연산자*)

a = &b; (변수의 주소를 알아낼 때는 변수 앞에 번지 연산자 &)

c = *a; (실행문에서 포인터 변수에 간접 연산자*를 붙이면 해당 포인터 변수가 가리키는 곳의 값을 말함)

 

포인터와 배열

- 배열을 포인터 변수에 저장한 후 포인터를 이용해 배열의 요소에 접근 할 수 있음

- 배열 요소에 대한 주소를 지정할 때는 일반 변수와 동일하게 &연산자를 사용

 

 

절차적 프로그래밍 언어의 장, 담점

- 컴퓨터의 처리 구조와 유사하여 실행속도가 빠름

- 같은 코드를 복사하지 않고 다른 위치에서 호출하여 사용할 수 있음(이식성)

- 모듈 구성이 용이하며, 구조적인 프로그래밍이 가능함

- 프로그램을 분석하기 어렵고 유지보수나 코드의 수정이 어려움

 

절차적 프로그래밍의 언어의 종류

C 데니스 리치 / 시스템 프로그래밍 언어 /포인터 제공
고급 프로그래밍 언어, 저급 프로그래밍언어 특징을 모두 갖춤
Unix의 일부가 c언어로 구현/ 컴파일러 방식의 언어 / 이식성이 좋음
Algol 수치 계산이나 논리연산을 위한 과학 기술 계산용 언어
Cobol 사무 처리용 언어 / 영어문장식
Fortran 과학기술 계산용 언어
Basic 교육용으로 개발되어 언어의 문법이 쉬움

 

 

객체지향 프로그래밍 언어

- 소프트웨어를 개발할 때도 객체들을 조립해서 프로그램을 작성할 수 있도록 한 프로그래밍 기법

 

객체지향 프로그래밍 언어의 장, 단점

- 상속을 통한 재사용과 시스템의 확장이 용이하고, 코드의 재활용성이 높음

- 사용자와 개발자 사이에 이해를 쉽게 해주고, 대형 프로그램의 작성이 용이함

- 프로그래밍 구현을 지원해주는 정형화된 분석 및 설계 방법이 없음

- 구현 시 처리 시간이 지연됨 -> 실행 속도가 느림

 

 

객체지향 프로그래밍 언어의 종류

c++ C언어에 객체지향 개념을 적용한 언어
c# C++ java 문법 비슷 / JAVA와 달리 불안전 코드와 같은 기술을 통해 플랫폼 간 상호 운용성 확보
JAVA 분산 네트워크 환경 적용 가능 여러 작업 동시에 처리 가능
운영체제 및 하드웨어에 독립적이며 이식성이 강함, 캡슐화, 재사용성 높다
Delphi Windows운영체제에서 모든 부분을 프로그래밍 할 수 있는 언어
Smalltal k 1세대 객체 지향 프로그래밍 언어

 

객체지향 프로그래밍 언어의 구성요소

- 객체(Object) : 독립적으로 식별 가능한 이름을 갖고 있다 / 일정한 기억 장로를 갖고 있다.

- 클래스(Class) : 추상화하는 단위 / 객체들이 갖는 속성과 연산(method)을 정의

- 인스턴스(Instance) : 클래스에 속한 각각의 객체

- 메서드(Method) : 클래스로부터 생성된 객체를 사용하는 방법 / 함수 / 프로시저 / 연산

- 메시지(Message) : 객체에게 어떤 행위를 하도록 지시하기 위한 방법

 

객체지향 프로그래밍 언어의 특징

- 캡슐화(Encapsulation) : 데이터(속성)와 함수를 하나로 묶는 것 / 은폐가능 오류의 파급 효과 적음

                                  재사용이 용이함

- 상속성(Inheritance) : 부모클래스의 모든 속성을 자식 클래스에서 물려받는 것

- 다형성(Polymorphism) : 메시지에 의해 객체가 연산을 수행하게 될 때, 하나의 메시지에 대해 각 클래스가

                                 가지고 있는 고유의 방법으로 응답할 수 있는 능력

- 추상화(Abstraction) : 데이터의 공통된 성질을 추출하여 슈퍼 클래스를 선정하는 개념

- 정보은닉(Information Hiding) : 자신의 정보를 숨기고 자신만의 연산만을 통해서 접근을 허용

 

스트립스 언어의 개요

- 기계어로 컴파일 되지 않고 별도의 번역기가 소스를 분석하여 동작하게하는 언어

- 클라이언트용 언어(Java Script) : 클라이언트의 웹 브라우저에서 해석되어 실행

- 서버용 스크립트 언어(ASP, JSP, PHP, Python) : 서버에서 해석되어 실행된 후 결과만 보냄

 

스크립트 언어의 장담점

- 컴파일 없이 바로 실행->결과 확인

- 개발 시간이 짧고, 소스 코드를 쉽고 빠르게 수정할 수 있음

- 코드를 읽고 해석해야 하므로 실행속도가 느리고, 런타임 오류가 많이 발생

 

스크립트 언어의 종류

- Java Sciript : 클래스가 존재하지 않으며, 변수 선언도 필요없음

- ASP : 서버측에서 동적으로 수앻되는 페이지 만들기 위한 언어

- JSP : JAVA로 만들어진 서버용 스크립트

- PHP : C, JAVA등과 문법 유사

- Python : 라이브러리 풍부, 유니코드 문자열, 들여쓰기 사용, 대화형 인터프리터 언어

- Perl : 인터프리터 방식

 

라이브러리 개념

- 프로그램을 효율적으로 개발할 수 있도록 자주 사용하는 함수나 데이터들을 미리 만들어 모아

 놓은 집합체로 필요할 때 언제든지 호출하여 사용

 

 

C언어의 표준 라이브러리

stdio.h 데이터의 입, 출력
math.h 수학 함수 제공
string.h 문자열 처리
stdlib.h 자료형 변환, 난수발생, 메모리 할당
time.h 시간처리

 

JAVA 의 표준 라이브러리

java.lang 인터페이스, 자료형, 예외처리 등 import문없이도 사용 가능
java.util 날짜처리, 난수발생, 복잡한 문자열 처리
java.io 파일 입출력
java.net 네트워크
java.awt 사용자 인터페이스 UI 와 관련 기능 제공

 

운영체제의 목적

- 처리능력(Througtput) : 일정 시간 내에 시스템이 처리하는 일의 양

- 반환 시간(Turn Around Time) : 시스템에 작업을 의뢰한 시간부터 처리가 완료될 때까지 걸린시간

- 사용 가능도(Availability) : 시스템을 사용 할 필요가 있을 때 즉시 사용 가능한 정도

- 신뢰도(Reliability) : 시스템이 주어진 문제를 정확하게 해결하는 정도

 

운영체제의 기능

- 자원관리 / 스케줄링 기능 제공 / 인터페이스 제공 / 입출력 장치와 사용자 프로그램제어

데이터 및 자원의 공유기능 / 시스템의 오류 검사 및 복구/ 자원보호기능