반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- npm
- script
- 이클립스
- 서버
- express
- 변수
- 플러터
- php변수
- jquery
- java
- node.js
- php
- Flutter
- android
- 코틀린
- ios
- kotlininaction
- 스나이퍼팩토리
- Eclipse
- 조건문
- 스터디
- 정보처리기사
- node
- php개발
- Kotlin
- 설치
- 그림으로 배우는 서버구조
- 의존주입
- kotlin2.0
- SwiftUI
Archives
- Today
- Total
mygomii
프로그램 언어 활용 - 서버 프로그램 구현 본문
반응형
-
개발 환경 구축 개요
- 응용 소프트웨어 개발을 위해 개발 프로젝트를 이해하고 소프트웨어 및 하드웨어 장비를 구축하는 것
- 응용 소프트웨어가 운영될 환경과 유사한 구조로 구축
- 개발 프로젝트의 분석 단계의 산출물을 바탕으로 개발에 필요한 소프트웨어와 하드웨어 성정
-
배치프로그램
- 사용자와의 상호 작용 없이 여러 작업들을 미리 정해진 작업을 일괄적으로 처리하는 것
- 배치 프로그램의 필수 요소 : 대용량 데이터, 자동화, 견고성, 안정성, 신뢰성, 성능
- 정기배치 : 정해진 기간에 정기적으로 수행
- 이벤트성 배치 : 설정한 특정 조건이 충족될 때 수행
- On-demand 배치 : 사용자 요청 시 수행
- 배치 스케줄러
- 일괄 처리 작업이 설정된 주기에 맞춰 자동을 수행되도록 지원해주는 도구
- 잡 스케줄러라고도 함
- 스프링 배치
- Quatz
-
운영체제
-
정의
- 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 사용자가 컴퓨터를편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임
-
목적
- 처리 능력 향상, 사용 가능도 향상, 신뢰도 향상, 반환 시간 단축 등
- 운영체제의 성능을 평가하는 기준
- 처리능력
- 반환시간
- 사용 사능도
- 신뢰도
-
기능
- 프로세서, 기억장치, 입 출력 장치, 파일 및 정보 등의 자원 관리
- 자원을 효율적으로 관리하기 위해 스케줄링 기능 제공
- 사용자와 시스템 간 편리한 인터페이스 제공
- 각종 하드웨어와 네트워크를 관리 제어
- 데이터 관리, 데이터 및 자원의 공유기능제공
- 시스템의 오류 검사 및 복구
- 자원 보호 기능 제공
- 입 출력데 대한 보조 기능 제공
- 가상 계산기 기능 제공
-
주요 자원 관리
- 프로세스 관리 : 프로세스 스케줄링 및 동기화 관리
- 기억장치 관리 : 프로세스에게 메모리 할당 및 회수 관리
- 주변장치 관리 : 입 출력장치 스케줄링 및 전반적인 관리
- 파일 관리 : 파일의 생성과 삭제, 변경, 유지 등의 관리
-
종류
- Window, unix, linux, macOS, MS-DOS
-
Window
- 마이크로소프트에서 개발한 운영체제
- Gui : 키보드로 명령어를 수행하지 않고 마우스로 아이콘이나 메뉴를 선택하여모든 작업을 수행
- 선점형 멀티캐스팅 : 동시에 여러 개의 프로그램을 실행하는 멀티태스킹을 하면서 운영체제가 가 작업의 cpu 이용 시간을 제어하여 응용 프로그램 실행 중 문제가 발생하면 해당 프로그램을 장제 종료시키고 모든 시스템 자원을 반환
-
Unix
- 시분할 시스템을 위해 설계된 대화식 운영체제
- 소스코드가 개방형 시스템으로 구성되어 있음
- 대부분 c언어로 작성되어 이식성이 높으며 장치, 프로세스 간 호환성이 높음
- 다중 사용자(multi-user) 및 다중 작업 (multi-taskin)을 지원
- 트리 구조의 파일 시스템을 가짐
- 쉘
- 명령어를 인식하여 수행하는 명령어 해석기
- 시스템과 사용자 간의 인터페이스 담당
- Dos의 command com 같은 기능 수행
- 주 기억장치에 상주하지 않고 명령어가 포함된 파일 형태로 조재
- 보조기억장치에서 교체 처리 기능
- 파이프라인 기능 지원
- 파이프라인 : 둘 이상의 명령을 함께 묶어 처리한 결과를 다른 명령의 입력으로 전환하는 기능
- 입출력 재지정을 통해 입력과 출력의 방향을 변경할 수 있음
- 공동 쉘이나 사용자가 만든 쉘을 사용할 수 있음
- 커널
- 컴퓨터가 부팅될 때 주기억장치에 적재된 후 상주하면서 실행됨
- 하드웨어를 보호하고 프로그램과 하드웨어 간의 인터페이스 역할을 담당
- 프로세스 관리, 기억장치 관리 ,파일 관리, 입출력 관리, 프로세스 간 통신, 데이터 전송 및 변환 등 여러 가지 기능 수행
- 유틸리티
- 사용자가 작성한 외부 프로그램을 처리
- Dos에서의 외부 명령어에 해당
- 에디터, 컴파일러, 인터프리터, 디버거 등
-
Linux
-
MacOS
-
-
저장장치 관리의 개요
-
저장장치 계층 구조적 특징
- 주 기억장치는 각기 자신의 주소를 가지는 워드 또는 바이트들로 구성되어 주소를 이용하여 접근
- 보조기억장치에 있는 프로그램이나 데이터는 CPU가 직접 엑세스 할 수 없음
- 보조기억장치에 있는 데이터는 주기억장치에 적재된 후 CPU에 의해 엑세스
-
반입(fecth) 전략
- 보조기억장치에 보관중인 데이터를 언제 주기억장치에 적재할 것인지 결정하는 전략
- 요구 반입 : 실행중인 프로그램이 특정 프로그램이나 데이터 등의 참조를 요구할 때 적재
- 예상 반입 : 실행중인 프로그램에 의해 참조될 프로그램이나 데이터를 미리 예상하여 적재
-
배치(placement) 전략
- 새로 반입되는 데이터를 주기억장치의 어디에 위치시킬 것인지를 결정하는 전략
- First fit : 배치가 가능한 크기의 빈 영역 중에서 첫번쩨 분할 영역에 배치
- Best fit : 배치가 가능한 크기의 빈 영역 중에서 단편화를 가장 적에 남기는 분할 영역에 배치
- Worst fit : 배치가 가능한 크기의 빈 영역중에서 단편화를 가장 많이 남기는 분할 영역에 배치
-
재배치(Replacement) 전략
- 주 기억장치의 모든 영역이 이미 사용중인 상태에서 새로운 프로그램이나 데이터가 배치하려고 할떄 이미 사용중인 영역에서 어느 영역을 교체할 것인지 결정하는 젼략
-
주기억장치 할당의 개념
- 연속 할당 기법 : 단일 분할 할당 기법, 다중 분할 기업
- 분산 할당 기업 : 페이징, 세그먼테이션
-
가상 기억장치의 개요
- 보조 기억 장치의 일부를 주기억장치처럼 사용하는 것
- 용량이 작은 주기억장치를 마치 큰용량을 가진 것처럼 사용할 수 있음
- 프로그램을 여러 작은 블록 단위로 나누어서 가상 기억장치에 보관해 놓고 프로그램 실행시 요구되는 블록만 주기억장치에 불연속적으로 할당하여 처리
- 주기억장치의 이용률과 다중 프로그래밍의 효율 상승
- 가상기억장치에 저장된 프로그램을 실행하려면 가상 기억장치의 주소를 주기억장치의 주소로 바꾸는 주소 변환 작업이 필요
- 연속 할당 방식에서 발생할 수있는 단편화를 해결할 수 있음
-
페이징 기법
- 가상기억장치의 보관되어 있는 프로그램과 주기억장치의 영역을 동일한 크기로 나눈 후 나눠진 프로그램을 동일하게 나눠진 주기억장치의 영역에 적재시켜 실행하는 방법
- 외부 단편화는 발생하지 않으나 내부 단편화는 발생할 수 있음
- 맵핑 작업을 위해서 페이지 맵 테이블이 필요함
-
세그먼트 기법
- 가상기억장치에 보관되어 있는 프로그램을 다양한 크기의 논리적인 단위로 나눈 후 주기억장치에 적재시켜 실행시키는 방법
- 프로그램을 논리적인 크기로 나눈 단위를 세그먼트라고함
- 맵핑 작업을 위해서 세그먼트 맵 테이블이 필요함
- 세그먼트가 주기억장치에 적재될 떄 다른 세그먼트에게 할당된 영역을 침법할 수 없으며 이를 위해 기억장치 보호키가 필요
고정크기 분할 : 페이지
가변크기 분할 : 세그먼트
-
페이지 교체 알고리즘
-
페이지 크기에 따른 특징
-
반응형
'정보처리기사' 카테고리의 다른 글
소프트웨어 개발 - 데이터 입출력 구현 정리 (0) | 2020.08.31 |
---|---|
소프트웨어 설계 - 인터페이스 설계 (0) | 2020.08.31 |
소프트웨어 개발 - 제품 소프트웨어 패키징 (0) | 2020.08.31 |
소프트웨어 개발 - 통합 구현 (0) | 2020.08.31 |
소프트웨어 설계 - 요구사항 확인 (0) | 2020.08.31 |