오브의 빛나는 별

[정보처리기사] 응용 SW기초 기술 활용(1) 본문

정보처리기사

[정보처리기사] 응용 SW기초 기술 활용(1)

오브의 별 2023. 9. 22. 18:15
반응형

<운영체제의 개념>

운영체제(OS, Operating System): 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임

운영체제의 목적: 처리능력 향상, 사용 가능도 향상, 신뢰도 향상, 변환 시간 단축

운영체제의 기능: 프로세서(Processor, 처리기), 기억장치(주기억장치, 보조기억장치), 입출력장치, 파일 및 정보 등 자원 관리

 

<운영체제의 종류>

Window: 1990년대 마이크로소프트사가 개발한 운영체제

Window 주요 특징: 그래픽 사용자 인터페이스(GUI, Graphic User Interface), 선점형 멀티태스킹(Preemptive Multi-Tasking), 자동 감지 기능(PnP, Plug and Play), OLE(Object Linking and Embedding), 22자의 긴 파일명, Single-User 시스템



UNIX: AT&T 벨(Bell) 연구소, MIT, General Xlectric이 공동 개발한 운영체제

UNIX 시스템 구성: 커널(Kernel), 쉘(Shell), 유틸리티 프로그램(Utility Program)


LINUX: 리누스 토벌즈(Linus Tovalds)가 UNIX 기반으로 개발한 운영체제

MacOS: 애플(Apple) 사가 UNIX 기반으로 개발한 운영체제

Android: 구글(Google) 사에서 개발한 모바일 운영체제

iOS: 애플(Apple) 사에서 개발한 모바일 운영체제

 

<기억장치 관리>

기억장치의 관리 전략
- 반입(Fetch) 전략: 프로그램이나 데이터를 언제 주기억장치로 적재할 것인지를 결정 ex) 요구 반입(Demand Fetch), 예상 반입(Anticipatory Fetch)
- 배치(Placement) 전략: 프로그램이나 데이터를 주기억장치의 어디에 위치시킬 것인지를 결정 ex) 최초 적합(First Fit), 최적 적합(Best Fit), 최악 적합(Worst Fir)
- 교체(Replacement) 전략: 이미 사용되고 있는 영역 중에서 어느 영역을 교체하여 사용할 것인지를 결정

 

<가상기억장치 구현 기법>

가상기억장치(Virtual Memory): 보조기억장치의 일부를 주기억장치처엄 사용하는 것

페이징(Paging) 기법: 프로그램과 주기억장치의 영역을 3동일한 크기로 나눈 후 주기억장치의 영역에 적재시켜 실행

세그먼테이션(Segmentation) 기법: 프로그램을 다양한 크기의 논리적인 단위로 나눈 후 주기억장치에 적재시켜 실행

 

<페이지 교체 알고리즘>

페이지 교체 알고리즘: 페이지 부재(Page Fault)가 발생하면 어떤 페이지 프레임을 선택하여 교체할 것인지를 결정

OPT(OPTimal replacement, 최적 교체): 앞으로 가장 오랫동안 사용하자 않은 페이지를 교체

FIFO(First In Frist Out): 가장 먼저 들어와서 가장 오래 있었던 페이지를 교체

LRU(Least Recently Used): 최근에 가장 오랫동안 사용하지 않은 페이지를 교체

LFU(Least Frequently Used): 사용 빈도가 가장 적은 페이지를 교체하는 기법

NUR(Not Used Recently): 최근에 사용하지 않은 페이지를 교체

SCR(Second Chance Replacement, 2차 기회 교체): 가장 오랫동안 주기억장치에 있던 페이지 중 자주 사용되는 페이지의 교체를 방지

 

<가상기억장치 기타 관리 사항>

Locality(국부성 지역성, 구역성, 국소성): 프로세스가 실행되는 동안 주기억장치를 참조할 때 일부 페이지만 집중적으로 참조하는 성질

Locality 종류: 시간 구역성(Temporal Locality), 공간 구역성(Spatial Locality)

워킹 셋(Working Set): 프로세스가 일정 시간 동안 자주 차몾하는 페이지들의 집합

스래싱(Thrashing): 프로세스의 처리 시간보다 페이지 교체에 소요되는 시간이 더 많아지는 현상

 

<프로세스의 개요>

프로세스(Process): 실행중인 프로그램

PCB(Process Control Block, 프로세스 제어 블록): 운영체제가 프로세스에 대한 중요한 정보를 저장해 놓는 곳

프로세스 상태 전이: 제출(Submit), 접수(Hold), 준비(Ready), 실행(Run), 대기(Wait), 블록(Block), 종료(Terminated, Exit)

프로세스 상태 전이 관련 용어: Dispatch, Wake Up, Spooling, 교통량 제어기(Traffic Controller)

스레드(Thread): 시스템의 여러 자원을 할당받아 실행하는 프로그램의 단위

 

<스케줄링>

스케줄링: 시스템의 여러 자원을 해당 프로세스에게 할당하는 작업

스케줄링 종류: 장기/중기/단기

스케줄링 목적: 공정성, 처리율 증가, CPU 이용률 증가, 우선순위 제도, 오버헤드 최소화, 응답 시간 최소화, 반환 시간 최소화,  대기 시간 최소화, 균형 있는 자원의 사용, 무한 연기 회피

비선점(Non0Preemptive) 스케줄링: 이미 할당된 CPU를 다른 프로세스가 강제로 뺴앗아 사용할 수 없는 스케줄링 기법

선점(Preemptive) 스케줄링: 우선 순위가 높은 다른 프로세스가 CPU를 강제로 빼앗아 사용할 수 있는 스케줄링 기법

 

<주요 스케줄링 알고리즘>

FCFS(First Come First Service, 선입 선출) = FIFO(First In First Out): 준비상태 큐에 도착한 순서에 따라 차례로 CPU를 할당하는 기법

SJF(Shortest Job First, 단기 작업 우선): 준비상태 큐에서 실행 시간이 가장 짧은 프로세스에게 먼저 CPU를 할당하는 기법

HRN(Highest Response-ratio Next): 대기 시간과 서비스(실행) 시간을 이용하는 기법

RR(Round Robin): 시간 할당향(Time Slice, Quantum) 동안만 실행한 후 다음 프로세스에게 CPU를 넘겨주는 기법

SRT(Shortest Remainig Time): 현재 실행중인 프로세스의 남은 시간과 새로 도착한 프로세스의 실행 시간을 비교하여 가장 짧은 시간을 요구하는 프로세스에게 할당하는 기법

 

<환경 변수>

환경 변수: 시스템 소프트웨어의 동작에 영향을 미치는 동적인 값들의 모임

Windows의 주요 환경 변수: %ALLUSERSPROFILE%, %APPDATE%, %COMSPEC%, %HOMEDRIVE%, %HOMEPATH%, %LOGONSERVER%, %PATH%, %PATHEXT%, PROGRAMFILES%, &SYSTEMDRIVE%, %SYSTEMROOT%, %TEMP 또는 %TMP%, %USERDOMAIN%, %USERNAME%, %USERPROFILE%

UNIX / LINUX의 주요 환경 변수: $DISPLAY, $HOME, $LANG, $MAIL, $PATH, $PS1, $PWD, $TEMP, $USER

 

운영체제 기본 명령어

Windows 기본 명령어: DIR, COPY, DEL, TYPE, REN, MD, CD, CLS, ATTRIB, FIND, CHKDSK, FORMAT, MOVE

UNIX/LINUX 기본 명령어: cat, cd, chmod, chown, cp, rm, find, fsck, kill, killall, ls, mkdir, rmdir, mc, ps, pwd, top, who
반응형