안녕하세요!
오늘도 어김없이 왔습니다ㅋㅋ
주말 잘 보내고 계신가요?
오늘은 운영체제(OS), 프로세스(Process)에 대해서 알아볼까요?
운영체제(Operating System)
: 사용자가 컴퓨터를 쉽게 다루게 해주는 인터페이스
사전적 의미 말고 좀 더 쉽게!
'응용 프로그램과 하드웨어 사이의 중재자 역할' 입니다.
- 과거 : 하드웨어 -> 사용자
- 현재 : 하드웨어 -> 운영체제 -> 응용 프로그램 -> 사용자
운영체제 종류
- Windows
- Linux
- Unix
- Dos
등이 있습니다.
운영체제가 하는 일이 뭐냐구요?
지금 알려드릴게요~
운영체제 역할
1. 시스템 하드웨어 관리
: 사용자 프로그램의 오류나 잘못된 자원 사용을 감시
입출력 장치 등의 자원에 대한 연산과 제어를 관리
ex) 사용자가 과도한 시스템 메모리를 사용하려하거나, 뻘짓했을 때 죽여버리는 것(중재, 통제)
2. 가상 시스템 서비스 제공
: 사용자에게 컴퓨터의 프로그램을 쉽고 효율적으로 실행할 수 있는 환경을 제공
ex) 실제로는 0,1 밖에 없는데 어떤 공간(가상의 공간)을 제공해주는 것 같은 느낌적인 느낌!
3. 자원 관리
: 컴퓨터 시스템 하드웨어 및 소프트웨어 자원을 여러 사용자간에 효율적으로 할당, 관리, 보호
1) 프로세스 관리
2) 주기억장치 관리
3) 파일 관리
운영체제는 이런 역할을 해요!
그럼 프로세스는 무엇이냐?
프로세스(Process)
: 프로그램이 살아서 메모리에 데이터가 올라가고 있는 상태
주기억장치로 0,1이 올라오는 상태
프로세스는
생성 -> 대기 -> 준비 ↔ 실행 -> 종료
이런 과정인데,
대기 -> 준비 ↔ 실행
이 과정을 반복하게 됩니다!
프로세스 안에도 여러가지 작업 방식이 있습니다.
프로세스 스케줄링
1) FCFS(Fist com Fist Served)
: 준비 상태에서 먼저 오는 프로세스를 먼저 처리시키는 알고리즘
ex) 은행에서 먼저 오는 사람부터 처리해주죠?
2) SJF(Shortes Job First)
: 실행 시간이 가장 짧은 프로세스에게 CPU 할당
평균 대기시간이 가장 적은 알고리즘
3) Round Robin Scheduling
: 시분할 시스템을 위해 고안된 방식
각 프로세스는 시간 할당량 동안만 실행
완료되지 않으면 다음 프로세스에게 CPU를 넘겨주고 준비상태 큐의 가장 뒤로 배치
오버헤드 자주 발생
※ 오버헤드 : 프로그램을 실행시키는데 그 주변의 작업이 더 큰 것
4) Priority Based Scheduling
: 프로세스 마다 우선순위 부여
5) Multi Queue Scheduling
: 준비상태 큐 마다 다른 스케줄링 기법 사용
다른 준비 상태 큐로 이동 불가
컴퓨터 안에는 이렇게 많은 작업들이 있습니다.
저도 컴퓨터가 이렇게 똑똑한지 공부하면서 알아가고 있어요ㅋㅋ
얼마나 많은 도움이 되는지 모르겠지만 제가 알고있는 건 공유하고 싶습니다!
모두 포기하지 말고 도전해봐요~
남은 주말 알차게 보내시고 맛저하세요^.^
뿅!
'개애발 > 컴퓨터' 카테고리의 다른 글
구조구조 자료구조 자료구조! (0) | 2017.01.15 |
---|---|
2진수가 뭐지? 2의 보수가 뭐야? (0) | 2017.01.13 |
비 전공자가 컴퓨터를 알고싶으면 역사부터? (0) | 2017.01.12 |
Git 이 뭔지 궁금해? 궁금해! (0) | 2017.01.11 |