/////
Search
📝

1주차

운영체제란?

User Application(Software)과 하드웨어(Hardware) 사이 중재 역할
응용 프로그램(Application)을 위한 기반 제공

컴퓨터 자원 관리

왜 컴퓨터 자원을 관리하나요
프로세서(CPU or GPU)가 처리할 작업 할당프로그램의 프로세서 사용 제어
응용 프로그램 동작을 위해선, 컴퓨팅 자원(Resource)이 필요

편리성과 효율성

편리성 | 사용자(소프트웨어)와 컴퓨터(하드웨어) 간의 상호작용이 가능한 인터페이스 제공
효율성 | 시스템 성능이 향상

제어서비스 향상

입출력 장치 등의 동작 제어
시스템 오류 방지

구성

User Space : 사용자 공간
사람이 무언가 할 여지가 있음
운영체제의 핵심 부분 | Kernel Space : 커널 공간
코어부분이라 정말 웬만한 거 아닌 이상은 사람이 건드릴 일 없음

커널(Kernel)

역할 | 운영체제의 핵심부분
자원 배분, 작업관리, 메모리 제어, 시스템 콜 등등..

Multiprocessor

하드웨어 내용을 잠깐 복습

Processor

기본 | 한번에 하나의 작업 처리
여러 개의 프로그램을 다룰 수는 있음 But 요청에 대한 처리는 하나씩 수행
처리 계산량이 증가시, 속도 다운
메모리, 주변 장치와 버스 공유
레지스터
프로세서 내부의 메모리
가장 빠름
하나의 프로세스에 여러 일(Context switching)(병렬 처리)이 있다면, 멀티프로세서
하나의 프로세스에 여러 일이 있다면, 멀티 스레드
프로세스 별로 메모리 할당
스레드는 메모리 공유

Core

단위작업을 처리할 수 있는 유닛
싱글코어
1개의 CPU에 1개 코어
멀티코어
2개 이상의 코어
Thread
코어가 할 수 있는 작업단위

OS가 하는 일

편리성, 효율성, 관리, 시스템 보호

OS 정의

기능의 확대, 소형화, 다양한 용도
용도가 다양해짐으로써 중요해짐

혼자 구글링한 내용 정리

프로세스? 프로세서? 프로그램?

Processor (프로세서)는, 하드웨어적인 측면에서 컴퓨터 내에서 프로그램을 수행하는 하드웨어 유닛 즉, 중앙처리장치(Central Processing Unit)를 뜻합니다 → 폰노이만 아키텍쳐에 의해 만들어졌다면 적어도 하나 이상의 ALU (Arithmetic Logic Unit)와 처리 레지스터(Register)를 내장하고 있어야 합니다
프로세스(Process)는, 말 그대로 절차(과정) 입니다. 과정이라는건, 결국 스스로 무언가를 처리하지 못합니다. 프로세스를 특정 목적을 수행하기 위해 나열된 작업의 목록이라고 생각하여야 합니다
그렇다면, 프로세스는 프로그램과 같은 말처럼 느껴지는데요. 왜냐면 프로그램이라는건, 컴퓨터가 프로그래밍 언어로 작성된 소스코드를 수행하는 과정일 뿐이기 때문입니다. 그럼 프로세스와 프로그램은 무슨 차이를 가지고 있을까요?
작업의 과정이 파일로 정리된 경우엔, 프로그램 메모리에 적재되어서 실행중이거나 대기상태인 경우엔, 프로세스 즉, 프로세스는 메모리에 적재되어 프로세서에 의해 실행중인 프로그램(프로세스 ≥ 프로그램)
CPU입장에선, 프로세스는 파일로 저장되어있던 프로그램이 (디스크로부터) 메모리로 읽어들여진, 장소와 포맷만 바뀐, 실행되는 것에 불과하다라는 게 핵심인 것 입니다. 프로세스는 그저 실행과정과 실행시 참조할 데이터를 메모리(RAM)에 올려둔 것에 불과하다는 소리입니다. 프로세스는 프로세서가 실행할 명령어와 데이터목록이 파일에서 메모리로 장소만 이동한 것에 지나지 않는다는 것이다 이 말입니다…!!!