CS/운영체제 4

CH4) Threads

1. Thread 1. Thread의 개념 - 실행의 가장 작은 단위 - stack과 register는 분리해서 가짐 : thread마다 독립적으로 실행 흐름을 갖기 위해서 - 메모리는 공유하고 있어서 process간 통신이 많은 경우 유리한 구조 2. Thread를 사용하는 이유 1) 병렬성을 높일 때 효율적 - process 생성은 memory to memory copy라서 thread 생성이 더 빠르고, 가벼워서 많이 생성 가능 - 처리 가능한 동시 접속자 수 증가 2) 자원을 효율적으로 사용 : thread는 process의 메모리 안에서 해결 3) IPC를 사용하지 않고 data 공유 가능 2. Multicore Programming 1. 개념 - core 1개에 thread 1개 mapping..

CS/운영체제 2021.09.12

CH3) Process

1. Process란? 1. process의 개념 : 프로그램이 메모리에 올라가서 수행 중인 상태, 프로그램의 instance 2. process가 필요한 이유 진행되는 상태를 표현해야 한다. 다른 프로세스들과 번갈아가면서 진행시키기 때문에 상태를 저장해놔야지 다시 수행할 수 있다. Process가 저장하는 대표적인 정보는 다음과 같다. 1) Current instruction(PC) = 다음에 수행해야 하는 instruction의 위치 2) Register 값 3) (가상)메모리 값 4) Parent info = 자신을 생성한 parent를 가리키는 포인터 2. Process의 가상 메모리 1. 가상 메모리의 개념 - 사용할 수 있는 공간이 4GB가 있다고 하면, 그중 극히 일부만 사용한다. - 프로그..

CS/운영체제 2021.09.05

CH2) Operating System Structure

1. OS Interface 1. Command Interpreter - CLI, shell 2. GUI - folder, icons 2. System Calls 1. System Call 이란 - OS 내부 기능을 호출 - kernel에 파일로 구현되어 있음 - 프로그래머들은 system call을 API(Application Programming Interface)들을 통해 간접적으로 사용 - 직접 사용하지 않는 이유? 1) 사용하기 어려움 2) 다른 OS에서도 같은 프로그램을 실행하기 위해서 2. 종류 1) Process control - process load, execute, end, event, allocate memory 2) File 조작 3) Device 조작 4) Information ..

CS/운영체제 2021.09.01

CH1) Introduction

1. OS란? - (user)소프트웨어와 하드웨어 사이에서 연결을 도와주는 소프트웨어 - 하드웨어를 관리하는 소프트웨어 - kernel + system programs으로 구성되지만, 여기서 핵심은 "KERNEL" *system program : 운영체제를 설치하면 메모장, 날씨 프로그램 등이 기본으로 설치되어 있음 장점 - 개발자가 사용하기 쉽게 인터페이스(system call)을 제공 - hardware를 효율적으로 쓸 수 있게 해준다. ex) 자원 분배(메모리 등, 충돌나는 요청 처리), 자원 보호 2. Computer 작동 1. Start-up : 시작하기 1) bootstrap program이 OS를 실행 - ROM 혹은 EEROM에 저장되어 있는 프로그램 - OS의 kernel을 load & ..

CS/운영체제 2021.08.31