- 작업 우선순위
- 프로세스 : 프로그램이나 명령어를 실행 시 메모리에 적재되어 동작하는 상태
-> 식별번호인 PID 할당
-> 최상위 프로세스는 항상 init
-> 나머지는 항상 부모 프로세스인 PPID를 가짐
-> Linux는 모든 프로세스가 공평하게 자원을 배분받지는 못함
* inode : 파일에 대한 정보(형식, 권한, 소유자, 크기 등)를 저장하는 자료구조(구조체)
- Linux 프로세스 우선순위 관리
- 우선순위 값의 범위는 -20 ~ +19 이며 낮을수록 우선순위 높음
- jobs : 명령어 실행 시 백그라운드로 실행되는 작업 번호 목록 확인
* 명령어 뒤에 & 붙이면 백그라운드로 실행
- PRI(시스템이 nice의 데이터를 이용하여 계산한 실제 우선순위 값)
- NI : nice에 의해 설정된 우선순위 값
- nice -15 sleep & : nice값 15 = nice -n 15 sleep &
- snice +10 sleep : 실행중인 sleep의 우선순위 값 설정 가능
- renice [우선순위][PID] : 실행 중인 프로세스 동작의 우선순위 설정
- ps -aux | grep sleep : sleep 프로세스의 PID 확인
* 우선순위 높이기는 root만 수행 가능
- kill [PID]로 프로세스가 죽지 않을 경우
-> signal 번호의 기본값은 15(SIGTERM) 신호 -> 내부적으로 15번 신호를 막을 경우 안됨
-> 9번 시그널이나 SIGKILL 이용하여 종료
-> kill -9 1617
-> kill -SIGKILL 1617
- Windows 작업(process) 우선순위 개요
- 실시간(Real Time), 높음(High), 높은 우선순위(AboveNormal), 보통(Normal), 낮은우선순위(BelowNormal), 낮음(Idle)
- [시작] > [Windows 시스템] > [작업관리자] -> [세부정보] 탭
-> 프로세스 또는 디렉토리 선택하여 오른쪽 키 -> 우선순위 확인 및 변경
- path = C:\Progrma Files\notepad
start /realtime notepad.exe
-> notepad -> 실시간 적용
- 레지스트리 편집기로 우선순위 변경
-> 실시간(RealTime)으로 변경되지는 않음
- HKLM\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Image File\ExecurtionOptions\프로세스이름.exe\perfOtions
-> 만든 키에서 새로만들기 > '문자열 만들기' 를 클릭 > 이름 'cpuPriorityClass' 입력
-> 값 '3' 입력
-> CpuPriorityClass = 3(High)
- 운영체제 심화학습
- 프로세스 관리
프로세스의 주요 상태는 생성, 준비, 수행, 대기, 종료 등이 있다.
- 메모리 관리
프로그램의 실행이 종료될 때까지 메모리를 가용한 상태로 유지 및 관리하는 것
-> 메모리에 있는 프로그램은 중앙처리장치인 CPU로 이동하여 처리
-> CPU는 Virtual 혹은 Logical address를, 메모리는 Physical address를 사용
-> MMU(Memory Management Unit)이 이를 매핑하는 일을 담당
- 메모리 관리기법의 종류
- 반입 정책
- 요구 반입 기법 - 메모리 공간 요구 시 반입
- 예상 반입 기법 - 다음 명령어를 예측하고 미리 공간을 확보
- 배치 정책
- 최초 적합 - 맨 처음 빈 공간에 할당
- 최적 적합 - 가장 딱 맞는 공간에 할당
- 최악 적합 - 가장 큰 빈 공간에 할당
- 할당 정책
- 연속 할당 - 명령어를 연속된 메모리 주소에 할당
- 불연속 할당 - 명령어를 연속되지 않은 주소에 할당하여 각 끝부분을 링킹함
- 페이징 - 메모리를 페이지 단위로 구성하여 관리
- 세그먼트 - 코드 세그먼트, 스택 세그먼트, 데이터 세그먼트, 힙 등으로 나누어 메모리를 관리
- 교체 정책
- LRU - 사용한지 오래된 페이지부터 교체
- LFU - 가장 참조 횟수가 적은 페이지부터 교체
- NRU - 최근 사용한 적이 없는 페이지부터 교체
- FIFO - 선입선출
- 프로세스 Swap In/Out
- 분산 메모리 할당 방식
동일 크기로 프레임을 분할하는 페이징 기법과 사용자 관점에서 메모리를 할당하는 세그먼트 기법
- 페이징 기법 : 페이지라고 불리는 프로세스 영역들이 프레임(페이지 프레임)이라고 불리는 고정크기 블록의 메모리 영역에 할당됨
-> 내부 단편화 발생 : 페이지가 작으면 내부 단편화가 감소하나 페이지 테이블을 유지하기 힘듬
* 페이지 테이블 : 논리 메모리 페이지 번호와 물리 메모리 프레임 번호를 매핑한 테이블
- 세그먼트 기법 : 서브루틴, 모듈 등의 크기 별로 할당
-> 컴파일러가 세그먼트를 작성, 동적(가변)분할 기법으로 프로그램을 코드, 데이터, 스택 세그먼트로 구성
-> 세크먼트 테이블은 메인 메모리에 존재
-> 외부 단편화 발생
- 운영체제 최신 트렌드
- 가상화(Virtualization)
물리적인 리소스들을 사용자에게 하나로 보이게 하거나 반대로 하나의 물리적인 리소스를 여러개로 보이게 하는 것을 의미
-> 운영체제 가상화 환경은 kvm, Vmware, Hiper-v 등의 HiperVisor가 지원
- 클라우드 컴퓨팅(Cloud Computing)
인터넷 기반에서 구동되는 컴퓨팅 기술
-> 응용프로그램을 필요에 따라 불러 사용하고, 데이터를 손쉽게 저장 및 추출
- IaaS(Infrastructure as a Service) : 웹 상에서 다양한 인프라를 임대하여 이용할 수 있는 서비스
- PaaS(Platform as a Service) : 운영체제가 이미 구성되어 있는 상태에서 사용자는 데이터와 애플리케이션만 직접 관리할 수 있는 서비스
- SaaS(Software as a Service) : 웹 상의 로그인만으로 다양한 소프트웨어를 사용한 만큼 비용을 지불해가며 사용할 수 있는 서비스
'전공 > 정보처리기사 실기' 카테고리의 다른 글
정보처리기사 실기 - 10. 응용 SW 기초 기술 활용(5) /데이터베이스 기초 활용하기 -2 (0) | 2021.05.16 |
---|---|
정보처리기사 실기 - 10. 응용 SW 기초 기술 활용(4) /데이터베이스 기초 활용하기 -1 (0) | 2021.05.16 |
정보처리기사 실기 - 10. 응용 SW 기초 기술 활용(2) /운영체제 기초 활용하기 -2 (0) | 2021.05.15 |
정보처리기사 실기 - 10. 응용 SW 기초 기술 활용(1) /운영체제 기초 활용하기 -1 (0) | 2021.05.15 |
정보처리기사 실기 - 9. 프로그래밍 언어 활용(3) /선언형언어/라이브러리 (0) | 2021.05.11 |