컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층
운영체제는 동시 사용자/프로그램들이 각각 독자적 컴퓨터에서 수행되는 것 같은 환상
을 제공
즉 실제로는 여러 프로그램이 같이 사용되지만 프로그램입장에서는 혼자만 사용되는 것 같은 환상을 느끼게 해줌 ⇒ 이역할을 해주는 것이 바로
운영체제
이다.
하드웨어를 직접 다루는 복잡한 부분을 운영체제가 대행
운영체제가 자원에 대한 쉐어링을 해주는 것!
이 중요하다.
cpu는 하나지만 하나의 cpu가 번갈아가며 짧게 여러프로그램을 실행시킴으로써 프로그램은 자기 혼자 사용되는 것처럼 행동함.
모든 하드웨어의 관리는 운영체제에 대행을 통해서 이루어진다
무한로딩처럼 무한하게 쓸 경우도 있어서 cpu에서 시간을 정해줘서 그 시간이 지나면 뺏어 올 수 있다.(정해주지 않으면 중간에 운영체제라도 뺏기 힘듬)
cpu쪽과 i/o의 속도차이는 매우 심하게 차이가 나는데 이걸 극복하기 위해 나온 것
💡 캐싱 -중간단계를 두는 것(똑같은 데이터라면 메모리 어디다 저장하고 그 정보를 주는 것)
💡 인터럽트 - 만약 디스크가 새로운 프로그램을 요청을 하면 디스크의 속도는 cpu에 비해 매우 느림⇒ 다운받는데 시간이 오래걸림 ⇒ cpu는 디스크에 요청한 프로그램을 냅두고 다른 프로그램을 실행시킴 ⇒요청한 디스크의 일이 다끝나서 알림을 cpu에 해주는 것 ===인터럽트
예시로 디스크에서 파일을 불러와야 실행시킬 수 있을 경우는 i/o에서 직접가져오는 것이 아니고 i/o디바이스는 옆에 작은 cpu가 붙어있는데 이것을 i/o컨트롤러라고 합니다.
부팅이 된다 ⇒ 메모리에 운영체제가 올라간 것/컴퓨터가 꺼지기 전까지 계속 실행됨
출처
▶︎반효경, 운영체제와 정보기술의 원리의 강의 내용을 듣고 쓰는 정리
책만으로는 정리가 되지 않아 강의를 참고하기로 함/그동안 했던 내용 가져온 것