본문 바로가기
Hello_World/IT강의

[인프런 강의 후기] 그림으로 쉽게 배우는 운영체제

by 비전공자 기록광 2024. 9. 17.
반응형

 

견고한 데이터 엔지니어링을 읽으며 핀옵스에 대해 인식이 생겼다.

이전까지는 그저 사원인 주니어개발자로서 서버 임대에 결정자 역할을 한 적이 없었다.

이사님이 팀장님이 말씀하신대로 버튼 클릭클릭 진행만 하면 되었다. 어떤 옵션을 선택하든 가격이 얼마나 나오든 큰 문제도 아니었다.

 

클라우드 / 서버 / 네트워크에 자신도 많이 없었다.

학생때 컴퓨터공학 기초 수업을 듣기도 했고 정보처리기사도 취득했지만 직접적으로 이게 어떻게 동작하는지에 대해 자세히 이해하지 못했다.

연차가 쌓여가며 이러다가는 빈 깡통 개발자가 되겠구나 싶어 기초부터 다시 공부하고 있다.

 

https://www.inflearn.com/course/%EB%B9%84%EC%A0%84%EA%B3%B5%EC%9E%90-%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C

 

그림으로 쉽게 배우는 운영체제 강의 | 감자 - 인프런

감자 | 이 강의를 통해 모든 개발자들이 필수로 알아야하는 운영체제의 원리를 알 수 있습니다., [사진] 개발자의 필수 지식 운영체제를 배워서뿌리 깊은 나무가 되어 봐요 🌳 강의 주제 📖 [임

www.inflearn.com

 

여러 곳에서 많은 추천을 받은 인프런 베스트 인강인 <그림으로 쉽게 배우는 운영체제 강의> 를 구매했다.

말 그대로 그림으로 설명해주는 친절한 인강이었다.

다루는 내용도 그리 많지 않아 금방 들었다.

 

 

목차

0. 운영체제 들어가기

1. 프로세스와 쓰레드

2. CPU 스케줄링

3. 프로세스 동기화

4. 데드락

5. 쉬어가기

6. 메모리

7. 가상메모리

8. 입출력 장치

9. 파일 시스템

 

전체 44개의 짧은 강의들로 총 3시간 22분이면 완강을 할 수 있다.

비유도 적당하고 영상의 구성도 좋았다.

 

완강 후 전에 정리했던 혼자공부하는 컴퓨터 구조 + 운영체제를 다시 정리했다.

이제야 긴가민가 헷갈리던 개념들이 제 자리로 찾아간 느낌

 

 

컴퓨터 공학 기초를 처음 공부하는 사람들에게도, 기초가 부족해 공부를 다시하고 싶은 사람에게도 추천할 만한 인강이었다.

 


💎 정리한 부분

하드웨어



 

 

폰노이만 구조 = 프로그램 내장 방식

: CPU - 시스템 버스 - 메모리 구조

 

💡 다른 프로그램을 실행할 때 마다 전선을 재배치할 필요가 없어짐

  

✳️ 컴퓨터 부팅 과정

1. ROM에 저장된 바이오스 실행

2. 바이오스는 주요 하드웨어에 이상이 없는지 체크 ⇒ CPU / RAM / 하드디스크 / 키보드 / 마우스 등

3. 하드디스크의 부트로더 메모리로 가져와 실행 ⇒ 운영체제 여러 개면 선택 실행 가능

4. 프로그램 실행되면 메모리에 올려 운영체제가 관리

 

 

CPU

: 중앙 처리 장치 ⇒ 메모리에 저장된 명령어를 읽어 해석하고 실행

 

 

✳️ CPU 작동과정

1. 제어장치가 명령어 읽기 위해 메모리에 <메모리 읽기> 제어 신호 보냄

2. 메모리는 명령어를 CPU에 전달하고 레지스터에 저장

3. 제어장치는 명령어 해석하고 실행에 필요한 데이터를 읽기 위해 메모리에 <메모리 읽기> 제어 신호 보냄

4. 메모리는 데이터를 CPU에 전달하고 레지스터에 저장

5. ALU는 데이터 읽어와 연산 수행하고 결과를 레지스터에 저장

 

 

✳️ CPU 스케줄링

: 운영체제가 모든 프로세스에게 CPU를 할당/해제 하는 것

⇒ 다중 큐 (준비 큐 / 대기 큐)

 

알고리즘

- FIFO 선입선출

      - 비선점 스케줄링

      - 단점) 평균 응답시간 길어질 수 있음

- SJF 최단작업우선

      - 비선점 스케줄링

      - 단점) 무기한 연기 현상 발생 가능

- RR 라운드로빈

      - 선점형 스케줄링

      - 정해진 타임 슬라이스만큼 시간 돌며 CPU 사용

- MLFQ 다단계 피드백 큐 : 어떤 프로세스의 CPU 이용 시간이 길면 낮은 우선순위 큐로 이동시키고 낮은 우선순위 큐에서 너무 오래 기다리는 프로세스를 높은 우선순위 큐로 이동시킬 수 있는 알고리즘

      -  현대 가장 일반적인 방식

      - 프로세스들이 큐 사이를 이동할 수 있음

 

 

 

가상메모리

: 메인 메모리와 디스크를 활용하는 메모리 관리 기술

 

✳️ 등장 배경

1. 메모리 부족 문제

2. 멀티태스킹과 다중 프로세스 발전

3. 프로그램의 크기 증가

 

 

✳️ 동작 방식 

1. 프로그램 실행되면 프로그램의 코드와 데이터는 메인 메모리에 로드

2. 전체 메모리가 로드되지 않고 꼭 필요한 부분만 로드되고 나머지는 디스크에 저장

CPU, 운영체제, 메모리 관리자에 의해 동작

 

😒 크롬 실행하는 상황
메인 메모리 : 현재 활성화된 탭의 데이터 저장
디스크 : 이전 페이지, 다른 메뉴 등 덜 활성화된 데이터 저장

 

 

 

스프트웨어

 

운영체제

: 소프트웨어와 하드웨어 사이에서 프로그램에 필요한 자원을 할당하고 실행을 돕는 프로그램 ⇒ 하드웨어 조작을 컴퓨터에게 맡김

 

✳️ 커널

: 운영체제의 핵심

 

역할

- 하드웨어-소프트웨어 간의 중개 역할

- 사용자의 접근

      - CLI

      - GUI

- 프로그램의 접근 ⇒ 자원에 접근하기 위해 운영체제에 도움 요청

      - 이중모드 : CPU가 명령어를 실행하는 모드 (사용자 모드 / 커널 모드)

      -  시스템 콜 : 운영체제 서비스를 제공받기 위한 요청

- 하드웨어의 접근 

      - 드라이버

 

 

프로그램

: 명령문의 집합체 .exe

 

✳️ 프로세스

: 실행 중인 프로그램 ⇒ 하드디스크에 저장된 프로그램이 메모리에 올라갔을 때

 

PCB (Process Control Block)

: 운영체제가 각 프로세스에 대해 관리하는 데이터 구조

⇒ 연결 리스트 구조

 

 

프로세스 상태

- 생성 New : 메모리에 프로그램 적재 요청

- 준비 Ready : CPU 사용을 위해 대기하는 상태 대부분의 프로세스 상태 

- 실행 Running : CPU 개수만큼 할당받아 부여된 시간만큼 실행

- 대기 Waiting : 프로세스가 입출력 요청하면 완료될 때까지 기다림

- 완료 Terminated : 사용한 데이터를 메모리에서 제거

 

 

구조

- 코드 (ReadOnly)

- 데이터

- 스택 : 데이터를 일시적으로 저장하는 공간

- 힙 : 런타임시 프로그래머가 할당할 수 있는 메모리 공간

 

 

✳️ 쓰레드

: 프로세스 내에서 실행되는 실행 단위 ⇒ 프로세스 구성 실행의 흐름 단위

 

TCB 

: 한 프로세스 안에 여러개의 쓰레드를 관리하기 위한 구조

 

장단점

- 안정성이 프로세스에 비해 떨어짐

- 속도와 자원 사용률이 쓰레드가 좋음

      - 오버헤드 적음

- 프로세스 동기화 문제가 발생

 

 

✳️ 프로세스 동기화 문제

공유자원

: 여러 프로세스/쓰레드가 공동으로 접근할 수 있는 변수나 파일

 

임계구역

: 여러 프로세스/쓰레드가 공동으로 사용하면 안되는 공유 자원의 일부 영역

 

 

 

 


출처

 

https://www.inflearn.com/course/%EB%B9%84%EC%A0%84%EA%B3%B5%EC%9E%90-%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C

 

그림으로 쉽게 배우는 운영체제 강의 | 감자 - 인프런

감자 | 이 강의를 통해 모든 개발자들이 필수로 알아야하는 운영체제의 원리를 알 수 있습니다., [사진] 개발자의 필수 지식 운영체제를 배워서뿌리 깊은 나무가 되어 봐요 🌳 강의 주제 📖 [임

www.inflearn.com

https://product.kyobobook.co.kr/detail/S000061584886

 

혼자 공부하는 컴퓨터 구조+운영체제 | 강민철 - 교보문고

혼자 공부하는 컴퓨터 구조+운영체제 | 혼자 해도 충분합니다! 1:1 과외하듯 배우는 IT 지식 입문서 42명의 베타리더 검증으로, ‘함께 만든’ 입문자 맞춤형 도서이 책은 독학으로 컴퓨터 구조와

product.kyobobook.co.kr

 

반응형

댓글