
https://www.yes24.com/product/goods/146051138
코딩 자율학습 컴퓨터 구조와 운영체제 - 예스24
한 권으로 끝내는 컴퓨터 구조와 운영체제,개념 이해부터 면접까지 완벽 대비!컴퓨터 구조와 운영체제를 누구나 쉽게 이해할 수 있도록 체계적으로 구성했다. 복잡한 기술 개념도 명확하고 간
www.yes24.com
7장 운영체제
운영체제
- 사용자
- 응용프로그램
- 원영체제
- 하드웨어
7.1 운영체제 개요
7.1.1 운영체제의 역할
- 하드웨어 관리
- 프로세스 관리
- 메모리 관리
- 파일 시스템 관리
- 사용자 인터페이스 제공
- 보안과 접근 제어
- 사용자 인증
- 파일 및 프로그램 권한 관리
- 암호화 및 보안 기법
7.1.2 운영체제의 구성 요소
- 커널
- 사용자 인터페이스
- 그래픽 사용자 인터페이스
- 명령줄 인터페이스(CLI, Command Line Interface)
- 시스템 라이브러리
- 유틸리티
7.1.3 운영체제의 실행 과정
- 부팅 시작
- 펌웨어 초기화 및 POST 실행
- 부트로더 실행
- 커널 로드 및 초기화
- 장치 드라이버 로드 및 하드웨어 초기화
- 시스템 서비스 및 데몬 실행
- 사용자 인터페이스 로드
- 응용 프로그램 실행 준비
7.2 커널
7.2.1. 커널의 종류
- 모놀리식 커널
- 마이크로 커널
- 하이브리드 커널
- 엑소커널
7.2.2 시스템 호출
- 시스템 호출이란
- 응용프로그램이 운영체제의 기능을 요청할 때 사용하는 인터페이스
- 커널 영역과 사용자 영역
- 시스템 호출의 종류
- 프로세스 관리
- 파일 관리
- 입출력 관리
- 메모리 관리
- 네트워크 통신
- 시스템 호출 과정
- 응용 프로그램의 시스템 호출 요청
- CPU 커널 모드 전환
- 시스템 호출 처리
- 결과 반환 및 사용자 모드 복귀
- 응용 프로그램에서 반환 결과 사용
8장 프로세스 관리
8.1 프로세스 개요
8.1.1 프로세스란
8.1.2 멀티프로세스
8.1.3 포어그라운드와 백그라운드 프로세스
8.1.4 프로세스의 메모리 구조
- 코드 영역
- 데이터 영역
- 힙 영역: 실행하는 동안 동적으로 메모리를 할당할 수 있는 영역
- 스택 영역
8.1.5 PCB
Process Controll Block
- 프로세스 식별자
- 프로세스 간 통신
- 시스템 자원 관리
- 부모-자식 관리
- 프로세스 상태
- 프로그램 카운터
- 레지스터 상태
- 메모리 관리 정보
- 작업 계획 정보
- 프로세스 우선순위
- 스케쥴링 큐 포인터
- 대기 시간과 경과 시간
- 프로세스 계정 정보
- CPU 사용 시간
- 메모리 사용량
- 입출력 사용량
- 실행 시작 시간과 종료 시간
- 사용자 ID와 그룹 ID
- 페이지 폴트 수
- 입출력 상태 정보
- 열린 파일 목록
- 입출력 요청 큐
8.2 프로세스의 상태
8.2.1 프로세스의 생성
- 부모-자식 프로세스의 관계
- 프로세스 ID와 부모 프로세스 ID
8.2.2 초기 프로세스
8.2.3 프로세스의 상태 전환
- 생성
- 준비
- 실행
- 대기 종료
- 생성 → 준비
- 준비 → 실행
- 실행 → 준비
- 실행 → 대기
- 대기 → 준비
- 실행 → 종료
- 컨텍스트 스위칭
8.2.4 프로세스의 종료
- 자원 회수
- PCB 제거
- 종료 상태 관리
- 프로세스의 종료 유형
- 정상 종료
- 요청에 의한 종료
- 메모리 부족
- 우선순위 정책
- 비정상적인 동작 감지
- 비정상 종료
- 자식 프로세스의 중료
- 고아 프로세스와 좀비 프로세스
8.3 프로세스 간 통신
8.3.1 파이프
- 익명 파이프
- 명명된 파이프
8.3.2 메시지 큐
8.3.3 공유 메모리
8.3.4 소켓
8.3.5 시그널
8.4 스레드
8.4.1 스레드란
8.4.2 멀티스레드에서 컨텍스트 스위칭과 동기화 문제
9장 동기화
9.1 동기화 개요
9.1.1 동기화란
- 경쟁 조건
- 데이터 경합
- 교착 상태
- 우선순위 역전
- 기아
9.1.2 공유 자원과 임계 구역
- 진입 영역
- 임계 구역
- 출구 영역
- 나머지 영역
데이터 무결성을 위한 임계구역 보호
- 상호 배제
- 진행
- 유한 대기
9.2 동기화 기법
9.2.1 뮤텍스
- 잠금
- 잠금 해제
9.2.2 세마포어
- 세마포어의 작동 방식
- 이진 세마포어
- 카운팅 세마포어
- 뮤텍스와 세마포어 비교
- 접근 제어
- 소유권
- 사용 목적
- 적용 사례
- 바쁜 대기와 블로킹
9.2.3 이벤트 객체
이벤트 객체의 2가지 상태
- 시그널 상태
- 비시그널 상태
이벤트 객체 상태 변경의 함수 2
- SetEvent()
- ResetEvent()
시그널 유지 방식에 따라 2가지 모드로 동작
- 자동 리셋
- 수동 리셋
9.3 교착 상태
9.3.1 교착 상태란
교착 상태 발생의 4가지 조건
- 상호 배제
- 점유와 대기
- 선점 금지
- 환형 대기
9.3.2 교착 상태 해결 방법
- 예방
- 상호 배제 제거
- 접유와 대기 제거
- 회피
- 발견
- 자원 할당 그래프
- 대기 그래프
- 탐지 알고리즘
- 복구
- 프로세스 종료
- 자원 선점
9.3.3 교착 상태를 고려한 시스템 설계
- 시스템 자원 순서화
- 전체 자원 선점
- 주 기억 장치의 선점
- 교체 가능 공간의 사전 할당