일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 알고리즘
- 백준
- 멋쟁이사자차럼
- 프로그래머스
- JPA
- 더티체킹
- 백엔드 스쿨3기
- BFS
- 올리브영 고객센터
- 영속성
- 시소 짝꿍
- 인프런
- 스프링 입문을 위한 자바 객체 지향의 원리와 이해
- 김영한
- 조회수중복
- 전적 검색
- 자바
- 포트 죽이는법
- 자바ORM표준JPA프로그래밍
- 테크잇
- 최주호
- 인텔리제이 에러
- 스프링부트
- already use
- 엔에첸
- 리코쳇로봇
- 카카오2023신입공채
- DFS
- java
- 라이엇 API
- Today
- Total
My Blog
운영체제란? 본문
프로그램을 여러개 실행하지만, 이 프로그램이 하나당 하나의 컴퓨터에서 수행되는 것 같은 환상을 제공하는 것
이렇게 실행하도록 되려면 중간에서 컴퓨터 시스템의 자원을 효율적으로 관리해줘야함.
즉 cpu는 하나가 꽂혀있는데 프로그램이 여러개 실행될 때 프로그램 입장에선 cpu를 독점하고 있는것처럼 착각하게 함.
요즘 cpu는 워낙 빠르기 때문에 실행중인 프로그램들에게 짧은 시간씩 cpu를 번갈아 할당함.
이런 동작이 너무 빠르기 때문에 프로그램은 빠르게 실행되는 것임
메모리 공간 = cpu가 처리를 하기 위해 프로그램 마다 적절히 메모리 공간을 분배해야됨.
운영 체제의 목적
주어진 자원으로 최대한의 성능을 내도록 = 효율성
특정 사용자/프로그램의 지나친 불이익이 발생하지 않도록 = 형평성
컴퓨터에 있는 cpu는 I/O 디바이스에 집적적으로 접근할 수 없음.
그래서 I/O 디바이스에는 자그마한 cpu가 내장되어 있는데, 이 cpu에서 요청을 하고 자신의 메모리에 적재해놓음.
그러면 컴퓨터에 있는 cpu는 가져와서 사용을 함
메모리 관리 = 한정된 메모리르 어떻게 쪼개어 쓰지 ?
디스크 스케줄링 = 디스크에 들어온 요청을 어떤 순서로 처리할까?
디스크는 cpu에 비해 많이 느림. 메모리는 100만배 느림
예를들어 만약 프로그램 A에서 디스크에 '파일을 읽어주세요' 하면 너무 느리기 때문에 cpu는 다음으로 넘어감.
이렇게 디스크에 요청이 많이 생기면 어떤 순서로 처리할까? 라는 것도 생각해 봐야 한다. = 디스크 스케줄링
컴퓨터에 cpu와 I/O cpu,메모리 속도 차이가 많이 난다고 했다.
빠른 CPU와 느린 I/O 장치간 속도차를 어떻게 극복하지 ? = 인터럽트, 캐싱