일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 신입ios개발자회고
- 제앱소
- SWIFT
- Apple Developer Academy @ POSTECH
- sqoop
- Swift 기능
- 치지직
- OS
- 앱 비교 프로젝트
- 네이버 치지직
- 운영체제
- 네이버 부스트캠프
- apple developer academy 후기
- 소프트웨어분석및설계
- 데이터베이스
- 애플 디벨로퍼 아카데미 21주차 회고
- 개발회고
- swift문법
- Swift 문법
- react
- Swift 디자인패턴
- ObservableObject
- StateObject
- 숭실대
- 개발자 회고
- iOS 개발 오류
- global soop
- 애플 디벨로퍼 아카데미
- 애플 아카데미 후기
- 애플 디벨로퍼 아카데미 후기
- Today
- Total
목록대학 전공 공부/운영체제 (13)
사과하는 제라스

단일 Bus 구조 Bus: CPU, RAM, I/O 장치 간 데이터가 전송되는 통로 ex) Data Bus, Address Bus 그렇다면... 단일 Bus 구조란...? - 하나의 시스템 버스에 여러가지 모듈이 연결되어 있는 형태. - CPU, Memory, I/O 속도가 비슷했던 초창기에 발생 but 속도 격차가 증가하면서 '병목 현상'이 발생하는 문제가 생기기 시작함. 병목 현상 : 같은 버스에 연결된 디바이스들 사이의 속도 차이로 발생하는 현상으로, 빠른 디바이스가 처리하는 양 만큼을 느린 디바이스가 처리하지 못하여 전체 시스템 속도가 느린 디바이스의 속도로 제한되는 현상. - 주로 CPU> Memory >> I/O로 속도의 격차가 커짐. 속도: CPU > 메모리 > Disk > Network >..

OS가 하는 일 - Process 관리 - 여러가지 프로그램들을 실행하기 위해서 프로세스를 만들고 그 안에 유저가 원하는 응용 프로그램을 실행 - Memory 관리 - 각 프로세스가 사용하는 메모리 관리 - File 관리 - 각 프로세스가 사용하는 파일 관리 - I/O System 관리 - 각 프로세스가 사용하는 I/O 시스템 관리 - Networking - 네트워크를 사용하는 프로그램이 많아지면서 이를 관리해야 하는 부분도 커짐. - Security - 더 안전한 실행환경을 위한 연구 증가. 컴파일러(Compiler) : 사람이 이해 가능한 PL로 작성된 Source Code -> CPU가 이해할 수 있는 기계어인 Object 파일로 변환 (정확히는 Source Code를 Compiler를 통해 ass..

System Structure 운영체제는 규모가 매우 크고 복잡한 SW이다. ∴ 설계 시 'SW 구조'를 신중히 고려 필요. 좋은 설계 시... 1. 개발 시 편리함.(Develop) 2. 수정 및 디버깅 easy.(Modify&Debug) 3. 유지 보수가 쉬움.(Maintain) 4. 확장성이 좋아짐.(Extend) OS의 Design Priciple(디자인 원칙) 1. Policy : OS가 무엇이 되게 할 것인가. 2. Mechanism: 어떻게 그것을 제공할 것인가. -> 이렇게 Policy와 Mechanism을 분리함으로서 OS 설계를 보다 모듈화할 수 있음. OS 설계를 위한 방법 1. Layering : OS 설계의 복잡도를 낮추기 위한 방안 - 각 Layer는 Well-defined 함수..

1. 컴퓨터의 기원 - Compute + -er => 2차 세계대전(암호 해석, 미사일 탄도 분석, 물리 계산 등) 1) 1950년대 초반 매우 원시적임, 1bit 단위로 입력되어 실행 2) 1950년대 중반 모든 프로그램이 기계어로 쓰여짐, 아직 PL, OS도 존재하지 않음, 영구적인 저장장치 없음(매번 프로그램 재입력) 3) 1960년대 초반 펀치카드 등장, 프로그래밍한 카드로 컴퓨터 구동 2. 일괄처리(Batch) - 일단 시작한 job이 끝나야 다음 job이 수행됨. - 결과를 받기까지 중간에 유저 인터랙션 불가능함(= 중간에 개입이 안됨.) - 사람이 Job을 스케쥴링함.(∵OS가 없기 때문에) - CPU가 빈번히 IDLE 상태(프로세스가 실행되고 있지 않은 상태)로 전환됨 3. Automati..

1. 운영체제란 무엇인가? 2가지! 1) HW를 손쉽게, 효율적으로 사용할 수 있는 Abstraction(추상화)를 제공함. - 만든 프로그램은 CPU 위에서 실행이 됨. - OS는 프로그램을 실행하기 위해 '프로세스'라는 Abstraction을 제공함. - OS는 각 '프로세스'에 '가상 메모리'를 제공해주어 CPU 위에서 기계어로 실행되도록 도움. - 각 프로세스에 가상 메모리 공간을 제공하여 Physical Memory를 쉽게 접근 및 사용 가능. - 프로그램을 파일 형태로, 물리적인 형태로 저장 시 하드디스크에 파일 시스템을 통해서 File형태로 저장 가능. - 네트워크를 사용하는 프로그램의 경우, 데이터를 패킷에 넣어서 전달하는데 이때 '포트'를 사용하여 네트워크를 통해 전달 가능. 2) 자원의..