반응형
운영체제
- 컴퓨터 시스템의 자원들을 효율적으로 관리하며 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임
운영체제의 목적
- 처리 능력 : 일정 시간 내에 시스템이 처리하는 일의 양
- 반환 시간 : 시스템에 작업을 의뢰한 시간부터 처리가 완료될 때까지 걸린 시간
- 사용 가능도 : 시스템을 사용할 필요가 있을 때 즉시 사용 가능한 정도
- 신뢰도 : 시스템이 주어진 문제를 정확하게 해결하는 정도
운영 체제의 종류
Windows
- 1990년대 마이크로소프트사가 개발한 운영체제
Windows의 주요 특징
- 그래픽 사용자 인터페이스(GUI) : 키보드로 명령어를 직접 입력하지 않고, 마우스로 아이콘이나 메뉴를 선택하여 모든 작업을 수행
- 선점형 멀티태스킹 : 동시에 여러 개의 프로그램을 실행하는 멀티태스킹을 하면서 운영체제가 각 작업의 CPU 이용 시간을 제어하면서 응용 프로그램 실행 중 문제가 발생하면 해당 프로그램을 강제 종료시키고 모든 시스템 자원을 반환
- PnP : 컴퓨터 시스템에 하드웨어를 설치했을 때 필요한 시스템 환경을 운영체제가 자동으로 구성해 주는 기능
- OLE : 다른 여러 응용 프로그램에서 작성된 개체를 현재 작성 중인 문서에 자유롭게 연결하거나 삽입 가능
- 255자의 긴 파일명
- Single - User 시스템
UNIX
- AT&T 벨 연구소, MIT, General Electric이 공동 개발한 운영체제
UNIX 시스템의 구성
커널 | ▪️ 하드웨어를 보호하고, 프로그램과 하드웨어 간의 인터페이스 역할 ▪️ UNIX의 가장 핵심적인 부분임! |
쉘 | ▪️ 사용자의 명령어를 인식하여 프로그램을 호출하고 명령을 수행하는 명령어 해석기 ▪️ 시스템과 사용자 간의 인터페이스를 담당 |
유틸리티 프로그램 | ▪️ 일반 사용자가 작성한 응용 프로그램을 처리하는데 사용함 |
LINUX
- 1991년 리누스 토발즈가 UNIX를 기반으로 개발한 운영체제
MacOS
- 애플 사가 UNIX를 기반으로 개발한 운영체제
Android
- 구글 사에서 개발한 리눅스 커번 기반의 개방형 모바일 운영체제
- 자바와 코틀린으로 애플리케이션을 작성
iOS
- 애플 사에서 개발한 모바일 운영체제
기억장치 관리
반입(Fetch) 전략
- 요구 반입 : 실행 중인 프로그램이 특정 프로그램이나 데이터 등의 참조를 요구할 때 적재하는 방법
- 예상 반입 : 실행 중인 프로그램에 의해 참조될 프로그램이나 데이터를 미리 예상하여 적재하는 방법
배치(Placement) 전략
- 최초 적합(First Fit) : 빈 영역 중에서 첫 번째 분할 영역에 배치시키는 방법
- 최적 적합(Best Fit) : 빈 영역 중에서 단편화를 가장 작게 남기는 분할 영역에 배치시키는 방법
- 최악 적합(Worst Fit) : 빈 영역 중에서 단편화를 가장 많이 남기는 분할 영역에 배치시키는 방법
교체 전략
- 이미 사용되고 있는 영역 중에서 어느 영역을 교체하여 사용할 것인지를 결정하는 전략
가상기억장치 할당 기법
페이징 기법
- 프로그램과 주기억장치의 영역을 동일한 크기로 나눈 후 주기억장치의 영역에 적재시켜 실행하는 기법
세그먼테이션 기법
- 프로그램을 다양한 크기의 논리적인 단위로 나눈 후 주기억장치에 적재시켜 실행시키는 기법
페이지 교체 알고리즘
OPT
- 앞으로 가장 오랫동안 사용하지 않을 페이지를 교체하는 기법
FIFO
- 가장 먼저 들어와서 가장 오래 있었던 페이지를 교체하는 기법
LRU
- 최근에 가장 오랫동안 사용하지 않은 페이지를 교체하는 기법
LFU
- 사용 빈도가 가장 적은 페이지를 교체하는 기법
NUR
- 최근에 사용하지 않은 페이지를 교체하는 기법
- 각 페이지마다 참조 비트와 변형 비트가 사용된다.
SCR
- 가장 오랫동안 주기억장치에 있던 페이지 중 자주 사용되는 페이지의 교체를 방지
가장 기억장치 기타 관리 사항
페이지 크기
페이지 크기가 작을 경우 | ▪️ 페이지 단편화가 감소되고, 한 개의 페이지를 주기억장치로 이동시키는 시간이 줄어듦 ▪️ 페이지 정보를 갖는 페이지 맵 테이블의 크기가 커지고, 매핑 속도가 늦어짐 |
페이지 크기가 클 경우 | ▪️ 페이지 정보를 갖는 페이지 맵 테이블 크기가 작아지고, 매핑 속도가 빨라짐 ▪️ 페이지 단편화가 증가되고, 한 개의 페이지를 주기억장치로 이동시키는 시간이 늘어남 |
Locality
- 프로세스가 실행되는 동안 주기억장치를 참조할 때 일부 페이지만 집중적으로 참조하는 성질
- 스레싱을 방지하기 위한 워킹셋 이론의 기반이 되었다.
- 시간 구역성 : 프로세스가 실행되면서 하나의 페이지를 일정 시간동안 집중적으로 액세스하는 현상
- 공간 구역성 : 프로세스 실행 시 일정 위치의 페이지를 집중적으로 액세스하는 현상
워킹셋
- 프로세스가 일정 시간동안 자주 참조하는 페이지들의 집합
스레싱
- 프로세스의 처리 시간보다 페이지 교체에 소요되는 시간이 더 많아지는 현상
프로세스의 개요
프로세스
- 실행 중인 프로그램을 의미함
PCP
- 운영체제가 프로세스에 대한 중요한 정보를 저장해 놓는 곳
- 저장되어 있는 정보 : 프로세스의 현재 상태, 포인터, 프로세스 고유 식별자, 스케줄링 및 프로세스 우선 순위, CPU 레지스터 정보, 주기억장치 관리 정보, 입,출력 상태 정보, 계정 정보
프로세스 상태 전이(★)
프로세스 상태 전이 관련 용어
- Dispatch : 준비 상태에서 대기하고 있는 프로세스 중 하나가 프로세서를 할당받아 실행 상태로 전이되는 과정
- Wake Up : 입 출력 작업이 완료되어 프로세스가 대기 상태에서 준비 상태로 전이되는 과정
- Spooling : 입 출력 장치의 공유 및 상대적으로 느린 장치의 처리 속도를 보완하고 다중 프로그래밍 시스템의 성능을 향상시키기 위해 데이터를 직접 보내지 않고 나중에 한꺼번에 처리하기 위해 디스크에 저장하는 과정
- 교통량 제어기 : 프로세스 상태에 대한 조사와 통보 담당
스레드(Thread)
- 시스템의 여러 자원을 할당받아 실행하는 프로그램의 단위
- 경량 프로세스라고도 한다.
스케줄링
- 시스템의 여러 자원을 해당 프로세스에게 할당하는 작업
- 장기 스케줄링
- 중기 스케줄링
- 단기 스케줄링
- 목적 : 공정성, 처리율 증가, CPU 이용률 증가, 오버헤드 최소화, 응답시간 최소화 등
비선점 스케줄링
- 이미 할당된 CPU를 다른 프로세스가 강제로 빼앗아 사용할 수 없는 스케줄링 기법
- 종류 : FCFS, SJF, 우선순위, HRN, 기한부 등
선점 스케줄링
- 우선 순위가 높은 다른 프로세스가 CPU를 강제로 빼앗아 사용할 수 있는 스케줄링 기법
- 종류 : Round Robin, SRT, 선점 우선순위, 다단계 큐, 다단계 피드백 큐 등
환경변수
- 시스템 소프트웨어의 동작에 영향을 미치는 동적인 값들의 모임
Windows의 주요 환경 변수
- Windwos에서 set을 입력하면 모든 환경 변수와 값을 출력
- 변수명 앞뒤에 '%' 입력
UNIX / LINUX 주요 환경 변수
- 모든 환경변수와 값 표시 : set, env, printenv, setenv
- 변수명 앞에 '$' 입력
▪️ $DISPLAY : 현재 X 윈도 디스플레이 위치
▪️ $HOME : 사용자의 홈 디렉터리
▪️ $LANG : 프로그램 사용 시 기본적으로 지원되는 언어
▪️ $MAIL : 메일 보관 경로
▪️ $PATH : 실행 파일 찾는 경로
▪️ $PS1 : 쉘 프롬프트 정보
▪️ $PWD : 현재 작업하는 디렉터리
▪️ $TERM : 로긴 터미널 타입
▪️ $USER : 사용자의 이름
Windows 기본 명령어
- DIR : 현재 디렉터리 파일 목록 표시
- COPY : 파일 복사
- DEL : 파일 삭제
- TYPE : 파일 내용 표시
- REN : 파일 이름 변경
- MD : 디렉터리 생성
- CD : 동일한 드라이브에서 디렉터리 위치를 변경
- CLS : 화면의 내용을 지움
- ATTRIB : 파일 속성 변경 (R : 읽기 전용, A : 저장&백업 속성, S : 시스템 파일 속성, H : 숨김 파일)
- FIND : 파일에서 문자열 찾기
- CHKDSK : 디스크 상태 점검
- FORMAT : 디스크 표면 초기화
- MOVE : 파일 이동
UNIX/LINUX 기본 명령어
- cat : 파일 내용 화면 표시
- cd : 디렉터리 위치 변경
- chmod : 파일 보호 모드 설정 -> 파일 사용 허가 지정
- chown : 파일 소유자, 그룹 변경
- cp : 파일 복사
- rm : 파일 삭제
- find : 파일 찾기
- fsck : 파일 시스템 검사, 보수
- kill : PID를 이용하여 프로세스 종료
- fork : 새로운 프로세스 생성
- ls : 현재 디렉터리 파일 목록 표시
- mkdir : 디렉터리 생성
- rmdir : 디렉터리 삭제
- mv : 파일 이동
- ps : 현재 실행중인 프로세스 표시
- pwd : 현재 작업 중인 디렉터리 경로 화면에 표시
- top : 시스템 프로세스와 메모리 사용 현황 표시
- who : 현재 시스템에 접속해 있는 사용자 표시
인터넷
- 전 세계 수많은 컴퓨터와 네트워크들이 연결된 광범위한 컴퓨터 통신망
IPv6
- 현재 사용하고 있는 IP 주소 체계인 IPv4의 주소 부족 문제를 해결하기 위해 개발됨
- 유니캐스트(1:1), 멀티캐스트(1:다), 애니캐스트(1:1, 가장 가까이 있는!)
도메인 네임
- 숫자로 된 IP 주소를 문자 형태로 표현한 것
- DNS : 문자로 된 도메인 네임을 IP 주소로 변환하는 역할을 하는 시스템
OSI 참조 모델(★)
물리 계층
- 전송에 필요한 두 장치 간의 실제 접속과 절단 등 기계적, 전기적, 기능적, 절차적 특성에 대한 규칙 정의
데이터 링크 계층
- 두 개의 인접한 개방 시스템들 간에 신뢰성있고 효율적인 정보 전송을 할 수 있도록 시스템 간 연결 설정과 유지 및 종료를 담당
- 송신 측과 수신 측의 속도 차이 해결을 위한 흐름 제어 기능
- 링크 설정, 유지 및 종료, 노드간의 오류 제어와 흐름 제어 기능
네트워크 계층
- 네트워크 연결을 관리하느 기능, 데이터의 교환 및 중계 기능
- 네트워크 연결 설정, 유지, 해제
- 경로 설정, 데이터 교환 및 중계, 트래픽 제어, 패킷 정보 전송
전송 계층
- 논리적 안정과 균일한 데이터 전송 서비스를 제공함으로써 종단 시스템 간에 투명한 데이터 전송을 가능하게함
- 단말기 사이에 오류 수정과 흐름 제어 수행
- 상위 3계층, 하위 3계층의 인터페이스 담당
세션 계층
- 송, 수신 측 간의 관련성을 유지하고 대화 제어 담당
- 동기점은 오류가 있는 데이터의 회복을 위해 사용하는 것.
표현 계층
- 응용 계층으로부터 받은 데이터를 세션 계층에 보내기 전에 통신에 적당한 형태로 변환, 세션 계층에서 받은 데이터는 응용 계층에 맞게 변환하는 기능
- 서로 다른 데이터 표현 형태르 갖는 시스템 간의 상호 접속을 위해 필요한 계층으로, 코드 변환, 데이터 암호화, 데이터 압축, 구문 검색 등의 기능 수행
응용 계층
- 사용자가 OSI 환경에 접근할 수 있도록 서비스를 제공
네트워크 관련 장비
허브
- 한 사무실이나 가까운 거리의 컴퓨터들을 연결하는 장치, 각각의 회선을 통합하여 관리
- 더미 허브, 스위칭 허브
리피터
- 거리가 증가할수록 감쇠하는 디지털 신호의 장거리 전송을 위해 수신한 신호를 재생시키거나 출력 전압을 높여 전송하는 장치
브리지
- LAN과 LAN을 연결하거나 LAN 안에서 컴퓨터 그룹을 연결하는 장치
- 리피터와 동일한 기능을 수행하지만 단순 신호 증폭 뿐만 아니라 네트워크 분할을 통해 트래픽을 감소시키며, 물리적으로 다른 네트워크를 연결할 때 사용
- 데이터링크 계층 중 MAC 계층에서 사용됨.
- 브리지를 이용한 서브넷 구성 시 전송 가능한 회선 수 : n(n-1) / 2
스위치
- LAN과 LAN을 연결하여 훨씬 더 큰 LAN을 만드는 장치
라우터
- LAN과 LAN의 연결 기능 + 데이터 전송 최적 경로 선택 기능
- 인터넷에 접속할 때 반드시 필요한 장비
- 접속 가능한 경로에 대한 정보를 라우팅 제어표에 저장하여 보관
게이트웨이
- 프로토콜 구조가 다른 네트워크를 연결하는 장치
반응형
'💻 my code archive > 📝Etc.' 카테고리의 다른 글
[정보처리기사 실기] 2021년 1회 기출문제 오답노트 (0) | 2022.09.13 |
---|---|
정보처리기사 실기 요점정리(9) - 응용 SW 기초 기술 활용(2) (0) | 2022.08.24 |
정보처리기사 실기 요점정리(7) - 소프트웨어 개발 보안 구축 (0) | 2022.08.23 |
정보처리기사 실기 요점정리(6) - 애플리케이션 테스트 관리 (0) | 2022.08.21 |
정보처리기사 실기 요점정리(5) - 화면 설계 (0) | 2022.08.21 |