일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 영상처리
- python
- C언어
- 프로그래밍
- OpenCV
- 시스템프로그래밍
- 학습
- 리눅스
- C++
- 백준
- 운영체제
- Windows 10
- 백준알고리즘
- 회귀
- 턱걸이
- 쉘
- 공부
- Windows10
- 알고리즘
- linux
- 프로세스
- c
- error
- 텐서플로우
- Computer Vision
- CV
- shell
- 코딩
- TensorFlow
- 딥러닝
- Today
- Total
목록운영체제 (13)
줘이리의 인생적기

프로세스 상태 프로세스 생성(new) : 프로세스를 생성 실행 가능 상태(ready state) : CPU에서 실행 가능 상태(실행 대기 상태) 실행 중(running) : CPU에서 실행 중인 상태 대기 상태(block state) : 특정 이벤트 발생 대기 상태 종료(exit) : 프로세스 종료 상태 선점형 스케쥴러 하나의 프로세스가 다른 프로세스로 교체 가능한 스케쥴러 스케쥴러가 running state인 프로세스를 ready state로 보내고 ready state 프로세스를 running state로 교체 가능하다 비선점형 스케쥴러 하나의 프로세스가 끝날 때까지 다른 프로세스로 교체 불가능한 스케쥴러 프로세스가 자발적으로 block state 혹은 exit 상태일 때만 다른 프로세스로 교체 가능하다

프로세스란? 메모리에 올려져서 실행중인 프로그램을 프로세스라고 한다. 응용 프로그램은 여러개의 프로세스로 이루어졌다. 프로세스 실행을 관리하는 스케쥴러가 있는데 스케쥴러의 알고리즘에 대해 알아보겠다. 1. FIFO 스케쥴링 알고리즘(배치처리시스템) CPU를 처음부터 끝까지 사용하며, 첫번째로 실행되는 프로세스부터 순차적으로 처리하는 알고리즘 2. 최단 작업 우선(Shortest Job First) 스케쥴링 알고리즘 가장 프로세스 실행시간이 짧은 프로세스부터 먼저 실행시키는 알고리즘 3. 우선순위 기반(priority-based) 스케쥴링 알고리즘 우선순위가 높은 프로세스부터 처리하는 알고리즘 - 정적 우선순위 : 프로세스마다 우선순위를 미리 지정 - 동적 우선순위 : 스케쥴러가 상황에 따라 우선순위를 변..

1. 배치 처리 시스템 batch processing이라고 부르며, 프로그램 실행 요청 순서에 따라 순차적으로 프로그램을 실행하는 방식 완료될 때까지 기다려야 해서 다른 프로그램을 실행하는데 많은 시간을 기다려야 한다. 2. 시분할 시스템 다중 사용자 지원을 위해 컴퓨터 응답 시간을 최소화하는 시스템 시간 별로 끊어 실행한다. 3. 멀티 태스킹 단일 CPU에서 여러 응용 프로그램이 동시에 실행되는 것처럼 보이도록 하는 시스템. 10~20ms 단위로도 실행 응용프로그램이 바뀌어 사용자에게는 동시 실행처럼 보임. 4. 멀티 프로세싱 여러 CPU에 하나의 프로그램을 병렬로 실행시키는 시스템 5. 멀티프로그래밍 응용 프로그램은 CPU를 온전히 쓰기보다, 다른 작업을 중간에 필요로 하는 경우가 많다. 최대한 CP..

CPU protection rings - 사용자 모드(ring 3) : 응용프로그램이 사용 - 커널 모드(ring 0) : OS가 사용 운영체제는 시스템 콜을 제공한다. 프로그래밍 언어별로 운영체제 기능을 활용하기 위해 시스템 콜을 기반으로 API를 제공한다. 응용프로그램은 운영체제 기능 필요시에 해당 API를 사용하여 프로그램을 작성한다. 운영체제 기능 API를 호출하면 시스템콜이 호출되며, 사용자모드에서 커널모드로 변경된다. 운영체제 내부에서 해당명령이 실행되고, 다시 응용프로그램으로 돌아가 사용자모드로 변경된다.

운영체제 : Operation System(OS) 대표적인 운영체제 : windows OS, UNIX, Mac OS 운영체제 역할1 : System resource 관리 - System resource는 컴퓨터 하드웨어라고도 한다. - 종류 : CPU, Memory, I/O devices, SSD, HDD 운영체제 역할2 : user와 computer간의 커뮤니케이션 지원 운영체제 역할3 : 컴퓨터 하드웨어와 프로그램을 제어 운영체제는 사용자 인터페이스를 제공한다. - 쉘 : 사용자가 운영체제 기능과 서비스를 사용할 수 있도록 인터페이스를 제공하는 프로그램 운영체제는 응용프로그램을 위한 인터페이스도 제공한다. - Library - API 운영체제는 응용프로그램이 운영체제 기능을 요청하기 위해 시스템콜을 ..