Starbucks Caramel Frappuccino
본문 바로가기
  • 그래 그렇게 조금씩
Computer Science/운영체제

1. 운영체제 intro

by Toughie 2023. 8. 27.

🖥️ 운영체제 🖥️ 

 

 

운영체제는 현존 프로그램 중 규모가 가장 큰 프로그램 중 하나이다. (iOS만 봐도 용량이...)

운영체제가 제공하는 기능은 다양하지만, 가장 핵심적인 서비스는 존재한다. (커널이 담당함)

ex. 자원에 접근하고 조작하는 기능, 프로그램이 올바르고 안전하게 실행되게 하는 기능.. 

운영체제에는 속하지만 커널에는 속하지 않는 기능?

- 유저 인터페이스(UI) GUI 혹은 커맨드라인 인터페이스는 사용자와 컴퓨터 간의 통로일 뿐 운영체제의 핵심 기능(커널)은 아님. (충격)

 

이중모드와 시스템 호출

유저가 실행하는 프로그램(메모장 등)은 자원(CPU, 메모리 등)에 직접 접근할 수 있을까? -> No 위험하다. 운영체제가 중간에서 해줌.

슈퍼바이저 플래그를 통해 커널모드인 경우 , 사용자 모드인 경우에 따라 명령어 실행 여부를 구분함.

그럼 언제 커널모드가 되는가?

메모리 사용량을 보면 항상 운영체제가 잡아먹는 영역이 있는게 이런 이유임(커널 영역)
만약 하드디스크에 접근이 필요하다면.. 


운영체제의 핵심 서비스

1. 프로세스 관리

프로세스 == 메모리에 적재돼서 실행 중인 프로그램

수많은 프로세스들의 동시에 실행됨.(아주 빠르게 번갈아 가며 실행됨)

관리 방법 - 프로세스와 스레드, 프로세스 동기화, 교착상태 해결

 

2. 자원 접근 및 할당

CPU - CPU 스케쥴링( 어떤 프로세스를 먼저, 얼마나 오래 실행할까?)

메모리 - (페이징, 스와핑...) 어디에 적재? 전부 다 적재할 필요가 있을까? 메모리보다 큰 경우는?

입출력장치 - 인터럽트 서비스 루틴(운영체제의 커널 영역에 적재되어 있는 코드)

 

3. 파일 시스템 관리

관련된 정보들을 파일이라는 단위로 저장 장치에 보관함.

파일들을 묶어 폴더(디렉토리) 단위로 저장 장치에 보관함.

 

 

 

 

학습 출처: https://www.youtube.com/watch?v=bls_GjX-4U8&list=PLVsNizTWUw7FCS83JhC1vflK8OcLRG0Hl 

'Computer Science > 운영체제' 카테고리의 다른 글

5. CPU 스케줄링  (0) 2023.08.29
4. 스레드  (0) 2023.08.29
3. 프로세스 상태와 계층 구조  (0) 2023.08.28
2. 프로세스 개요  (0) 2023.08.27
0. 운영체제를 왜 공부해야 하는가 🤔 iOS  (0) 2023.07.02