운영체제
-
7. 운영체제의 주요 기능들운영체제/운영체제 정리 2019. 10. 4. 22:08
1. 프로세스 관리 프로세스란? : 메모리에서 실행 중인 프로그램 하드디스크 안에는 프로그램이 굉장히 많지만 메인 메모리까지 올라온 프로그램을 프로세스라고 한다. 주요 기능? -프로세스의 생성, 소멸 -프로세스의 활동 일시 중지, 재개 -프로세스 간 통신 -프로세스 간 동기화 동기화란? 누가 앞서는지 뒤서는지 -교착상태 처리 교착상태란? 프로세스들이 앞서거나 뒤서거나 하다가 꼼짝 못하는 상황이 있을 수 있다. 2. 주기억 장치 관리 -프로세스에게 메모리 공간 할당 -메모리의 어느 부분이 어느 프로세스에게 할당되었는가 추적 및 감시 -프로세스 종료 시 메모리 회수 -메모리 효과적 사용 -가상 메모리 : 물리적 실제 메모리보다 큰 용량을 갖도록 함 3. 파일 관리 트랙 , 섹터로 구성된 디스크를 파일이라는 ..
-
6. mmu란?운영체제/운영체제 정리 2019. 9. 24. 23:40
user1 프로그램이 돌면서 user2 프로그램을 혹은 user3를 침범한다던지 os의 인터럽트 서비스 루틴에 침범 한다던지 하는 일은 막아야 한다. 즉 user1 프로그램은 자신의 영역의 내용만을 cpu가 읽도록 해야 한다. 알다시피 cpu에서 메모리로 주소를 읽기 위해 Address Bus가 간다. Address bus : 몇번지를 읽겠다 몇번지에 해당 내용이 Data Bus를 통해 cpu로 오게 된다. 그렇다면 address bus 를 잘라버리면 될까? address bus를 잘라버린다면 다른 영역에 침범할 수 없겠지만 자신의 영역에도 들어가지 못한다. 그렇다면 어떻게 해야 할까? 검문소를 만들고 user1을 가려고 주소를 낼적에 그 주소가 user1 사이에있는 주소라면 통과 시켜주고 그 외에는 막..
-
5. 인터럽트 기반 시스템이란?운영체제/운영체제 정리 2019. 9. 22. 18:20
인터럽트란 가로채기 란 뜻이다. 현대 운영체제는 인터럽트 기반 시스템이다. 하드디스크 안에는 os, hwp, explorer, game.등 많은 프로그램들이 있다. 전원을 킨다면 ROM안에 boot loader 에 의해 하드디스크를 뒤져서 os를 메인메모리로 가져올 것이다.(부팅). 이 후 운영체제는 메모리에 상주한다. 예) 화면은 아이콘들이 나타나고 바탕화면이 나올 것이다. 이때 마우스를 움직이면 ? 마우스에서 전기 신호가 발생해 CPU에 인터럽트 선에 전기신호가 갈것이다. 그러면 CPU는 지금 하는 일을 중단하고 O/S안에 있는 마우스 인터럽트 서비스 루틴으로 가게된다. 이제 마우스가 문서를 더블클릭 한다면 역시 OS 인터럽트 루틴에 의해 하드디스크를 뒤진후 hwp 문서를 메인 메모리 로 가져 오는 ..
-
4. 다중프로세서 시스템이란?운영체제/운영체제 정리 2019. 9. 22. 17:57
말 그대로 프로세서가 여러개있는 형태이다. cpu 프로세서가 여러개 병렬로 있는 것을 다중프로세서 프로그램 이라고 한다. 왜 만들었을까? 1. 성능이 좋아진다. cpu는 계산을 담당하는데 여러개가 있다면 더 많은 계산을 한번에 계산 할 수 있을 것 2. 비용면에서 좋다. 컴퓨터는 빠를 수록 좋은데 하나의 좋은 cpu보다 여러개의 조금 좋은 cpu가 일방적으로 더 싸고 성능은 비슷하기 때문. 3. 신뢰성에서 좋다. cpu가 하나일떄 고장나면 쓸수없지만 cpu가 여러개라면 하나가 고장나더라도 여전히 작동하기에 신뢰성 측면에서 더 낫다. 당연히 cpu가 하나일때의 스케쥴링과 3개일때의 스케쥴링은 달라야 한다. 따라서 싱글 cpu와 다중 cpu의 운영체제는 다를수 밖에 없고 다중 cpu일때의 운영체제를 다중 프..
-
3. 다중 프로그래밍이란?운영체제/운영체제 정리 2019. 9. 4. 23:45
이전에는 하나의 프로그램만 실행되고 CPU는 시간이 빠르고 다른 I/O 장치 등은 시간이 오래 걸리기에 CPU가 낭비 되는 시간이 많았다. C언어를 USER PROGRAM으로 예를 들면 Cpu가 동작하다가 I/O를 실행하다 다시 CPU를 동작한다. 이때 CPU는 아무 일도 하지 않고 놀게 되는데 이 시간이 매우 아깝게 버려지는 것. 그래서 메모리에 여러 개의 프로그램을 돌리는 식으로 바뀌게 되었다. 처음 USER PROGRAM 1을 실행하다가 I/O를 만나면 바로 USER PROGRAM 2로 내려가게 된다. 어느 순간에도 CPU가 놀지 않도록 즉 USER PROGRAM2가 I/O를 만나면 CPU는 USER PROGRAM 3로 가게 되는 것. 그러면 CPU에 이용율이 굉장히 올라갈 수 있다. 이런 식으로 ..
-
2. 운영체제 커널(kernel)과 shell(쉘)이란?운영체제/운영체제 정리 2019. 9. 3. 00:33
OS는 크게 2가지로 나눌 수가 있는데 컴퓨터에 제일 내부에는 하드웨어가 있다고 했고 그 하드웨어를 관리 해주는 것이 OS ( 운영체제 ) 라고 하였다. 실제로 하드웨어를 관리하는 OS부분을 kernel 커널이라고 부른다. Os에서 제일 중요한 부분은 이 관리 해주는 커널 부분이다. OS에 다른 한가지는 쉘 ( 명령어 해석기 )이다. 즉 shell 껍질인데 os에 바깥부분에 위치하여 사용자로부터 명령을 받아들이고 그 명령을 해석하고 해당되 는 명령을 실행해 주는 것을 쉘이라고 한다. ex ) 바탕화면에 여러개의 아이콘이 모여져 있고 더블클릭하면 실행되는 방식인데 이 프로그램을 실행하라는 명령을 내린다. or 리눅스 명령어 등 커널 : 실제 cpu와 메모리와 디스크 등을 관리한다 쉘 : 사용자가 명령을 내..
-
1. 운영체제란?운영체제/운영체제 정리 2019. 9. 1. 20:10
PC를 구입하면 그 안에 운영체제가 설치되있다. 예를들면 리눅스 , Windos XP, Windos 7, 10 MS- DOS 등이 있겠다. OS가 없다면? 컴퓨터 구조를 보자. ( introduction - 명령어, introduction의 집합 - Program ) 컴퓨터는 전원을 키면 프로세서가 명령을 하나 들고와서 실행하고 그다음 명령 들고와서 실행하는 방식이다. 하지만 운영체제가 없다면 메모리에 있는 값은 휘발성이기에 임의의 값이 들어있고 프로세서가 할수있는 일은 없게 된다. 프로그램을 실행하려면 하드 디스크에 있는 프로그램을 메모리로 들고 와야 하는데 그 일을 운영체제가 해준다. 또 메모리에는 여러 개의 프로세스가 동시에 실행되어야 하는데 그 일 역시 운영체제가 해주게 된다. ( 프로세스 : 메..
-
CPU 동작 LOAD, ADD, STORE운영체제/컴퓨터구조 2019. 8. 17. 18:53
1. 프로그램 카운터 라는 레지스터에 프로그램의 첫번째 명령어가 어느 주소에 들어있는지 넣는다. 운영체제가 프로그램 읽어온 후 여기서 부터가 프로그램이니 CPU에게 알려주는 것 시작점을 던져준 것 2. 메모리 주소 레지스터에 옮겨간다. 그 후 메모리 주소 레지스터에 있는 주소에 접근을 하여 LOAD 10을 가져와서 메모리 데이터 레지스터에 들어간다. ( 제어 장치가 관리 ) 3. 메모리 데이터 레지스터가 읽어온 것은 명령어 이다. 명령어 라는 것을 알고 있으니 명령어 레지스터로 옮겨준다 그 후 프로그램 카운터는 +1 된다. 다음 번에 읽어올 명령어가 존재하는 메모리 주소를 가지고 있어야 하기 때문에 명령어 레지스터 실행전에 가져 오는 것 4. 명령어 레지스터에 있는 명령어가 제어장치로 들어간다. 그 후 ..