본문 바로가기
Code/길벗 학습단 17기 - 컴퓨터 구조와 운영체

길벗 학습단 17기 - 컴퓨터 구조와 운영체제 - 3주차 학습인증

by Beyonder 2025. 10. 18.

 



https://www.yes24.com/product/goods/146051138

 

코딩 자율학습 컴퓨터 구조와 운영체제 - 예스24

한 권으로 끝내는 컴퓨터 구조와 운영체제,개념 이해부터 면접까지 완벽 대비!컴퓨터 구조와 운영체제를 누구나 쉽게 이해할 수 있도록 체계적으로 구성했다. 복잡한 기술 개념도 명확하고 간

www.yes24.com

 

 

7장 운영체제

운영체제

  • 사용자
  • 응용프로그램
  • 원영체제
  • 하드웨어

7.1 운영체제 개요

7.1.1 운영체제의 역할

  1. 하드웨어 관리
  2. 프로세스 관리
  3. 메모리 관리
  4. 파일 시스템 관리
  5. 사용자 인터페이스 제공
  6. 보안과 접근 제어
    • 사용자 인증
    • 파일 및 프로그램 권한 관리
    • 암호화 및 보안 기법

7.1.2 운영체제의 구성 요소

  1. 커널
  2. 사용자 인터페이스
    • 그래픽 사용자 인터페이스
    • 명령줄 인터페이스(CLI, Command Line Interface)
  3. 시스템 라이브러리
  4. 유틸리티

7.1.3 운영체제의 실행 과정

  1. 부팅 시작
  2. 펌웨어 초기화 및 POST 실행
  3. 부트로더 실행
  4. 커널 로드 및 초기화
  5. 장치 드라이버 로드 및 하드웨어 초기화
  6. 시스템 서비스 및 데몬 실행
  7. 사용자 인터페이스 로드
  8. 응용 프로그램 실행 준비

7.2 커널

7.2.1. 커널의 종류

  • 모놀리식 커널
  • 마이크로 커널
  • 하이브리드 커널
  • 엑소커널

7.2.2 시스템 호출

  • 시스템 호출이란
    • 응용프로그램이 운영체제의 기능을 요청할 때 사용하는 인터페이스
  • 커널 영역과 사용자 영역
  • 시스템 호출의 종류
    1. 프로세스 관리
    2. 파일 관리
    3. 입출력 관리
    4. 메모리 관리
    5. 네트워크 통신
  • 시스템 호출 과정
    1. 응용 프로그램의 시스템 호출 요청
    2. CPU 커널 모드 전환
    3. 시스템 호출 처리
    4. 결과 반환 및 사용자 모드 복귀
    5. 응용 프로그램에서 반환 결과 사용

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 제거
  • 종료 상태 관리

 

  • 프로세스의 종료 유형
    1. 정상 종료
    2. 요청에 의한 종료
      • 메모리 부족
      • 우선순위 정책
      • 비정상적인 동작 감지
    3. 비정상 종료
  • 자식 프로세스의 중료
  • 고아 프로세스와 좀비 프로세스

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 세마포어

  • 세마포어의 작동 방식
    • 이진 세마포어
    • 카운팅 세마포어
  • 뮤텍스와 세마포어 비교
    1. 접근 제어
    2. 소유권
    3. 사용 목적
    4. 적용 사례
  • 바쁜 대기와 블로킹

9.2.3 이벤트 객체

이벤트 객체의 2가지 상태

  • 시그널 상태
  • 비시그널 상태

이벤트 객체 상태 변경의 함수 2

  • SetEvent()
  • ResetEvent()

시그널 유지 방식에 따라 2가지 모드로 동작

  • 자동 리셋
  • 수동 리셋

9.3 교착 상태

9.3.1 교착 상태란

교착 상태 발생의 4가지 조건

  • 상호 배제
  • 점유와 대기
  • 선점 금지
  • 환형 대기

9.3.2 교착 상태 해결 방법

  • 예방
    • 상호 배제 제거
    • 접유와 대기 제거
  • 회피
  • 발견
    1. 자원 할당 그래프
    2. 대기 그래프
    3. 탐지 알고리즘
  • 복구
    • 프로세스 종료
    • 자원 선점

9.3.3 교착 상태를 고려한 시스템 설계

  1. 시스템 자원 순서화
  2. 전체 자원 선점
  3. 주 기억 장치의 선점
  4. 교체 가능 공간의 사전 할당