프로그래밍 언어 활용(응용SW 기초 기술 활용)

2025. 2. 16. 11:54자격증

반응형
1. 운영체제 기초 활용 (1)운영체제 개념 : 사용자 편의성 제공, 사용자 인터페이스 기능 제공, 다중 사용자를 위한 스케줄링 제공, 자원관리 기능 제공, 입출력 장치 및 스용자 프로그램 제어 기능 제공, 하드웨어를 보다 쉽게 사용할 수 있도록 인터페이스를 제공해주는 소프트웨어
①제어 프로그램 : 1.감시 프로그램 2.작업 프로그램 3.데이터 관리 프로그램
②처리 프로그램 : 1.언어 번역 프로그램 2.서비스 프로그램 3.문제 프로그램
(2) shell : 쉘은 운영체계의 가장 바깥 부분에 위치해서 사용자 명령에 대한 처리 역할 담당
1. 운영체제 기능과 서비스 구현을 위해 인터페이스를 제공하는 프로그램
2. 사용자의 명령어를 입력 받아 기계어의 형태로 변환한하여 커널에 전달하는 명령어 해석기
3. 쉘의 종류 텍스트 기반 CLI (유닉스 쉘, 윈도우 명령 프롬프트), 그래픽 기반 GUI(윈도우 탐색기, OS파인더)
(3)커널Kernel의 기능 : 커널은 하드웨어와 관련된 내부적인 역할을 담당
1. 커널의 기능 ①프로세스 관리 ②기억장치 관리 ③주변장치 관리 ④파일 관리 ⑤자원 관리 ⑥보안
2. 커널은 운영체제의 핵심이 되는 기능들이 모여 있는 컴퓨터 프로그램
3. 사용자 프로그램은 System call 인터페이스를 통하여 커널이 제공하는 서비스 이용
4. 커널의 종류에는 모놀리틱 커널(코어+서비스), 마이크로 커널(코어)등이 있다.
(4)윈도즈 계열 운영체제
지선자오 : ①그래픽 사용자 인터페이스 GUI ②선점형 멀티태스킹 ③자동감지 기능 : USB사용 ④OLE(Object Linking and Embedding)편집기능
(5)리눅스/유닉스 계열 운영체제
1. 유닉스 1960년대 AT&T Bell 연구소, MIT, General Electric 사가 공동으로 연구, 개발한 운영체제이다.
2. 초기 운영체제는 Multics이고, C언어로 재이식되어 대중화 기반
3. 1970 AT&T가 본격적으로 유닉스 시스템 판매
4. 리눅스, 유닉스의 호환 커널이다.
5. 1991리누스 토발즈 프리Free 소프트웨어 정책을 가지고, 자유롭고 재배포가 가능한 운영체제인 (리눅스) 만들었다.
* 유닉스 : 유료, 커맨드 기반, 대형 시스템에 주로 사용
대다사이계 : ①대화식 운영체제 기능 ②다중 작업 기능 ③다중 사용자 기능 ④이식성 제공 ⑤계층적 트리 구조 파일
(6)메모리 관리 기법 (반배할교)
반입기법-시기결정(When시기) : 보조 기억장치에서 주 기억장치로 적재될 때 어느 시기를 택할 것인가를 결정
배치기법-위치결정(where)
1. 최초적합First Fit : 첫 번째 공간 할당 2. 최적적합Best Fit : 가장 알맞은 공간에 적재3. 최악적합Worst Fit : 가장 큰 공간에 할당


할당기법-방법결정(how어떻게) : 실행해야 할 프로세스를 주기억장치에 어떻게 할당할 것인지 결정
(연단다) 1.연속 할당 기법-①단일 분할 할당 기법 ②다중 분할 할당 기법
(분페세) 2.분산 할당 기법                    할당 후 남는 공간을 단편화라고 한다.
1. 페이징 기법 (고정된 동일한 크기,내부 단편화 발생) (A4 용지 페이지)
- 기억장치 내의 프로세스를 일정하게 분할하여 주기억 장치의 분산된 공간에 적재시킨 후 프로세스를 수행하는 기법
- 실제 공간은 페이지 크기와 페이지 프레임으로 나누어 사용한다.
1)페이지 크기가 작을 경우 발생 현상 (작은 페이지가 많다) (페이지 맵 : 페이지 정보)
- 더 많은 페이지 사상 테이블 공간 필요
- 내부 단편화는 줄고, 기억장치 효율이 좋다.
- 페이지 맵 테이블의 크기가 커지고(작은 테이블을 계속 접근 해야 거기에 대한 접근 주소 많아져 증가), 매핑 속도가 늦어짐 (작은 페이지들이 많을 때)
- 디스크 접근 횟수가 많아져서 전체적인 입출력 시간 증가
2)페이지 크기가 클 경우
- 테이블의 크기가 작아지므로 주기억 장치의 공간이 절약
- 페이지 정보를 갖는 페이지 맵 테이블의 크기가 작아져서(큰 테이블을 접근 해야 하는 접근 주소가 몇 개 없다) 관리가 용이, 매핑 속도가 빨라짐 (크기가 커서 테이블이 몇 개 없다)
- 디스크 접근 횟수가 줄고, 전체적인 입출력 시간 감소
- 페이지 단편화가 증가하고, 기억 공간의 낭비 초래
2. 세그먼테이션 기법 (서로 크기가 다른 논리적 단위인 세그먼트로 분할(가변), 외부단편화)
- 서로 크기가 다른 논리적 단위인 세그먼트(Segment)로 분할하고 메모리를 할당하는 기법
- 세그먼트 테이블은 메일 메모리에 존재
- 외부 단편화 현상 발생 è 가변된 공간에 저장하다가 남는 2k 5k데이터를 저장하려면 안된다.


* 논리주소 : 논리 주소Logical Address CPU에 의해 생성되며, 가상 주소라고 불린다.
* 물리주소 : 물리 주소Physical Address는 실제 메모리 유닛(HW)에서 사용되는 주소
* 가상 메모리와 물리 메모리 : 한정된 기억장치 용량을 갖고 있는 컴퓨터의 기억 공간을 보다 넓게 사용하기 위해 하드 디스크의 일부 공간을 가상 메모리로 할당
3. 페이징/세그먼테이션 기법
- 외부 단편화와 내부 단편화 최소화를 위해 세그먼테이션 기법과 페이징 기법의 결합
- 하나의 세그먼트를 부분 페이지로 다시 분할하는 방식
④교체기법-교체대상결정(who) : 메모리 안에 페이지가 꽉찬 경우 DISK에서 가져와야 하는데 사용하지 않는 어떤 것을 교체 할 것인지.
1.FIFO(First in First out) : 가장 먼저 들어와 가장 오래 있던 페이지를 교체하는 기법(선입선출),계산방법 (먼저 들어온 페이지 먼저 나간다)
-  다음 참조번호 실행시 중복되는 숫자는 위치 그대로 기재 한다.
2.LRU(Least Recently Used) : 가장 오랫동안 사용하지 않은 페이지 교체, 계산방법
3.LFU(Least Frequently Used) : 페이지 중에 사용한 횟수가 가장 적은 페이지 교체, 계산방법
(6)메모리 내부 단편화 – 해결방안 ①Slab Allocator   ②압축 통합


(7)메모리 외부 단편화 – 해결방안 ①버디 메모리 할당 ②압축 통합
(8)페이징 기법의 문제점 스레싱 Thrashing : 프로세스의 실제 처리 시간보다 페이지 교체 시간이 더 많아지는 현상)=페이지폴트 발생
(9)페이징 기법의 문제점 해결 방안
워킹세트Working Set : 프로세스가 많이 참조하는 페이지들의 집합을 주기억장치 공간에 계속 상주하여 빈번한 페이지 교체 현상 방지
페이지 부재 빈도(PFF; Page-Fault Frequency) : 페이지 부재 비율에 따라 페이지 프레임 개수를 조절한다.
(10)지역성(Locality)=국부성=구역성=국소성 : 프로세스가 실행되면서 하나의 페이지만 집중적으로 참조(액서스)하는 특성이다.
시공순 ①시간 지역성 ②공간 지역성 ③순차 지역성
(11)프로세스 : 실행 중인 프로그램을 의미, 작업 또는 태스크 라고도 한다.
(12)프로세스 상태 (생준실대완 : ①생성Create ②준비Ready ③실행Running ④대기Waiting ⑤완료Complete/종료Terminated)




(13)프로세스 구성
①사용자 작성코드 : fork( ) 명령어 프로세스 생성
②사용자 사용 데이터 :
프로세스 제어블록 PCB; Process Control Block : 운영체제가 프로세스 관리를 위해 필요한 자료를 담고 있는 자료 구조 (저장정보, 문맥)
- 프로세스 상태 변위가 일어나면 저장되어야 할 정보 자료 구조, 문맥
(문맥교환 : PCB에 있는 정보들을 이전 프로세스 PCB에 정보를 담아주고 이후 사용할 정보를 PCB에서 꺼내서 CPU가 가지고 있는 것
(14)PCB 구성요소 프상카레 스계임메 : PID(프로세스 식별자), 프로세스 , 프로그램 카운트, 레지스터저장 영역, 프로세서 스케쥴링 정보, 계정정보, 입출력상태정보, 메모리관리정보                       생준실대완
(15)스레드 Thread  스레싱 (Threashing 페이지 교체 시간이 더 많아 지는 현상)
독립적으로 수행되는 순차적인 제어의 흐름이며, 실행 단위이다.
한 개의 프로세스는 여러 개의 스레드를 가질 수 있다.


UNIX – ls (list 파일 리스트) / cat a (a파일의 내용을 화면에 출력) / fork( ) 프로세스 생성 / chmod (change mod 권한 변경)
Chmod 755 a.txt (권한은 4r 2w 1x을 조합하여 권한을 준다.
(16)프로세스 스케쥴링 유형 : CPU(1)를 사용하려고 하는 프로세스(여러개)들 사이의 우선순위를 관리하는 작업


1, 선점 스케쥴링 알고리즘 : 높은 우선순위 프로세스가가 선점 되어 사용 (높은 우선순위 프로세스가 들어오면 오버헤드) 오버헤드: 바꾸는것
( SMMR SM더 머M니 다음 라L운드 진출)
①SRT(Shortest Remaining Time First) : 가장 짧은 시간이 소요되는 프로세스를 먼저 수행
                                    남은 처리 시간이 더 짧다고 판단되는 프로세스가 준비 에 생기면 언제라도 프로세스가 선점
MLQ(Multi Level Queue)


MLFQ(Multi Level Feedback Queue) : 큐 마다 서로 다른 CPU시간 할당량 부여
                                    FCFS(FIFO)와 라운드 로빈 스케쥴링 기법을 혼합한 것.
RR(Round-Robin) : 시간 할당량, 프로세스는 같은 크기의 CPU시간을 할당 (시간 할당량, 선점, Time Quantum)
                   시간 내에 처리 완료를 못하면 준비 리스트의 가장 뒤로 보내지며, CPU는 대기 중인 다음 프로세스로 넘어간다.
2. 비선점 스케쥴링 알고리즘 : 높은 우선순위 프로세스가 와도 낮은 우선순위 프로세스가 완료될 때 까지 대기 (기아 현상)
(우기HFS 업은 홈H F밀리 서S비스를 제공한다.)
우선순위; Proprity : 각 프로세스 별로 우선순위가 주어진다.
②기한부; Deadline : 명시된 시간이나 기한 내에 완료
FCFS; First Come First Service (FIFO) : 도착한 순서대로 CPU할당
SJF; Shortest Job First : 시점에 따라 그 당시  가장 작은 서비스 시간을 갖는 프로세스가 종료 시까지 자원 점유
                        CPU요구시간이 긴 작업과 짧은 작업 간의 불평등 심하여, CPU 요구시간이 긴 프로세스는 기아 현상으로 발생
HRN; Highest Response Ratio Nest : HRN우선순위 계산식=(대기시간+서비스시간)/서비스시간, SJF약점인 기아현상 보완
(17)프로세스 스케쥴링 알고리즘 계산방법                       ㄴ 대+서서
-FIFO (First-In-First-Out)스케쥴링(비선점)
반종도 반환시간 = 종료시간 - 도착시간
대반서 대시시간 = 반 환시간 - 서비스시간


(18)교착상태Deadlock : 두 개 이상의 프로세스가 특정 자원할당을 무한정 대기하는 상태
(19)교착상태 발생 조건 (상점비환 : ①상호배제 ②점유와 대기 ③비선점 ④환형 대기)
(20)교착상태 해결방법 (예회발복 : ①예방Prevention ②회피Avoidance : 은행가 알고리즘 ③발견Detection ④복구Recovery)


(21)디스크 스케쥴링 종류
 초기 헤드 위치 : 50, 안쪽 방향(0)으로 이동 중.
①FCFS; First Come First Served = FIFO :  가장 먼저 들어온 트랙 순서 50à150à0à70à200à30à20à60
②SSTF; Shortest Seek Time First : 현재에서 가장 가까운 트랙 50à60à70à30à20à0à150à200
③Scan : 진행 방향으로 거리가 짧은 순서로 0까지 갔다가 역방향 순서로 처리 50à30à20à0à60à70à150à200
④C-Scan; Circular Scan :바깥쪽에서 안쪽으로 움직이며 가장 짧은 탐색 거리 요청 50(바깥)à30à20à0(안쪽)à200(바깥)à150à70à60(안쪽)
⑤LOCK : 진행 방향으로 가다가 요청이 없으면 역방향으로 진행 50à30à20à0à60à70à150à200
(22)환경변수 Environment Variable : 프로세스가 컴퓨터에서 동작하는 방식에 많은 영향을 미치는 동적 값들의 모임
                                 쉘에서 정의되고 실행하는 동안 프로그램에 필요한 변수


è Unix shell 환경 변수를 출력하는 명령어 env, set, printenv
(23)유닉스 시스템 환경 변수 설정
env : 전역 변수 설정 및 조회
set : 사용자 환경 변수 설정 및 조회
export
1. 사용자 환경 변수를 è 전역 변수로 설정,
2. 사용자가 생성하는 변수는 export 명령어로 표시하지 않는 한 현재 쉘에 국한 (창 닫았다 실행하면 없어짐)
3. export가 매개변수 없이 쓰일 경우 현재 설정된 환경변수들이 출력된다.
4. 사용자가 생성하는 변수는 export 명령어로 표시하지 않은 한 현재 쉘에 국한된다.
5. 변수를 export시키면 전역(Global)변수처럼 되어 끝까지 기억된다.
printenv setenv
(24)리눅스/유닉스 운영체제의 환경 변수


PWD : Print Working Directory 자신이 현재 작업공간을 표시해줌.


(25)쉘스크립트 : 여러가지 명령들을 모아서 한번에 실행되는 스크립트 .sh라는 파일 확장자.
- 사용자가 내린 명령을 운영체제가 수행할 수 있도록 명령을 해석하는 명령어 해석기










(26)파일 디스크립터 file descriptor : 파일 제어 블록 File Control Block
파일 스크립터는 운영체제가 필요로 하는 파일에 대한 정보를 갖고 있는 제어 블록을 의미하며, 파일 제어 블록 이라고도 한다.
파일 디스크립터는 파일 시스템에서 관리하므로 사용자가 직접 참조할 수 없다
2. 네트워크 기초 활용 (1)인터넷 : 인터넷은 컴퓨터로 연결하여 TCP/IP(Transmission Control Protocol / Internet Protocol 통신프로토콜을 이용해서 정보를 주고 받는 컴퓨터 네트워크
2. WWWHTTP이퍼스트 로토콜과 함께 사용
3. 인터넷은 HTML이퍼스트 크업 (문서를 주고 받음)


(2)근거리 통신망 LAN : Local Area Network 가까운 지역을 한데 묶는 컴퓨터 네트워크이다.
1.전송망 구성형태 (버트링매성 : ①버스형 ②트리형 ③링형 ④매시형 ⑤성형)


(3)무선랜 통신망 WLAN : Wireless Local Area Network (IEEE 802.11은 와이파이 Wi-Fi)
802.11a : 5GHz 대역에서 54Mbps 속도
802.11b : 2.4GHz 대역에서 11Mbps 속도
802.11e : QoS 강화를 위해 MAC 지원 (QoS 100Mbps중에 50Mbps는 동영상에 고정 할당)
802.11g : 802.11b와 비슷하나 속도가 22Mbps 이상
(4)원거리 통신망 WAN (Wide Area Network)
1. 거리에 제약은 없으나 다양한 경로를 지나 정보가 전달되므로 LAN보다 속도가 느리고 에러율이 높다.
2. 원거리통신망 연결 기술 (전회패)
①전용회선방식 Dedicated line : 사전에 계약을 체결한 송신자와 수진자 끼리만 데이터를 교환
(통신사업자 ISP; Internet Service Provider : 개인이나 회사들에게 인터넷에 접속 할 수 있도록 서비스를 제공하는 기업이나 기관)
②회선교환방식 Circuit Switching : 전달 경로가 정해진 후 동일 경로로만 전달되는 방식
③패킷교환방식 Packet Switching : 각 노드가 수용할 수 있는 패킷(크기)로 잘라서 보내는 방식
(5)전송 매체 접속 제어 (MAC; Media Access Control)
1. CSMA/CD Detection충돌탐지 : 802.3유선 LAN의 반이중 방식, 전송매체접속제어MAC방식 (Half Duplex)
                               현재 채널이 사용 중인지 체크하여 사용하지 않을 때 전송하는 전송매체 접속 제어MAC 방식
2. CSMA/CA Avoidance충돌회피 : 802.11무선 LAN의 반이중 방식 (Half Duplex)
                                매체가 비어있음을 확인한 뒤 충돌을 회피하기 위해서 임의 시간을 기다린후 데이터 전송
(6)프로토콜 : 서로 다른 시스템에 있는 두 개체 간의 데이터 교환을 원활히 하기 위한 일련의 통신규약
1. 프로토콜의 기본요소 (톰마린, 기술적은어)
구의타 : ①구문Syntax:데이터의 형식,코딩,신호레벨 ②의미Semantic:제어정보 조정과 에러처리 ③타이밍 Timing:속도조절과 순서관리
(7)인터넷 주소 체계
1. IP주소방식 : 192.168.0.1 (IPv4) / 2.도메인 주소 방식 : www.naver.com (DNS 서버가 도메인주소를 아이피주소로 변경하여 찾아준다.)
(8)네트워크 7계층  (ISO에서 개발한 컴퓨터 네트워크 프로토콜 디자인과 통신 계층을 나누어 설명한 개방형 시스템 상호연결모델
OSI; Open System Interconnection 7계층 (아파서 티내다. 피나다)


(9)IP (Internet Protocol) 3계층
1. 패킷 교환 네트워크에서 정보를 주고받는 데 사용하는 정보 위주의 규약
2. 비신뢰성, 비연결성, 에러 제어와 흐름제어가 없음 - 4계층에서 TCP가 해결해준다.
3. IPv4=32 bit, IPv6=128bit, IP크기 제한
4. A클래스 범위 0.0.0.0 ~ 127.255.255.255
B클래스 범위 128.0.0.0 ~ 191.255.255.255
C클래스 범위 192.0.0.0 ~ 223.255.255.255
5. IPv4 전송방식 : 유멀브 : ①유니캐스트 ②멀티캐스트 ③브로드캐스트
IPv6 전송방식 : 유멀애 : ①유니캐스트 ②멀티캐스트 ③애니캐스트
(10)서브네팅 (IP주소 고갈문제를 해결하기 위해 원본 네트워크를 여러 개의 네트워크로 분리하는 과정.
FLSM(Fixed-Length Subnet masking):서브넷의 길이를 고정 ②VLSM(Variable Length Subnet Masking):서브넷의 길이를 가변
서브넷 계산 방법 192.168.1.0/24 (0000 0000 | 0000 0000 | 0000 0000 | 0000 0000
                                                                               IP Subnet Zero일경우 0000 사용 가능
                                              24bit            서브넷ID 호스트ID (네트워크0000, 브로드캐스트1111 주소사용 X )
CIDR 1.1.1.1 / 32 (8x4)à Subnetmask : 203.241.132.82 / 27  (3x8)+3 è 11111111 11111111 11111111 11100000
(11)IPv4에서 IPv6로 전환 방법
듀터주 ①듀얼스택 : IPv4+IPv6사용 ②터널링 : 라우터 사용 ③주소변환 : 게이트웨이 사용
(12)IPv6 현재 IPv4가 가지고 있는 주소 고갈, 보안성, 이동성 지원 등의 문제점을 해결하기 위해 128bit주소체계를 갖는 차세대 인터넷
①IP주소의 확장, 이동성, 인증 및 보안 기능, 개선된 QoS지원, Plug & Play 지원, 단순 헤더 적용. 실시간 패킷 추적
(13)라우팅 프로토콜


(14)UDP : 흐름제어나 순서 제어가 없어 전송 속도가 빠르다.
비연결성 및 비신뢰성 순서화되지 않은 데이터 그램 사용 실시간 응용 및 멀티캐스팅 가능 단순 헤더
3.기본 개발환경 구축 (1)웹서버(Web Server) : 웹브라우저로부터 HTTP요청을 받아들이고, TML문서와 같은 웹 페이지를 반환하는 컴퓨터 프로그램


(2)패키지 : 특정 기능을 수행하도록 설계된 컴퓨터 프로그램이나 프로그램 집합을 의미
반응형