[정처기/실기] 운영체제
✅ 운영체제
1. 기억장치
- 데이터, 프로그램, 연산의 중간 결과 등을 일시적 또는 영구적으로 저장하는 장치
- 레지스터(CPU 내 기억장치), 캐시메모리(CPU가 주기억장치에 접근할 때 속도 차이를 줄이기 위해), 주기억장치(CPU가 직접 데이터를 읽고 쓸 수 있음), 보조기억장치
2. 시스템 소프트웨어
- 제어프로그램 : 감시, 작업관리, 데이터
- 처리프로그램 : 서비스, 문제, 언어번역
3. 리눅스 운영체제
- 커널 : 핵심
- 쉘 : 명령어 해석기
- 파일디스크립터 : 프로세스가 파일들에 접근할 때 사용
4. 운영체제 성능평가
- 처리량(throughput) : 일정한 시간 내에 처리하는 양
- 반환시간(turn around) : 요청한 작업에 대해 결과를 돌려줄 때까지 걸리는 시간 (대기+실행+응답)
- 신뢰도(reliability) : 작업의 결과가 얼마나 정확하고 믿을 수 있는가
- 가용성(availability) : 시스템을 사용해야 할 때 즉시 사용할 수 있는가
✅ 리눅스, 유닉스 파일 접근 권한
1. chmod
- 타입 - 소유자의 rwx - 그룹의 rwx - 나머지의 rwx
- chmod 0775 file명
- 파일 기본값 666, 디렉토리 기본값 777
2. unmask
- 앞으로 만들어질 파일에 대해 권한 제거
- unmask 022 -> 666 - 022 = 644
3. chown
- 소유주 변경
✅ 기억장치 관리
1. 기억장치 관리 전략
- 반입: 요구반입, 예상반입
- 배치: 최초적합(First Fit), 최적적합(Best Fit), 최악적합(Worst Fit)
- 교체
2. 단편화
- 주기억장치에 프로그램을 할당하고 반납하는 과정에서 발생하는 사용되지 않는 작은 조각 공간
- 내부단편화: 주기억장치의 공간 > 프로그램 실행공간
- 외부단편화: 주기억장치의 공간 < 프로그램 실행공간
✅ 가상기억장치 관리
1. 가상기억장치
- 보조기억장치의 일부를 주기억장치처럼 사용하는 것
2. 블록분할방법
- 페이징 : 가상 기억장치를 모두 같은 크기의 블록으로 편성해 운영, 주소 변환을 위한 맵테이블 필요. 내부 단편화 발생
- 세그먼트 : 가상메모리를 서로 크기가 다른 세그먼트로 분할하고 메모리 할당. 외부 단편화 발생
3. 페이지 부재
- 프로세스 실행 시 참조할 페이지가 주기억 장치에 없는 현상
4. 스래싱
- 프로세스의 처리시간보다 페이지 교체에 소요되는 시간이 더 많아지는 현상
5. 워킹셋
- 프로세스가 일정 시간동안 자주 참조하는 페이지들의 집합
6. 지역성
- 프로세스가 실행되는 동안 주기억장치를 참조할 때 일부 페이지만 집중적으로 참조하는 성질
7. 페이지 교체 알고리즘
- FIFO, LRU, LFU, OPT, NUR, SCR
✅ 프로세스
1.프로세스
- 컴퓨터에서 연속적으로 실행되고 있는 프로그램
- 코드영역, 데이터영역, 힙영역(프로그래머), 스택영역(임시 메모리)
- 생성 --> 준비 --(Dispatch)--> 실행 --> 종료
- 실행 --> 대기 --(WakeUp)--> 준비 --> 실행
- 실행 --(Timer Runout)--> 준비
2. 스레드
- 프로세스 내에서 실행되는 흐름의 단위
3. PCB
- 운영체제가 프로스세에 대한 정보를 저장해놓는 공간
4. 문맥교환
- 하나의 프로세스가 CPU를 사용 중인 상태에서 다른 프로세스가 CPU를 사용해야 할 때, 이전 프로세스의 상태를 보관하고 또 다른 프로세스의 정보를 읽어 적재하는 과정
5. 프로세스 스케줄링
- 메모리에 올라온 프로세스들 중 어떤 프로세스를 먼저 처리할 지 순서를 정하는 것
- 선점형(round robin, SRT, 다단계 피드백 큐), 비선점형(FCFS, SJF, HRN)
✅ 병행프로세스
1. 병행 프로세스
- 두 개 이상의 프로세스들이 동시에 존재하며 실행 상태에 있는 것
2. 문제점과 해결방안
- 동시에 2개 이상의 프로세스를 병행 처리하면 한정된 자원에 대한 사용순서 등 문제 발생
> 임계구역(한 순간엔 하나의 프로세스만 사용되도록 영역 지정)
> 상호배제(하나의 프로세스가 메모리를 사용하고 있을 때 다른 프로세스가 사용하지 못하도록 함)
> 세마포어(각 프로세스에 제어신호를 전달해 순서대로 작업 하도록 함)
> 모니터(프로그래밍 언어 수준에서 해결)
✅ 교착상태
1. 교착상태
- 둘 이상의 프로세스가 자원을 점유한 상태에서 서로 다른 프로세스가 점유하고 있는 자원을 요구하며 무한정 기다리는 현상
2. 원인과 해결방안
- 상호배제, 점유와 대기, 비선점, 환형대기
> 예방기법, 회피기법, 발견기법, 회복기법
✅ 환경변수
1. 환경변수
- 프로세스가 컴퓨터에서 동작하는 방식에 영향을 미치는 동적인 값들의 모임
- env, set, printenv 명령어를 사용해 조회 가능
2. 로그
- 시스템의 모든 기록을 담고 있는 데이터
- wtmp(전체 로그인 기록 저장파일), utmp(현재 로그인 사용자의 로그인 기록 저장파일), lastlog(각 계정들의 최근 로그인 기록)
---
분노한다 🤬
시험범위는 엄청 넓은데, 프로그래밍언어랑 SQL 문제가 6개 정도라고 치면 14문제 밖에 안 남는다.
그런 와중에 유닉스명령어나 환경변수 문제를 내는 건 넘 지엽적이지 않나?
넘나 꾸역꾸역...난 안 외울래....
'정보처리기사 (2022)' 카테고리의 다른 글
정보처리기사 합격 후기 (비전공자/직장인/흥달쌤 강의) (1) | 2022.09.06 |
---|---|
[정처기/실기] 네트워크 (0) | 2022.07.14 |
[정처기/실기] 데이터베이스 (이론) (0) | 2022.07.12 |
[정처기/실기 기출] 2020년 3회 기출 핵심정리 (0) | 2022.07.06 |
[정처기/실기 기출] 2020년 2회 기출 핵심정리 (0) | 2022.07.05 |